Quantidade de linhas arquivo texto
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
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
Curtidas 0
Melhor post

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
29/04/2003
leia o texto caractere a caractere e quando o caracter for igual a #13 (enter) conta um
GOSTEI 0

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.
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
29/04/2003
Abra o arquivo numa StringList e dê um .count
GOSTEI 0

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
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
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
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