Página 1 de 1

Como usar CHR(13) + CHR(10)

Enviado: 11 Mar 2008 09:00
por CDV
Ola pessoal.
Estou tentando gerar um arquivo texto que a cada linha impressa tenho que usar CHR(13) + CHR(10) mas a cada comando desse passa para outra linha mas so que gera um simbolo como resolvo isso ? :'(

Obrigado.

Como Usar CHR(13)

Enviado: 11 Mar 2008 09:32
por Adalberto
Ola CDV,

Tem que gerar um código, ta certo, ¿ou acaso deseja que não apareça tal código?, não tem forma, pois CHR(13) + CHR(10) e um caráter mais.

Enviado: 11 Mar 2008 11:13
por gvc
Vc pode usar:

set alternate to <nome do arquivo>
set alternate on

while !eof()

?? <campo1>, <campo2>, <campo3>
?

dbskip()

end

set alternate off
set alternate to

ou

arq1:= fcreate("arquivo.txt")

while !eof()
fwrite(arq1, <campo1> + ' ' + <campo2> + ' ' + <campo3> + chr(13) + chr10))
dbskip()
end
fclose(arq1)

Espero ter ajudado. Boa sorte.

Enviado: 11 Mar 2008 13:16
por Maligno
MAS SO QUE GERA UM SIMBOLO COMO RESOLVO ISSO ?
Que símbolo?

Enviado: 11 Mar 2008 13:21
por ABeltrani
Boa tarde !

Já me deparei com o problema. Usando o set alternate vai criar um simbolo no final do arquivo. Por exemplo, para gerar arquivos para a cobrança do Bradesco vai dar problema. A solução foi imprimir o arquivo DBF usando SET PRINT TO ARQUIVO.TXT

Enviado: 11 Mar 2008 13:39
por Maligno
Nunca usei ALTERNATE na vida. Eu só gero informações de texto usando FWrite(). Mas se é assim, o tal símbolo deve ser o Chr(26), que é o EOT (End Of Text). No tempo do guaraná com rolha era fácil encontrar editores de texto que inseriam esse caractere, porque um TYPE no DOS pára imediatamente quando o EOT é encontrado, mesmo que ainda exista alguma informação no arquivo.

Enviado: 11 Mar 2008 14:54
por gvc
EOT é o chr(4) (eh! eh! eh!)

O que é colocado no final do texto é o chr(26) - SUB. É o identificador de final de arquivo: CTRL-Z. (lembra dele?)

Use o fwrite para resolver isso.

Enviado: 11 Mar 2008 16:57
por Maligno
Ops! Troquei as bolas. É verdade. É o SUB, e não o EOT, que vai no final do arquivo.
Agora, se for pra usar o FWrite pra remover o desgramado, é melhor já fazer tudo pelas funções de baixo nível, não?

Enviado: 12 Mar 2008 10:27
por gvc
Mestre Maligno, desculpe o mal entendido.
Eu propus para usar o fwrite para montar o arquivo.

Enviado: 12 Mar 2008 11:52
por Maligno
O engano inicial foi meu. Eu que devo me desculpar. Mas realmente eu havia pensado que você havia sugerido usar o FWrite() só pra consertar o problema.

Então, nesse ponto eu concordo: o FWrite(), depois que se pega a prática, até fica mais fácil de trabalhar. É o único modo que eu uso pra gerar arquivos de remessa. E eu ainda estou criando algumas funções de abstração pra fazer o trabalho "sujo" por mim. Vai ficar mais fácil ainda.