Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.25;
Скачать: CL | DM;

Вниз

Функция определяющая количество строк в файле.   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.035 c
1-1081358420
Volodya_
2004-04-07 21:20
2004.04.25
label


7-1077776175
Ozone
2004-02-26 09:16
2004.04.25
Информация о системе


3-1080200885
avgur
2004-03-25 10:48
2004.04.25
Киньте, кому не жалко библиотеку netdir.dll по мылу


1-1081648970
NND
2004-04-11 06:02
2004.04.25
-= Ошибки, ошибки и еще раз ошибки =-


3-1080737811
Mazer
2004-03-31 16:56
2004.04.25
Ошибка "Master record missing" при вставке данных в таблицу...