Página 1 de 1

DBF diversos tipos de campos

Enviado: 10 Mai 2018 08:49
por asimoes
hazael escreveu:Eric, creio que não entendi o que isso faz? Gera uns arquivos, para que serve?
Não poderia mostrar o fonte?
Respondendo, vou falar de harbour porque não uso xharbour.

O RDD permite você usar outros tipos além de C, D, N, L, M ( caracter, data, número, lógico e memo )

Exemplo:

Código: Selecionar todos

   aStru := {}
   aAdd( aStru, {"AUTO", "+", 4, 0} )
   aAdd( aStru, {'CODIGO'  , 'C', 4, 0 })
   DbCreate( "testdbf", aStru, "DBFCDX", .T., "MYALIAS" )
Esse exemplo vai criar uma estrutura com 2 campos, o primeiro é auto incremento, ou seja, a cada Dbappend() o campo AUTO receberá um incremento de 1, para isso o tipo será "+" mais.

DBF diversos tipos de campos

Enviado: 10 Mai 2018 09:08
por asimoes
O que eu achei interessante são os tipos varchar100 e varbin100

Código: Selecionar todos

   aStru := {}
   
   aAdd( aStru, {"AUTO",   "+", 4, 0} )
   aAdd( aStru, {"CODIGO", "C", 4, 0} )
   aAdd( aStru, {'VarChar100'    , 'Q', 100, 0 }) 
   aAdd( aStru, {'VarBin100'  , 'VarBinary', 100, 0 })
   DbCreate( "testdbf", aStru, "DBFCDX", .T., "MYALIAS" )
   
   MYALIAS->( DbAppend() )
   MYALIAS->CODIGO := '0001'
   MYALIAS->VarChar100 := 'ALEXANDRE'
   MYALIAS->VarBin100 := 100
   
   MYALIAS->( DbAppend() )
   MYALIAS->CODIGO := '0002'
   MYALIAS->VarChar100 := 'ALEXANDRE SIMOES'
   MYALIAS->VarBin100 := 100
   
   MYALIAS->( DbCommit() )

Neste exemplo o campo AUTO vai incrementando, isso eu achei fantástico, porque pode ser o ID da tabela.

A única limitação que ainda existe é o tamanho de nome de campo que é 10 caracteres.

DBF diversos tipos de campos

Enviado: 10 Mai 2018 10:56
por asimoes
Esse utilitário do Eric é só pra mostrar os tipos possíveis em um dbf