Quantidade de linhas arquivo texto

Delphi

29/04/2003

Caros amigos...

Como faço para saber a quantidade exata de linha de um arquivo text:
Estou fazendo da seguinte maneira:

AssignFile(ArqTexto,NomeArq.Text);
Reset(ArqTexto);
:
:
CloseFile(ArqTexto);

só que não estou conseguindo pegar o número total de linhas deste arquivo.

Desde já agradeço

Mariana


Mariana

Mariana

Curtidas 0

Melhor post

Hades

Hades

29/04/2003

Para verificar o total de linhas de um arquivo texto você tem que ler todo o arquivo. Uma forma rápida esta descrita abaixo:

var
  arqTexto : TextFile;
  Caminho : String;
  Linha      : String;
  Contador: Longint;
begin
  AssignFile(ArqTexto, Caminho);
  Reset(ArqTexto);
  Contador := 0;
  while not(EOF(ArqTexto)) do begin
    ReadLn(ArqTexto, Linha);
    Inc(Contador);
  end;
  CloseFile(ArqTexto);
end;



GOSTEI 1

Mais Respostas

Smaug_84

Smaug_84

29/04/2003

leia o texto caractere a caractere e quando o caracter for igual a #13 (enter) conta um


GOSTEI 0
Denis Portas

Denis Portas

29/04/2003

Segue uma função: function NumeroDeLinhasTXT(lcPath:String): Integer;
Var
  aList: TStringList;
Begin
  // Verifico se o arquivo está onde foi passado pelo parâmetro
  if FileExists( lcPath ) then
  Begin
    // Crio a lista que receberá o arquivo
    aList := TStringList.Create;
    Try
      // Carrego o arquivo para dentro da lista
      aList.LoadFromFile(lcPath);
      // Retorno o número de linhas que o arquivo contem
      Result := aList.Count;
    Finally
      // Destruo o objeto
      FreeAndNil(aList);
    End;
  End
  Else
  Begin
    // Caso eu não encontre o arquivo retorno 0.
    Result := 0;
  End;
End;
  Espero ter ajudado.
GOSTEI 0
Nigro

Nigro

29/04/2003

Abra o arquivo numa StringList e dê um .count
GOSTEI 0
José

José

29/04/2003

Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
GOSTEI 0
João Filho

João Filho

29/04/2003

<P>Abra o arquivo numa StringList e dê um .count</P>



Não é uma solução, o stringlist é limitado, se você tentar abrir um arquivo muito grande ele não irá ler e consequentemente não obterá a quantidade de linhas.
GOSTEI 0
João Filho

João Filho

29/04/2003

Pessoal não recomendo utilizar TStringlist para arquivos de texto.

Motivo:
O StringList possui um tamanho limite que quase seja alcançado voçê irá carregar apenas um pedaço, problema que você não tem ao trabalhar com TextFile. Porém, em questão de performance recomendo trabalhar com TStream, que possui uma performance muito superior ao TextFile.

Segue link abaixo contendo alguns métodos úteis para trabalhar com textfile em forma de stream

https://github.com/eduardofaneli2/Delphi-Utils/blob/master/Comum.StreamUtils.pas
GOSTEI 0
POSTAR