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

Código: Selecionar todos

setprc(0, 0)
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).