Inserir linha em um .TXT ja existente

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
Gilberto M Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 230
Registrado em: 13 Mar 2007 18:00
Localização: Natal-RN / Parelhas(RN) / Natal(RN)
Contato:

Inserir linha em um .TXT ja existente

Mensagem por Gilberto M Silva »

como faço para inserir uma linha em um arquivo TXT ja existente. ex: criei um arquivo RETORNO.TXT, esse arquivo esta com as informações da LMFC - leitura da memória fiscal completa de 01/05 a 31/05/2011, depois executa-se o comando para gerar a assinatura digital e md5, após gerada tenho que inserir na ultima linha do arq. RETORNO.TXT. como faço isso? pois se usar set print to retorno.txt ele cria um novo arquivo. uso o clipper 5.2
Gilberto[]
A cada conversasão realizada conquistamos mais amigos, isto é um lucro inestimável
Clip5.2 DBFCDX
marcolinosilva@click21.com.br gmarcolinosilva@hotmail.com / Skype:gilberto.marcolino
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Inserir linha em um .TXT ja existente

Mensagem por Maligno »

Uma sugestão em três passos simples: abrir o arquivo (FOpen), mover o ponteiro para o final deste (FSeek) e gravar o conteúdo (FWrite).
[]'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
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Inserir linha em um .TXT ja existente

Mensagem por Jairo Maia »

Olá Gilberto,

Como ambos são ASCII, vc pode também usar o comando Copy do DOS:

Código: Selecionar todos

Copy RETORNO.TXT + ASSINATU.TXT
O conteúdo do segundo arquivo será copiado no final do primeiro.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
Gilberto M Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 230
Registrado em: 13 Mar 2007 18:00
Localização: Natal-RN / Parelhas(RN) / Natal(RN)
Contato:

Inserir linha em um .TXT ja existente

Mensagem por Gilberto M Silva »

Maligno, vlu pela sugestão usei em outra rotina. Jairo show de bola. problema resolvido. :))
Gilberto[]
A cada conversasão realizada conquistamos mais amigos, isto é um lucro inestimável
Clip5.2 DBFCDX
marcolinosilva@click21.com.br gmarcolinosilva@hotmail.com / Skype:gilberto.marcolino
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Inserir linha em um .TXT ja existente

Mensagem por alxsts »

Olá!

Só para enriquecer mais ainda o conteúdo do tópico:
Gilberto M Silva escreveu:se usar set print to retorno.txt ele cria um novo arquivo
O comando SET PRINTER TO tem a cláusula ADDITIVE que continua gravando no mesmo arquivo, em modo append.

Código: Selecionar todos

SET PRINTER TO [<cDevice> | <cFile> [ADDITIVE]]
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Gilberto M Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 230
Registrado em: 13 Mar 2007 18:00
Localização: Natal-RN / Parelhas(RN) / Natal(RN)
Contato:

Inserir linha em um .TXT ja existente

Mensagem por Gilberto M Silva »

Legal!!! testei

Código: Selecionar todos

SET DEVICE TO PRINT
   SET PRINT TO C:\RETORNO.TXT ADDITIVE
   @PROW()+00,01 SAY "EAD"
   @PROW()+00,04 SAY VAR_ASSINA
   SET DEVICE TO SCREEN
   SET PRINT TO
   RUN NOTEPAD C:\RETORNO.TXT
Gilberto[]
A cada conversasão realizada conquistamos mais amigos, isto é um lucro inestimável
Clip5.2 DBFCDX
marcolinosilva@click21.com.br gmarcolinosilva@hotmail.com / Skype:gilberto.marcolino
Responder