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