Obs-> Utilizo CDX já compilado em Harbour graças a Deus..rs.rs.rs
Josmar
Eis um exemplo:
Código: Selecionar todos
SET DELETED ON
M->MOSTRA_RESULTADO := .T.
MENSAGEM( "Aguarde abertura de arquivos" )
IF !ABREFOR()
ALERT("NAO CONSIGO ABRIR O CADASTRO")
RETURN .F.
ENDIF
IF !ABREIND()
ALERT("NAO CONSIGO ABRIR O CADASTRO")
RETURN .F.
ENDIF
IF !ABREPAG()
ALERT("NAO CONSIGO ABRIR O CADASTRO")
RETURN .F.
ENDIF
ORDSETFOCUS("APAGAR_6")
SET FILTER TO V3<>0
PRIVATE ME_MO, LANC, COD, RAZ, TIPO, NRO, NF, V1, VENC, HIST, HIST1, PGTO
PRIVATE V2, V3, DATA, OBS, EMISS, ASSINAT, SIT_PAG
COR( "MENU" )
@ LIN_MENU, 00
@ LIN_MENU,01 SAY "Manuten‡„o ³ Cod.Lan‡amento"
JANELA( 03, 02, 21, 77, "Cod.Lan‡amento" )
L_CON := L_SOM; C_CON := C_SOM
@ 05, 04 CLEAR TO 19, 75
@ 05, 04 SAY SUBS( TB_JANELA, 1, 1 ) +;
REPL( SUBS( TB_JANELA, 2, 1 ), 70 ) + SUBS( TB_JANELA, 3, 1 )
@ 06, 04 SAY SUBS( TB_JANELA, 12, 1 )
@ 06, 75 SAY SUBS( TB_JANELA, 4, 1 )
@ 07, 04 SAY SUBS( TB_JANELA, 11, 1 )
@ 07, 75 SAY SUBS( TB_JANELA, 5, 1 )
FOR CONTAR = 8 TO 18
@ CONTAR, 04 SAY SUBS( TB_JANELA, 10, 1 )
@ CONTAR, 75 SAY SUBS( TB_JANELA, 6, 1 )
NEXT
@ 19, 04 SAY SUBS( TB_JANELA, 9, 1 ) +;
REPL( SUBS( TB_JANELA, 8, 1 ), 70 ) + SUBS( TB_JANELA, 7, 1 )
// -> Define as rotinas a serem usadas pelo TBROWSE
ROTI_NAS := { { | X | CARREG14( X ) },;
{ | X | CARGE_14( X ) },;
{ || SALVAR14() } }
GRA_VAR := {}
// -> Define as colunas para o TBROWSE
OB_COLUN := {}
AADD( OB_COLUN, TBCOLUMNNEW( "LANC:", { || TRAN( APAGAR->LANC, "999999" ) } ) )
AADD( OB_COLUN, TBCOLUMNNEW( "CODIGO:", { || TRAN( APAGAR->COD, "99999" ) } ) )
AADD( OB_COLUN, TBCOLUMNNEW( "RAZAO:", { || APAGAR->RAZ } ) )
AADD( OB_COLUN, TBCOLUMNNEW( "TIPO:", { || APAGAR->TIPO } ) )
AADD( OB_COLUN, TBCOLUMNNEW( "NRO.DOC:", { || APAGAR->NRO } ) )
AADD( OB_COLUN, TBCOLUMNNEW( "N.FISCAL:", { || APAGAR->NF } ) )
AADD( OB_COLUN, TBCOLUMNNEW( "VALOR:", { || TRAN( APAGAR->V1, "@E 999999999.99" ) } ) )
AADD( OB_COLUN, TBCOLUMNNEW( "VENC:", { || APAGAR->VENC } ) )
AADD( OB_COLUN, TBCOLUMNNEW( "PAGTO:", { || APAGAR->PGTO } ) )
AADD( OB_COLUN, TBCOLUMNNEW( "V.PAGO:", { || TRAN( APAGAR->V2, "@E 999999999.99" ) } ) )
AADD( OB_COLUN, TBCOLUMNNEW( "SALDO:", { || TRAN( APAGAR->V3, "@E 999999999.99" ) } ) )
// -> Mostra a tela BROWSE e sai retornando o controle ao programa
BRO_WSE( .T. )
M->LANC := SPACE( 6 )
ED_JAN := {}
AADD( ED_JAN, { "Digite o numero do lan‡amento.:", M->LANC, "999999", 6,;
{ | DADOS | M->LANC := DADOS } } )
WHILE .T.
IF EDIT_JAN( ED_JAN ) = .F.
EXIT
ENDIF
SEEK TRIM( M->LANC )
IF EOF()
BEEP()
MENSAGEM( "Dados n„o encontrados", 3 )
LOOP
ENDIF
MENSAGEM( "Posicione sobre o registro desejado e tecle <ENTER>" )
// -> Edita tela BROWSE
BRO_WSE()
ENDDO
SET DELETED ON
RESTSCREEN( LIN_MENU + 1, 00, MAXROW() - 1, MAXCOL(), TELA_PRI )
SET DELETED ON
SET FILTER TO 

