Caros amigos.
Preciso fazer a carga de um arquivo .TXT para a minha DBF e não estou conseguindo. O .TXT tem como delimitadores de campo ; ( ponto e vírgula).
Codifiquei o comando
APPEND FROM arquivo DELIMITED WITH ";"
mas o rersultado na DBF está bagunçada, parece que não está sendo considerado o separador de campos.
Alguém pode me ajudar?
Abraços.
Append from com opção DELIMITED
Moderador: Moderadores
-
gransoft
- Usuário Nível 3

- Mensagens: 321
- Registrado em: 06 Jul 2004 17:48
- Localização: UBERLÂNDIA-MG
- Contato:
APPEND FROM...
ARAGUARI-MG, 2 de setembro de 2004.
Prezado menga,
No arquivo *.txt os campos possuem tamanhos fixos para TODOS os registros, apenas separados pelo ; ?
Se for, crie um dbf com os campos normais incluindo entre eles, um campo tipo "C", tamanho 1, para cada ;, pois é a forma mais rápida.
Se os campos tiverem tamanhos variáveis, você deverá usar a função de baixo nível FREAD, testando o conteúdo de cada byte.
Atenciosamente,
Janis Peters Grants.
http://www.gransoft.com.br
gransoft@zipmail.com.br
Prezado menga,
No arquivo *.txt os campos possuem tamanhos fixos para TODOS os registros, apenas separados pelo ; ?
Se for, crie um dbf com os campos normais incluindo entre eles, um campo tipo "C", tamanho 1, para cada ;, pois é a forma mais rápida.
Se os campos tiverem tamanhos variáveis, você deverá usar a função de baixo nível FREAD, testando o conteúdo de cada byte.
Atenciosamente,
Janis Peters Grants.
http://www.gransoft.com.br
gransoft@zipmail.com.br
- Augusto
- Usuário Nível 3

- Mensagens: 473
- Registrado em: 26 Ago 2003 17:50
- Localização: Maricá/RJ
- Contato:
Somente uma idéia...
Talvez fosse mais rápido substituir. o ponto-e-vírgula por vírgula em qualquer editor de texto (WordPad, p.e.) e depois fazer o APPEND com somente WITH DELI... (o padrão já é vírgula)...
Detalhe... Se o TXT tiver campos de valores... esses campos não podem ter como separador de decimais a "vírgula"... e sim "ponto"... senão... babau... Caso tenha, substitua antes a virgula por ponto e depois ponto-e-virgula por virgula...
Talvez fosse mais rápido substituir. o ponto-e-vírgula por vírgula em qualquer editor de texto (WordPad, p.e.) e depois fazer o APPEND com somente WITH DELI... (o padrão já é vírgula)...
Detalhe... Se o TXT tiver campos de valores... esses campos não podem ter como separador de decimais a "vírgula"... e sim "ponto"... senão... babau... Caso tenha, substitua antes a virgula por ponto e depois ponto-e-virgula por virgula...
:xau Fui...
goulart@provsul.com.br
Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
goulart@provsul.com.br
Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
APEND FROM com opção DELIMITED
Janiis resolvi o problema da seguinte maneira:
1) Criei um arquivo temporário a partir do arquivo de.TXT origem e modificando-o de ";" para "brancos".
FOPEN
FCREATE
FREAD
STRTRAN(cBuffer, ";" , " ")
FWRITE
FCLOSE
2) Criei o arquivo DBF a partir do arquivo texto modificado.
APPEND FROM Arqtemp DELIMITED WITH BLANK
Grato por sua ajuda.
1) Criei um arquivo temporário a partir do arquivo de.TXT origem e modificando-o de ";" para "brancos".
FOPEN
FCREATE
FREAD
STRTRAN(cBuffer, ";" , " ")
FWRITE
FCLOSE
2) Criei o arquivo DBF a partir do arquivo texto modificado.
APPEND FROM Arqtemp DELIMITED WITH BLANK
Grato por sua ajuda.

