Seja bem vindo ao fórum !
bnobre escreveu:Só que agora surgiu a necessidade de eu converter um software em clipper + DBF para o delphi + MYSQL.
Entendo com isto que com o tempo o programa em Clipper deverá deixar de existir, não é ?
Minha dúvida é a seguinte: ao efetuar testes no programa em clipper, as vezes preciso manipular os dados das tabelas DBF diretamente pelo Database Explorer do delphi
Bom, eu não aconselho que seja feita qualquer escrita no DBF através do programa Delphi, por uma simples razão: você terá que abrir o dbf atraves do BDE não é mesmo ? Isto é, você irá precisar de um driver ODBC o qual não é nativo da linguagem xBase.
sendo que as vezes as mudanças que eu faço só são entendidas pelo programa depois que executo uma opção que existe no mesmo chamada REORGANIZAR ARQUIVOS
Isso ocorre, porque ao alterar o bd, isto é, os dbfs, não está sendo atualizado os arquivos de Ãndices que podem ser os arquivos NTX ou CDX ou IDX ou NSX tudo dependerá do RDD que o Clipper estiver usando. Então para que isso ocorra de forma correta e normal, você deverá abrir cada dbf com seus respectivos arquivos de Ãndices. Não sei como se dá a abertura de dbf com ntx (por exemplo) atarvés de ODBC. Mais uma razão para não escrever nos dbfs através do Delphi. Bom essa é a minha opinião, pode ser que eu esteja errado.
isso ocorre principalmente com os DBFs muito grandes.
Isto irá ocorrer em aquivos dbfs grandes ou não.
Já tive que utilizar outros programas com DBF como base, e todos eles tem essa opção, ou alguma similar a REORGANIZAR ARQUIVOS.
Sim, então a saÃda é re-organizar os arquivos de dados o que torna tudo muito chato, porque todos tem que sair do programa em rede para recompor os Ãndices.
Para que serve exatamente essa opção??? E porque esse programa só reconhece efetivamente tais mudanças após eu executar a mesma???
Bom acho que expliquei já o suficiente para entender. Essa opção no programa Clipper existe como parte de manutenção dos arquivos de dados, assim como teria qualquer outro sistema. Sabemos que numa queda de energia pode vir a corromper os arquivos de Ãndices e dbfs também. Só que a opção de organizar arquivos de dados não recompõe os arquivos dbfs. Estes quando corrompidos terão que ser recriados ou utilizado um aplicativo na tentativa de recuperar algum dado.
Não sei se você sabe, mas já existe uma opção para migrar o Clipper para Harbour que gera em 32 bits e incluso tem biblioteca gráfica que tornariam o programa Clipper em modo GUI (Windows). Ao migrar para Harbour, você tem mais opções, inclusive a possibilidade de inserção de código em ANSI C, como também utilizar outros bancos de dados do tipo relacional como: POSTGRES, SQL, etc. Talvez esta seja uma solução para integrar o que já tem com novos sistemas em outras linguagens.