PDA

Просмотр полной версии : Количество строчек в файле


OPF_Nik
11.01.2010, 13:50
Народ, как узнать количество строчек в текстовом файле???
Строчек много, порядком 2000-3000, может больше

drim
11.01.2010, 13:53
cat filename.txt | wc -l

OPF_Nik
11.01.2010, 13:58
на Delphi надо

drim
11.01.2010, 14:02
на Delphi надо
начинаеться... а сразу корректно сформулировать техническое задание религия не позволила?

OPF_Nik
11.01.2010, 14:03
drim
торопился, не подумал

drim
11.01.2010, 14:10
drim
торопился, не подумал
в след. раз думайте

по сабжу - вам алгоритм нужен или готовое решение?
второе, как правило, стОит денег

LolFEm
11.01.2010, 14:14
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Подсчет количества строк в текстовом файле

Считает строки в текстовом файле,
основываясь на количестве символов $0A (LineFeed).

Зависимости: Windows
Автор: Борис Новгородов, mbo@mail.ru, Новосибирск
Copyright: Собственное написание
Дата: 1 декабря 2002 г.
************************************************** *** }

function LinesCount(const Filename: string): Integer;
var
HFile: THandle;
FSize, WasRead, i: Cardinal;
Buf: array[1..4096] of byte;
begin
Result := 0;
HFile := CreateFile(Pchar(FileName), GENERIC_READ, FILE_SHARE_READ, nil,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if HFile <> INVALID_HANDLE_VALUE then
begin
FSize := GetFileSize(HFile, nil);
if FSize > 0 then
begin
Inc(Result);
ReadFile(HFile, Buf, 4096, WasRead, nil);
repeat
for i := WasRead downto 1 do
if Buf[i] = 10 then
Inc(Result);
ReadFile(HFile, Buf, 4096, WasRead, nil);
until WasRead = 0;
end;
end;
CloseHandle(HFile);
end;

Пример использования:
Label1.Caption := IntToStr(LinesCount('e:zz.txt'));

ZdezBilYa
11.01.2010, 14:15
str:TStringList;
str:=TStringList.Create;
str.LoadFromFile('myfile');
str.Count - количество строк

OPF_Nik
11.01.2010, 14:18
LolFEm спс

ZdezBilYa слишком "тяжелый метод"

da_ff
11.01.2010, 17:47
в след. раз думайте

по сабжу - вам алгоритм нужен или готовое решение?
второе, как правило, стОит денег

да вы охренели! за что деньги то?! уже и пальцем лень пошевелить для другого человека?

patcher
11.01.2010, 17:56
ZdezBilYa слишком "тяжелый метод"
Улыбнуло :D

nerezus
11.01.2010, 19:59
Количество символа "\n" + 1.

Andres
11.01.2010, 20:16
length, не?

waik
11.01.2010, 20:28
da_ff что кричишь.А ТСу не лень в гугл зайти???Человек сказал что может за деньги сделать и это его условия,тебя платить он не просит.