Eliminar a primeira linha de um txt

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Eliminar a primeira linha de um txt

Mensagem 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
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Re: Eliminar a primeira linha de um txt

Mensagem por carlos_dornelas »

Retificando, pois não apareceu na postagem anterior: o caracter da primeira linha acho que é somente os chr(10)+chr(13).
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Re: Eliminar a primeira linha de um txt

Mensagem 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
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Eliminar a primeira linha de um txt

Mensagem 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
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Re: Eliminar a primeira linha de um txt

Mensagem por carlos_dornelas »

Fladimir, eu preciso, na verdade, apagar a primeira linha do arquivo!!
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Re: Eliminar a primeira linha de um txt

Mensagem 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.
Avatar do usuário
vailton
Colaborador
Colaborador
Mensagens: 390
Registrado em: 17 Nov 2005 19:08
Localização: Brasil
Contato:

Re: Eliminar a primeira linha de um txt

Mensagem 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.
Vailton Renato
"No dia mais claro, na noite mais escura... o bug sucumbirá ante a minha presença"

E-mail/MSN: contato@vailton.com.br
Skype: vailtom
carlos_dornelas
Usuário Nível 3
Usuário Nível 3
Mensagens: 400
Registrado em: 25 Ago 2004 21:54

Re: Eliminar a primeira linha de um txt

Mensagem 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
Responder