Página 1 de 1

Inserir linha em um .TXT ja existente

Enviado: 24 Jun 2011 23:26
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

Inserir linha em um .TXT ja existente

Enviado: 24 Jun 2011 23:57
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).

Inserir linha em um .TXT ja existente

Enviado: 25 Jun 2011 06:44
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.

Inserir linha em um .TXT ja existente

Enviado: 25 Jun 2011 09:24
por Gilberto M Silva
Maligno, vlu pela sugestão usei em outra rotina. Jairo show de bola. problema resolvido. :))

Inserir linha em um .TXT ja existente

Enviado: 25 Jun 2011 10:15
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]]

Inserir linha em um .TXT ja existente

Enviado: 25 Jun 2011 16:40
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