Página 1 de 1

Eliminar a primeira linha de um txt

Enviado: 16 Abr 2009 15:36
por carlos_dornelas
Caros,

Como faço para eliminar a primeira linha de um arquivo texto, utilizando os comandos de baixo nível: fopen, fwrite, etc?

Exemplo:

primeira linha contem apenas o caracter
segunda e demais linhas com tamanhos variáveis

Preciso que o texto comece a partir da segunda linha.

Alguma dica?

Antonio Carlos

Re: Eliminar a primeira linha de um txt

Enviado: 16 Abr 2009 15:38
por carlos_dornelas
Retificando, pois não apareceu na postagem anterior: o caracter da primeira linha acho que é somente os chr(10)+chr(13).

Re: Eliminar a primeira linha de um txt

Enviado: 16 Abr 2009 18:06
por fladimir
Olá colega, se não esqueci nada é algo tipo o exemplo abaixo:

Código: Selecionar todos


local ret_line := "chr(13)+chr(10)"   // definicao da variavel para sinalizar final da linha

...  // parte Anterior do seu codigo

// Abaixo exemplo para sua questão:

   cArqGer  := "Teste.TXT"
      handle := FCREATE(cArqGer, 0)  // Aki criamos o arquivo Teste.TXT
      FWRITE(handle,&ret_line)  //Aki grava a o fim da linha para começar na 2ª 
      FWRITE(handle,"AKI GRAVO O TEXTO DAS LINHAS SUBSEQUENTES" + &ret_line.)  //Gravamos a 2ª linha e finalizamos c/CHR(13) + CHR(10)
      
      // E assim por diante
     
      FCLOSE(handle)   // Aki Fechamos o Arquivo

//Fim Exemplo

...  // Restante do seu codigo

Att

Sucesso!!!!

:)Pos

Re: Eliminar a primeira linha de um txt

Enviado: 16 Abr 2009 18:34
por sygecom
OU:

Código: Selecionar todos

function main
cText := memoread( "arquivo.txt)
for nA := 2 to mlcount( cText, 150 )  // começa na segunda linha
   cLinha := memoline( cText, 150, nA, 1, .F. )  
   ? cLinha
next
return

Re: Eliminar a primeira linha de um txt

Enviado: 16 Abr 2009 18:53
por carlos_dornelas
Fladimir, eu preciso, na verdade, apagar a primeira linha do arquivo!!

Re: Eliminar a primeira linha de um txt

Enviado: 16 Abr 2009 19:07
por carlos_dornelas
Pessoal, a raiz do problema, na verdade é outro: preciso gerar dois arquivos textos e em cada arquivo preciso que as instruções comecem exatamente na posição 0,0. O primeiro gera corretamente, mas o segundo começa com dois caracteres indesejados. Por gentileza, testem o código abaixo que simula o problema. Onde estou errando?

Código: Selecionar todos

function main()

set console off
set print on
set device to print
set printer to teste1.txt
lin=0
for g=1 to 10
  @ lin,0 say strzero(g,10)
  lin+=1
next
set printer to
set print off
set device to screen
set console on


set console off
set print on
set device to print
set printer to teste2.txt
lin=0
for g=1 to 10
  @ lin,0 say strzero(g,10)
  lin+=1
next
set printer to
set print off
set device to screen
set console on

---
Nota da Moderação (Maligno):
A presente mensagem foi editada para a inclusão das tags de leitura de código fonte. Por favor, não se esqueça de usar essas tags, da próxima vez que postar código.

Re: Eliminar a primeira linha de um txt

Enviado: 16 Abr 2009 21:28
por vailton
Tenho duas sugestões: troque o @SAY por "??" mas antes coloque um setprc(0,0) antes de mandar qualquer dado para o arquivo para ver se resolve.... Foi que me passou pela cabeça assim rapidamente.

Re: Eliminar a primeira linha de um txt

Enviado: 16 Abr 2009 22:55
por carlos_dornelas
Vailton, é isso mesmo. Bastou usar o SETPRC(0,0) e funcionou certinho. Já havia tentado o SETPOS(0,0). Tinha me esquecido do SETPRC.

Obrigado a todos pela atenção!

Antonio Carlos