Retirar a primeira linha de um aquivo TXT

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

Moderador: Moderadores

ronnywdson
Usuário Nível 1
Usuário Nível 1
Mensagens: 23
Registrado em: 30 Jun 2012 12:37
Localização: Rondonópolis/MT
Contato:

Retirar a primeira linha de um aquivo TXT

Mensagem por ronnywdson »

Olá

Estou precisando criar uma rotina para ler um arquivo TXT e retirar a primeira linha dele e depois salvá-lo novamente, mas sem essa primeira linha.
Alguém já tem alguma coisa pronta?

Att
Ronny
___________
Ronny Wdson
Java, PHP e Clipper desde 1993
ronnywdson
Usuário Nível 1
Usuário Nível 1
Mensagens: 23
Registrado em: 30 Jun 2012 12:37
Localização: Rondonópolis/MT
Contato:

Retirar a primeira linha de um aquivo TXT

Mensagem por ronnywdson »

Peço desculpas ao moderador pois postei essa mensagem no local errado.
___________
Ronny Wdson
Java, PHP e Clipper desde 1993
ronnywdson
Usuário Nível 1
Usuário Nível 1
Mensagens: 23
Registrado em: 30 Jun 2012 12:37
Localização: Rondonópolis/MT
Contato:

Retirar a primeira linha de um aquivo TXT

Mensagem por ronnywdson »

Consegui pessoal

Código: Selecionar todos

function main()
                cTexto := memoread("C:\ PRINTER\Pag00001.Txt") 
                 nLinha := mlcount(cTexto)
                set device to printer
                set printer to "C:\ PRINTER\Pag00001.Txt"
                wrow=0
                For n := 2 to nLinh
                               @ wrow,0 say HB_ANSITOOEM(memoline(cTexto,134,n))
                               wrow++
                Next 
                 set device to screen
return .t.
Falta de ler a documentação, rsrsrs
Abri o antigo NG e olhei a sintaxe da função memoline().
Mas de qualquer forma, está aí a solução, caso alguém precise.

Att
Ronny Wdson
___________
Ronny Wdson
Java, PHP e Clipper desde 1993
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Retirar a primeira linha de um aquivo TXT

Mensagem por Pablo César »

Mesmo que em xHarbour ou Harbour não exista limitação para ler arquivos até 64k, eu sou sempre a favor de ler o arquivo em baixo nível através das funções FOPEN/FREAD e ler a linha a linha que até podem ter tamanho diferentes. Então com uma função que lê a quebra de linha pelo CRLF, na minha opinião torna-se mais confiável.
Peço desculpas ao moderador pois postei essa mensagem no local errado.
Tópico movido para esta seção. Imaginei que a solução que você precisava era em Harbour pela utilização de funções em Harbour no seu exemplo. Sem problemas.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
ronnywdson
Usuário Nível 1
Usuário Nível 1
Mensagens: 23
Registrado em: 30 Jun 2012 12:37
Localização: Rondonópolis/MT
Contato:

Retirar a primeira linha de um aquivo TXT

Mensagem por ronnywdson »

Boa tarde Pablo

Você tinha razão, acho que vou ter que utilizar o fopen()/fread() para fazer o que eu quero, pois da forma que eu fiz é gerado um caracter na primeira posição (linha zero coluna zero), e quando eu mando imprimir esse arquivo, é feito um salto de página. Quer dizer a impressora já começa ejetando antes de imprimir. Eu tentei resolver o problema de uma linha em branco e acabei criando uma página em branco.. rsrsrs
Se tiver jeito de criar uma função que abra esse arquivo, retire o primeiro caractere (linha zero e coluna zero), depois o salve novamente, resolveria o meu problema.
___________
Ronny Wdson
Java, PHP e Clipper desde 1993
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Retirar a primeira linha de um aquivo TXT

Mensagem por alxsts »

Olá!

Coloque a linha abaixo logo antes do FOR:

Código: Selecionar todos

SetPrc( 0,0 )
[]´s
Alexandre Santos (AlxSts)
Responder