Clipper On Line • Ver Tópico - Sobre Estrutura do DBF

Sobre Estrutura do DBF

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Sobre Estrutura do DBF

Mensagempor rossine » 20 Set 2018 09:35

Olá,

Tem como verificar se a estrutura atual de um determinado .DBF foi criado pelo clipper ou pelo harbour ?

Obrigado,
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

Sobre Estrutura do DBF

Mensagempor Itamar M. Lins Jr. » 20 Set 2018 12:16

Ola!
Não sei, mas eu criaria um DBF no clipper e o mesmo código, usando harbour e usuaria um editor hexadecimal por exemplo para achar alguma diferença.
Depois eu criaria uma função genérica usando fopen, fseek para procurar essa diferença.
Tem campos novos que o clipper não aceita.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6951
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 507 vezes

Sobre Estrutura do DBF

Mensagempor rossine » 20 Set 2018 13:57

Olá Itamar,

Fiz um exemplo simples com tipos de variáveis existentes em Harbour e Clipper:

request DBFCDX

function MAIN

cls

? rddsetdefault()
rddsetdefault( "DBFCDX" )
? rddsetdefault()

aStr := { { "cCar", "C",   5, 0 }, ;
          { "nNui", "N",  10, 0 }, ;
          { "nNud", "N",  10, 2 }, ;
          { "dDat", "D",   8, 0 }, ;
          { "lLog", "L",   1, 0 } }

dbcreate( "arqtst.dbf", aStr, "DBFCDX" )

return NIL



E os arquivos criados realmente são muito diferentes.
Abri os arquivos criados do Notepad++ e fiz uma conversão do caracteres apresentados de Ansi -> Hexa e veja com são diferentes:

Arquivo criado pelo harbour


0376091420202020C220232020202020
20202020202020202020202020202020
43434152202020202020204320202020
05202020202020202020202020202020
4E4E5549202020202020204E20202020
0A202020202020202020202020202020
4E4E5544202020202020204E20202020
0A022020202020202020202020202020
44444154202020202020204420202020
08202020202020202020202020202020
4C4C4F47202020202020204C20202020
01202020202020202020202020202020
0D201A



Arquivo criado pelo clipper

0312091420202020C220232020202020
20202020202020202020202020202020
434341522020F32594544943DE162020
05200B200B20C25A9E54C62192370B20
4E4E55492020F3259454494EDE162020
0A200B200B20C25A9E54C62192370B20
4E4E55442020F3259454494EDE162020
0A020B200B20C25A9E54C62192370B20
444441542020F32594544944DE162020
08200B200B20C25A9E54C62192370B20
4C4C4F472020F3259454494CDE162020
01200B200B20C25A9E54C62192370B20
0D201A


Diante todas estas diferenças irei recriar todos meus .DBF´s em harbour por questão de segurança.

Obrigado pela dica,
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

Sobre Estrutura do DBF

Mensagempor cnavarro » 25 Set 2018 16:42

La diferencia en los bytes 1 al 3 corresponden a la fecha de creación, no ha de tenerlos en cuenta
Creo que es asi:

76 - 09 - 14 =>
7 * 16 + 6 * 1 = 118 + 1900 = 2018
0 * 16 + 9 * 1 = 9
1 * 16 + 4 * 1 = 20
( 20/09/2018 )

http://www.dbfree.org/webdocs/1-documen ... ations.htm
cnavarro
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 52
Data de registro: 28 Set 2017 14:16
Cidade/Estado: Spain
Curtiu: 3 vezes
Mens.Curtidas: 14 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Bing [Bot], Google [Bot] e 10 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro