Arquivo TXT para DIRF

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

locio
Usuário Nível 2
Usuário Nível 2
Mensagens: 98
Registrado em: 27 Out 2006 14:21

Arquivo TXT para DIRF

Mensagem por locio »

Estou gerando um arquivo txt para a DIRF e quando eu tento validar o programa da DIRF da a mensagem:

"Arquivo com tamanho invalido,verifique se possui CRLF(enter) no final de cada linha. Não deverá existir o caractere `1A`(hexa) no final do arquivo."

já tentei usar com os comandos do clipper:

copy to arquivo fields campo sdf

e tambem tentei gerar como "alternate file"

nos dois casos deu a mesma mensagem.

Será que voces podem me ajudar.
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Mensagem por gvc »

Coloque:

set alternate to (arquivo)

while ...
?? <linha de dados>
?
dbskip()
end

set alternate off

ou use o fwrite, lembrando que no final de cada linha gravada, vc deve colocar chr(13) + chr(10)
"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 »

"Arquivo com tamanho invalido,verifique se possui CRLF(enter) no final de cada linha. Não deverá existir o caractere `1A`(hexa) no final do arquivo."
Verificou o arquivo num editor binário pra saber como está o final da linha? A ordem correta é CR (13d ou 0Dh) e LF (10d ou 0Ah). Se não estiver assim, o problema está no seu código mesmo.

Particularmente, em exportação de dados desse tipo, prefiro gravar os dados num DBF temporário e depois gravar registro a registro usando FWrite(), como o colega GVC comentou. É bem fácil de fazer. Nunca usei ALTERNATE.
[]'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
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Gerar TXT desde um DBF

Mensagem por Toledo »

Eu faço aqui igual ao exemplo do GVC, mas com alguns comandos a mais...

Código: Selecionar todos

vARQ:="DIRF.TXT"
SET ALTE TO (vARQ)
SET ALTE ON
SET CONS OFF
DO WHILE !EOF()
  ??CAMPO
  ?
  SKIP
ENDDO
SET ALTE OFF
SET ALTE TO
SET CONS ON
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Responder