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

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
Trazom
Usuário Nível 3
Usuário Nível 3
Mensagens: 277
Registrado em: 14 Ago 2003 01:01
Localização: Maceió/AL

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

Mensagem 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
Imagem

Harbour 3.2 HMG 1.2a NSX
Evandro
Pelo fato de exercitar bem a própria arte,
cada um pretendia ser sapientíssimo também nas
outras coisas de maior importância,
e esse erro obscurecia o seu saber

Platão, Apologia de Sócrates
Ademir
Usuário Nível 3
Usuário Nível 3
Mensagens: 170
Registrado em: 31 Jul 2007 16:28
Localização: Porto Ferreira-SP

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

Mensagem 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.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

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

Mensagem por sygecom »

Ou pode usar tmb. FCreate() , FWrite(), FClose()...
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

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

Mensagem por sygecom »

Outra dica interresante no link abaixo:
viewtopic.php?f=1&t=2144&p=7648
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

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

Mensagem por Maligno »

A montagem do arquivo via impressão é muito mais fácil e intuitiva.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
SandroBelarmino
Usuário Nível 3
Usuário Nível 3
Mensagens: 464
Registrado em: 04 Set 2007 16:11
Localização: Pedreira-SP

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

Mensagem 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.
Alessandro R Belarmino
Clipper 5.2e - Blinker 7 - DBFNTX / DBFCDX
"Quem trabalha muito erra muito, quem trabalha pouco erra pouco, quem não trabalha não erra e quem não erra é promovido !!!!"
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

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

Mensagem por Maligno »

XML é tudo a mesma coisa: texto comum. Não tem erro. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

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

Mensagem 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é+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Responder