Página 1 de 1

como tirar o chr(13) do final de um arquivo txt

Enviado: 05 Dez 2008 17:35
por Trazom
Ola,

estou tentando criar um arquivo .xml pra atender a nf-e, no caso estou usando:
set alte on
set alte to arquivo.xml
&'<xml etc,,,,,,,>' (obs coloquei esse & por nao encontrar o interrogacao no teclado, sorry)

e assim gero as tags necessarias, acontecese que o validador esta acusando um erro no ultimo caractere do arquivo no caso chr(13) ou o caractere que representa o enter

como posso criar o arquivo sem esse caractere no final, visto que nao fui eu que coloquei

Re: como tirar o chr(13) do final de um arquivo txt

Enviado: 05 Dez 2008 18:00
por Ademir
Boa tarde !

Em vez de usar o set alternate, tente gerar o arquivo usando set printer to arquivo.xml, como se fosse imprimir.

Re: como tirar o chr(13) do final de um arquivo txt

Enviado: 05 Dez 2008 18:16
por sygecom
Ou pode usar tmb. FCreate() , FWrite(), FClose()...

Re: como tirar o chr(13) do final de um arquivo txt

Enviado: 05 Dez 2008 18:19
por sygecom
Outra dica interresante no link abaixo:
viewtopic.php?f=1&t=2144&p=7648

Re: como tirar o chr(13) do final de um arquivo txt

Enviado: 05 Dez 2008 19:37
por Maligno
A montagem do arquivo via impressão é muito mais fácil e intuitiva.

Re: como tirar o chr(13) do final de um arquivo txt

Enviado: 08 Dez 2008 07:28
por SandroBelarmino
Eu gero um arquivo xml para o Suframa usando o fcreate(), fwrite() e fclose() e não tenho nenhum problema, tambem deve dar certo para a nf-e.

Abraço.

Re: como tirar o chr(13) do final de um arquivo txt

Enviado: 08 Dez 2008 17:00
por Maligno
XML é tudo a mesma coisa: texto comum. Não tem erro. :)

Re: como tirar o chr(13) do final de um arquivo txt

Enviado: 09 Dez 2008 12:28
por ANDRIL
Caso ainda não tenha conseguido resolver o problema, posto uma função que lê o arquivo de origem e gera um novo arquivo sem chr(13) no final, é ela totalmente adaptavel caso deseje incorporá-la ao seu sistema.

Código: Selecionar todos

/*
 Programador: Anderson Vieira
 Objetivo...: Tirar chr(13) fo final do arquivo

*/
     *--nome do seu arquivo de origem
     arqimggif="SEUARQUIVO.XML"
     totlinhas=filesize("&arqimggif",0)
     hand1=fopen("&arqimggif",0)

     *--vars da funcao
     buffer=space(10000)
     desloca=10000

     *--nome do arquivo intermediario
     tnovo="NOVOARQ.XML"
     hand2=fcreate("&tnovo",0)

     do while .t.
            fread(hand1,@buffer,10000)
            if len(buffer)<=10000
               if asc(right(rtrim(buffer),1))=13 //chr(13)
                  fwrite(hand2,left(buffer,len(rtrim(buffer))-1))
               else
                  fwrite(hand2,buffer)
               endif
            else
               fwrite(hand2,buffer)
            endif
            if desloca>totlinhas
            exit
            endif
     buffer=space(10000)
     desloca=desloca+10000
     enddo
     fclose(hand1)
     fclose(hand2)
Até+