Советы по Delphi


Количество строк в текстовом файле


Если файлы не слишком велики, вы можете сделать так:

    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;

[001372]



Содержание раздела