goruks 0 Denunciar post Postado Fevereiro 5, 2009 Olá, nao tenho grandes conhecimentos em delphi, gostaria de uma ajuda: o programa le um arquivo txt e insere seus dados em um banco para isto preciso percorrer todas as linhas do txt AssignFile (arq, vCaminhoCompletoArq); Reset (arq); ReadLn ( arq, linha ); vLinha := TStringList.Create; vArquivoParaContar.LoadFromFile(vCaminhoCompletoArq); pbArquivo.Position:=0; pbArquivo.Min:=0; pbArquivo.Max:=vArquivoParaContar.Count; lblQtdTotalLinhas.Caption:=inttostr(vArquivoParaContar.Count); while not Eof ( arq ) do begin ShowMessage(linha); end o problema é que desa maneira ele nao mostra a ultima linha do arquivo, se arquivo tem 7 mostra ate a 6 alguem tem alguma sugestao como posso resolver isso? vlw ae Compartilhar este post Link para o post Compartilhar em outros sites
Maikel Scheid 1 Denunciar post Postado Fevereiro 5, 2009 Olá Faça um teste e coloque seu código assim: [font="Courier New"] while not Eof ( arq ) do begin ReadLn ( arq, linha ); ShowMessage(linha); end[/font] Creio isso irá resolver. Veja a função que eu uso para leitura de arquivos de texto, lê todas as linhas: procedure TForm1.Button1Click(Sender: TObject); var Arq : TextFile; Caminho : String; mTexto: TStringList; linha : String; begin Caminho := 'C:\testen.LOG'; AssignFile (arq, Caminho); Reset (arq); mTexto := TStringList.Create; mTexto.LoadFromFile( Caminho ); while not Eof ( arq ) do begin ReadLn ( arq, linha ); ShowMessage(linha); end end; Qualquer coisa, post ai de novo Att Compartilhar este post Link para o post Compartilhar em outros sites
goruks 0 Denunciar post Postado Fevereiro 5, 2009 opa vlw resolveu colocar o readln dentro do eof() Compartilhar este post Link para o post Compartilhar em outros sites