Como usar CHR(13) + CHR(10)

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

CDV
Usuário Nível 2
Usuário Nível 2
Mensagens: 91
Registrado em: 30 Ago 2004 10:27

Como usar CHR(13) + CHR(10)

Mensagem 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.
Adalberto
Usuário Nível 3
Usuário Nível 3
Mensagens: 343
Registrado em: 01 Set 2007 01:09
Localização: Santa Cruz de la Sierra - Bolivia

Como Usar CHR(13)

Mensagem 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.
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Mensagem 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.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

MAS SO QUE GERA UM SIMBOLO COMO RESOLVO ISSO ?
Que símbolo?
[]'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!
ABeltrani
Usuário Nível 2
Usuário Nível 2
Mensagens: 54
Registrado em: 09 Nov 2007 10:05
Localização: Porto Ferreira-SP

Mensagem 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
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem 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.
[]'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
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Mensagem 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.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem 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?
[]'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
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Mensagem por gvc »

Mestre Maligno, desculpe o mal entendido.
Eu propus para usar o fwrite para montar o arquivo.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem 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.
[]'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!
Responder