Форум: "Основная";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
ВнизФункция определяющая количество строк в файле. Найти похожие ветки
← →
Klopan (2004-04-11 00:55) [0]Функция определяющая количество строк в файле.
← →
Klopan (2004-04-11 01:01) [1]Либо не функция
← →
YurikGl © (2004-04-11 01:02) [2]Можешь попробовать посчитать количество символов перевода строки
← →
TButton © (2004-04-11 01:03) [3]а если файл с текстом - загрузи в StringList и спроси Count
← →
Klopan (2004-04-11 01:05) [4]OK, пасибо
← →
Fay © (2004-04-11 03:12) [5]Можно так.
function GetLinesCount(fn : string) : Cardinal;
const
BSZ = 1024;
var
h : THandle;
b : array[0..BSZ - 1] of byte;
i, n : Cardinal;
begin
Result := 0;
h := CreateFile(PChar(fn), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_ALWAYS, 0, 0);
if h <> DWORD(-1) then
try
ReadFile(h, b, BSZ, n, nil);
if n = 0 then
Exit
else
Result := 1;
if n > 1 then
repeat
for i := 0 to n - 2 do
if b[i] = 13 then
if b[i + 1] = 10
then Inc(Result);
ReadFile(h, b, BSZ, n, nil);
until n <= 1;
finally
CloseHandle(h);
end;
end;
З.Ы.
Обращаю внимание - единственый CRLF в файле (к примеру) будет считаться за 2 пустые строки. Если надо не так - клаву в руки 8).
← →
Думкин © (2004-04-11 08:50) [6]А что такое - строка в произвольном файле?
← →
Polevi © (2004-04-11 09:24) [7]readln
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.034 c