Página 1 de 1

como tirar o char(10) do arquivo gerado de dbf para txt

Enviado: 12 Nov 2013 16:53
por juniorcamilo
amigos. quando c gera a partir do dbf para arquivo txt ele gera um caracter na ultima linha..

|9990|41|
|9999|629|

nao da para aparecer aqui mais c abrir em bloco de notas da pra ver.. veja o anexo!

como tirar o char(10) do arquivo gerado de dbf para txt

Enviado: 12 Nov 2013 18:44
por Eolo
Esse caracter (uma seta "->" que é mostrada no bloco de notas), se não me falha a memória, é o chr26, fim de arquivo, que o DBF manda e o SO não usa. Ficam dois...

Tanto que vc pode, no bloco de notas, excluir ele, mandar salvar o arquivo, abrir novamente e vai estar tudo certo, SEM o caracter.

Talvez tenha algum jeito mais fácil, mas uma saída é ler o TXT inteiro (FREAD) e regravar com tamanho -1 (FWRITE).

como tirar o char(10) do arquivo gerado de dbf para txt

Enviado: 12 Nov 2013 18:50
por Eolo
Aliás, no título do post você diz "tirar o chr(10)".
De fato, no final de cada linha, tem um chr(13) e um chr(10), e, no fim do arquivo, o chr(26). Você, então, quer se ver livre do 26, certo?

como tirar o char(10) do arquivo gerado de dbf para txt

Enviado: 12 Nov 2013 21:01
por Toledo
Junior, talvez a função FDelEof() que está na mensagem do nosso amigo JoséQuintas pode ajudar, veja a mensagem abaixo:

Erro: arq txt nao gera CR e LF no final

Abraços,

como tirar o char(10) do arquivo gerado de dbf para txt

Enviado: 12 Nov 2013 22:09
por Pablo César
Permita-me fazer uma ressalva. Na minha opinião, antes de executar a função FDelEof ou até mesmo na própria função, deveria checar se o ultimo caracter é mesmo CHR(10).

como tirar o char(10) do arquivo gerado de dbf para txt

Enviado: 13 Nov 2013 09:01
por Eolo
Pablo,
A precaução procede, eu faria o mesmo, mas note que o problema é com o CHR 26 EOF (e não com o CHR 10).

Junior,
Anexo um dump do arquivo que vc postou:
- no final de cada linha, há um CHR 13 CR-Carriage Return e um CHR 10 LF-Line Feed (fazem a necessária quebra de linha).
- no final do arquivo, aparece o CHR 26 EOF (que é a "seta" que aparece no bloco de notas), que é preciso eliminar.

Aliás, dependendo da destinação do TXT, bastaria o CHR 13. O CHR 10 (quebra automática de linha) pode ser dispensável...

como tirar o char(10) do arquivo gerado de dbf para txt

Enviado: 13 Nov 2013 12:50
por alxsts
Olá!

O tópico Ler e regravar um arquivo TXT com as funções de baixo nível trata deste assunto e mostra como remover bytes do final de um arquivo.

como tirar o char(10) do arquivo gerado de dbf para txt

Enviado: 13 Nov 2013 16:10
por juniorcamilo
opa amigos sim eu não conferi c era o chr(10) ou chr(26), sabia de cabeça que sempre em fim de linha ele atribui o chr(13)+chr(10) por isso da gafe, mas estou corrigindo, vou verificar e posto aqui mais tarde... obrigado...

como tirar o char(10) do arquivo gerado de dbf para txt

Enviado: 13 Nov 2013 16:25
por juniorcamilo
amigos deu certo a solução do amigo JoséQuintas, eu me expressei errado no assunto, mais uma vez obrigado, fica ai mais uma tag de procura no fórum, este assunto ja havia sido citado no fórum,
viewtopic.php?f=1&t=10804&hilit=txt#p61555

obrigado;...