Página 1 de 2
Caracter estranho no TXT
Enviado: 26 Ago 2009 16:26
por Darc
Boa tarde à todos!!!
Estou tendo um sério problema e não estou conseguindo solucionar. Através do menu sistema estou gerando um arquivo TXT para exportação da nota fiscal eletrônica para o sistema do Estado. Porém ele esta jogando um caracter estranho (um quadradinho) no início do arquivo. O cliente esta tendo sempre que editar o arquivo e excluir esse caracter para conseguir fazer a exportação com sucesso. Alguém sabe como posso resolver esse problema?
Obrigada.
Darc.
Re: Caracter estranho no TXT
Enviado: 26 Ago 2009 16:56
por lima
Olá
Verifique quando vc está populando o arquivo se na primeira linha se está enviando CHR(13)+CHR(10) antes das informações, esses caracteres são para final de linha.
Espero ter ajudado
Lima
Re: Caracter estranho no TXT
Enviado: 26 Ago 2009 18:06
por Maligno
O par 13/10 não produz nada além de um salto de linha, como você mesmo disse. Nada visível. Esse tal "quadradinho" que se vê é produzido por algum outro caractere. Sugiro ao colega que poste a parte do código que produz essa saída. Fica mais fácil pra analisar.
Re: Caracter estranho no TXT
Enviado: 26 Ago 2009 18:33
por Toledo
Dê uma olhada neste tópico:
viewtopic.php?f=1&t=7914#p44119
Abraços,
Re: Caracter estranho no TXT
Enviado: 27 Ago 2009 14:02
por Darc
Pessoal ainda não consegui resolver o problema!!!
O código é o seguinte:
..
nome_arq := "NF999999.TXT"
SET PRINTER TO &nome_arq
SET DEVICE TO PRINTER
EXPORTA_NF() -> função onde faço a impressão
SET DEVICE TO SCREEN
EXPORTA_NF()
@ 00, 00 SAY "NOTA FISCAL"
@ PROW() +1, 000 SAY "EXPORTACAO"
.
.
.
operacao:= SWPRUNCMD("COPY &nome_arq \NFE",0,"","")
Re: Caracter estranho no TXT
Enviado: 27 Ago 2009 14:14
por lima
O Toledo postou outro tópico bem explicativo sobre este problema. No meu caso (em alguns editores de texto pincipalmente windows) o conjunto 13/10 mostra quadrado como o caracter utilizado para final de arquivo.
Para gerar arquivos de exportação utilizo as funções fcreate, fseek, fwrite, fclose, etc, na minha opinião é mais pratico trabalhar com elas.
Espero que tenha sorte nas proximas postagens
Até +
Lima
Re: Caracter estranho no TXT
Enviado: 27 Ago 2009 14:56
por Darc
Como faço para retirar esse caracter estranho, no bloco de notas aparece um quadradinho e no editor norton aparece ^L, usando o STRTRAN()?
Re: Caracter estranho no TXT
Enviado: 27 Ago 2009 15:03
por Maligno
lima escreveu:No meu caso (em alguns editores de texto pincipalmente windows) o conjunto 13/10 mostra quadrado como o caracter utilizado para final de arquivo.
Jamais! O par 13/10, em arquivos texto padrão DOS (ou Windows), em qualquer editor de texto é sempre salto de linha. Invisível, claro. Você deve estar se confundindo. Aliás, o caracter marcador de fim de texto é o 26, normalmente.
Re: Caracter estranho no TXT
Enviado: 27 Ago 2009 15:08
por Maligno
darc escreveu:Como faço para retirar esse caracter estranho, no bloco de notas aparece um quadradinho e no editor norton aparece ^L, usando o STRTRAN()?
Na tabela ASCII padrão
^L é o caractere 12. Ou seja, um comando EJECT. Se for para remover pelo clipper,
StrTran(<texto>,Chr(12)). Mais fácil seria se você apenas não desse esse EJECT no início da impressão. Por isso que pedi para ver o fonte. Como é no início do texto, imaginei que você tinha embutido algum comando impróprio para esse tipo de texto. Se fosse no final do arquivo, a dica do Toledo (o tal link para outra
thread) ajudaria, pois há situações em que realmente aparece um marcador de fim de texto, conforme os comandos utilizados para gerar a saída. Mas não é o seu caso.

Re: Caracter estranho no TXT
Enviado: 28 Ago 2009 11:33
por gvc
[Maligno]
"Jamais! O par 13/10, ..."
Gostei dessa.
[Darc]
O contador interno de linha deve ser zerado. Já "pastei" por esse mesmo motivo.
Após desviar a saida da tela para relatório/arquivo coloque
Boa sorte. Espero ter ajudado.
Re: Caracter estranho no TXT
Enviado: 28 Ago 2009 11:48
por Maligno
Acredito que, infelizmente, SetPRC(0,0) não vai resolver o problema da colega. O desgramado do "quadradinho" é resultado da emissão de caractere indevido. Como eu disse, é provável que seja o EJECT (^L) mesmo. Logo, ele não será afetado pelo uso dessa função. Até porque, o desalmado está no início do arquivo. Mas certeza mesmo, só depois de ver o código. Se é que a colega já não resolveu a parada.
Re: Caracter estranho no TXT
Enviado: 28 Ago 2009 14:03
por gvc
[Maligno]
Eu entrei nessa tb com alguns relatórios aqui no trabalho.
Como a contagem interna estava com um valor e o relatório usava @ 00,00 say "...", o clipper envia um CHR(12), FF, ^L, salto de página, (sei lá qual nome mais).
Eu não sei se é por não colocar um Eject no final do relatório ou algo parecido, mas usar esse comando resolveu o meu problema.
[Darc]
Aguardamos para saber se já resolveu o problema.
Re: Caracter estranho no TXT
Enviado: 28 Ago 2009 15:58
por Maligno
Isso é novidade pra mim. Nunca vi o Clipper emitir um chr(12) (eject) por sua própria conta. De qualquer forma, não fará mal algum a colega tentar isso também.

Re: Caracter estranho no TXT
Enviado: 28 Ago 2009 16:31
por gvc
Bom, eu tive esse problema e fiquei "batalhando" muito para acertar os sistemas.
Vc imagina o qto os usuários reclamavam do gasto de papel.
Re: Caracter estranho no TXT
Enviado: 01 Set 2009 16:18
por Darc
Boa tarde a todos!!!
Obrigada pela ajuda. Consegui resolver o problema usando o SETPRC(0,0).