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.