Página 1 de 1
Retirar a primeira linha de um aquivo TXT
Enviado: 23 Jul 2012 21:40
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
Retirar a primeira linha de um aquivo TXT
Enviado: 23 Jul 2012 21:42
por ronnywdson
Peço desculpas ao moderador pois postei essa mensagem no local errado.
Retirar a primeira linha de um aquivo TXT
Enviado: 23 Jul 2012 23:25
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
Retirar a primeira linha de um aquivo TXT
Enviado: 24 Jul 2012 09:15
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.
Retirar a primeira linha de um aquivo TXT
Enviado: 24 Jul 2012 18:26
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.
Retirar a primeira linha de um aquivo TXT
Enviado: 24 Jul 2012 19:12
por alxsts
Olá!
Coloque a linha abaixo logo antes do FOR: