Количество строк в текстовом файле
Если файлы не слишком велики, вы можете сделать так:
List := TStringList.Create;
try
List.LoadFromFile('C:\FILE.TXT');
Gauge.MaxValue := List.Count;
finally
List.Free;
end;
|
Мы читаем в память весь текст, и кроме подсчета строк этот код ничего не
делает. Другая идея заключается в использовании не счетчика строк, а счетчика
байт. В самом начале вы запрашиваете размер файла (используя функцию Delphi
FileSize), и в цикле проходите все байты, как вы делали это со строками. Цикл
может выглядеть примерно так (предположим, вы используете стандартный
паскалевский тип TEXT):
Gauge.MaxValue := FileSize(TextFile);
Reset(TextFile);
while not eof(TextFile) do
begin
Readln(TextFile, Line);
{ Обработка строки }
with Gauge do
begin
Progress := Progress + Length(Line) + 2; { 2 для CR/LF }
Refresh;
end;
end;
|
|