Página 1 de 1

Append from com opção DELIMITED

Enviado: 02 Set 2004 14:54
por menga
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...

Enviado: 02 Set 2004 17:11
por gransoft
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

Enviado: 02 Set 2004 18:15
por Augusto
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...

Enviado: 03 Set 2004 08:39
por menga
Caro Janis,

Os campos no arquivo .TXT um deles tem tamanho variável, de 1 a 5, vc sugere a função FREAD ? Se não for pedir muito, você poderia explicar o funcionamewnto dela.

Grato,

Menga

Enviado: 03 Set 2004 08:42
por menga
Augusto, bom dia.

Vou testar sua sugestão. Vou também ver se consigo transformar todos os ponto e vírgula em vírgula por programa.

Grato,

Menga

APEND FROM com opção DELIMITED

Enviado: 21 Out 2004 10:54
por menga
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.

append from with DELIMITED

Enviado: 21 Out 2004 10:56
por menga
Augusto veja a resposta que enviei ao Janis.

Grato por sua ajuda.

Enviado: 24 Out 2004 13:44
por rochinha
Amiguinho

Não seria o caso de use o SET DELIMITERs para tal tarefa, ex:

SET DELIMITER ON
SET DELIMITERS TO ";"
APPEMD FROM teste.txt
SET DELIMITERS TO
SET DELIMITER OFF

@braços :?)