Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

goruks

[Resolvido] while not Eof () nao le a ultima linha do arquivo

Recommended Posts

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.