De TXT pra XML é relativamente fácil.
Na prática, o único problema com o DOS é que ele gera um control-Z como final de arquivo sempre, mas pode ser contornado usando as funções fOpen(), fClose(), etc, ou até um programa externo.
XML não é um bicho de 7 cabeças, e se gera TXT já tem a parte mais difícil pronta.
Usando XML já libera qualquer solução existente.
Componentes grátis tem o ACBR e o UNINFE/UNIDANFE.
Destes aqui uso só o Unidanfe pra gerar PDFs (que pode ser usado pra imprimir NFE, CTE, MDFE, carta de correção, etc).
Aproveita estes meses que tem o emissor pra ajudar em testes, e comece a pensar no XML, pra ter opções ilimitadas.
No final acaba sendo mais fácil trabalhar com o XML do que com o TXT, pra resolver problemas e até pra acrescentar "novidades".
Lembre-se que como não vai existir TXT oficial depois, cada solução pode inventar um padrão diferente.
Quanto à comunicação entre o aplicativo e ACBR/UNINFE, é na base de MemoRead() e MemoWrit(), relativamente simples.
É só não ter pressa, porque às vezes uma única letra já causa problema, e se tiver pressa, não vai "enxergar" essa letra.
É fazer uma coisa de cada vez, entender o que está fazendo, testar, e só depois ir pra próxima etapa.
Assim, uma etapa vai sendo mais rápida que a outra, porque já vai saber o que pode acontecer.
Se tentar tudo correndo, tudo de uma vez, pode ter vários "mesmos problemas" pra resolver, e não vai ter tempo de entender.
Não é obrigatório, e não depende disso, mas se achar que pode usar o Harbour pro seu aplicativo pode ajudar.
Senão tudo bem.
Em último caso pode até usar o Harbour pra ajudar a remover o Ctrl-Z do TXT ou XML.
Nada complicado, só isto:
Código: Selecionar todos
PARAMETERS cNomeDoArquivo
hb_MemoWrit( MemoRead( cNomeDoArquivo ) )
Só vai ler o arquivo DOS que tem control-Z, e gravar sem control-Z.
E no Clipper:
Fique tranquilo, faça tranquilo, que dá tudo certo.
Só não deixe pra última hora.
É simples, mas é trabalhoso.
É igual construir uma parede de tijolos.
Gaste bastante tempo nos primeiros tijolos.
O que aprender nesses primeiros tijolos, vai te ajudar e facilitar em todos os outros.
Nos últimos tijolos, vai ter fazendo rápido e de olhos fechados..... rs