Enviado: 22 Jun 2007 11:13
Quando tiver um tempo maior, vou isolar um conjunto de funções que fiz pra isso e disponibilizá-lo na seção de códigos fontes.Eolo escreveu:Eu faria como já foi dito acima: ler linha a linha do TXT, isolar cada campo, testar a consistência de cada um (no caso das datas, por ex, confirmar que não tem nenhuma "vazia" ou incorreta), e depois fazer o APPE BLAN e REPL...
É um sub-sistema completo para manipulação de texto. Uso pra tudo: importação, preview de relatórios, etc. Com ele posso abrir, ler, analisar, converter, etc.. de forma automática. Além disso, as linhas são separadas e indexadas. Assim, acesso qualquer uma como se fosse um registro de DBF. Tenho inclusive um controle de áreas, para abrir vários TXTs ao mesmo tempo.
Um exemplo de uso para o caso do Grings:
Código: Selecionar todos
function ImportDat()
local bPreGet := {|s|SubStr(s,15,8)} // um filtro
local cData
local i
txOpen("c:\teste.txt",bPreGet)
*
for i := 1 to txLines()
cData := txGetLine(i) // só virá a data
//
// Neste ponto seria feita a conversão e gravação no DBF
//
next
txClose()