Exemplo de estruturas:
Código: Selecionar todos
ESTRU_DBF := {}
AADD( ESTRU_DBF, { "IDCODIGO", "N", 6, 0 } )
AADD( ESTRU_DBF, { "NOME" , "C", 45, 0 } )
AADD( ESTRU_DBF, { "ENDERECO", "C", 45, 0 } )
AADD( ESTRU_DBF, { "TELEFONE" , "C", 14, 0 } )
AADD( ESTRU_DBF, { "CIDADE" , "C", 20, 0 } )
AADD( ESTRU_DBF, { "ESTADO" , "C", 2, 0 } )
AADD( ESTRU_DBF, { "CEP" , "C", 9, 0 } )
AADD( ESTRU_DBF, { "OBS" , "C", 255, 0 } )
AADD( ESTRU_DBF, { "TIPO" , "C", 1, 0 } )
IF FILE("CLIENTES.DBF")
DBCREATE( "CLIENTES", ESTRU_DBF )
ENDIF
IF FILE("FORNEC.DBF")
DBCREATE( "FORNEC", ESTRU_DBF )
ENDIF
IF FILE("VENDEDOR.DBF")
DBCREATE( "VENCEDOR", ESTRU_DBF )
ENDIF
No exemplo acima crio os arquivos CLIENTES, FORNECedores e VENDEDORes usando uma mesma estrutura.
Na verdade só saberei qual seu conteudo olhando o
nome do arquivo.
No momento de indexar eu uso(terminologia NTX):
USE CLIENTES
INDEX ON IDCODIGO TO CLIEN001
USE FORNEC
INDEX ON IDCODIGO TO FORNE001
USE VENDEDOR
INDEX ON IDCODIGO TO VENDE001
10 anos depois saberei que CLIEN001, FORNE001 e VENDE001 devem ser indices de um campo de mesmo nome e teor. Não importa se a estrutura recebeu novos e diferentes campos depois, mas os básicos devem ter uma mesma semelhança afim de facilitar a manutenção posterior.
Veja também que a função que cria os arquivos é pequena e se tiver algumas diferenças de campos basta recortar, colar e alterar e criar outro trecho de codigo.
Em relação ao DBedit e Browse os dois tem as mesmas funções com diferença na programação enquanto o DBEdit pode ser manipulado externamente o Browse pode ser reestruturado, mas em suma os dois fazem a mesma coisa, dão browse nos dados, ou seja, browse seria um verbo na lingua informatiquez, tipo:
eu dou um browse,
tu browseas,
eles browseam
Eu zipo,
tuzipas,
eles zipam
Eu mesmo nunca gostei do browse em Clipper, adorava o DBEdit, mas ao passar para Fivewin, não o encontrei e dei de cara com trocentas versões de Browses, mas um ano depois ja sabia como domina-los.