Текущий архив: 2004.04.04;
Скачать: CL | DM;
Вниз
Кол-во строк Найти похожие ветки
← →
shady (2004-03-18 19:02) [0]Помогите пожалуйста!
Мне надо посчитать кол-во строк в текстовом файле(*.txt),
как мне это сделать?
← →
MetalFan © (2004-03-18 19:17) [1]F1 - TStringList.LoadFromFile
F1 - TStringList.count
← →
panov © (2004-03-18 19:26) [2]читать файл как текстовый построчно и считать строки.
← →
shady (2004-03-18 20:09) [3]Ну я совсем не знаю дельфи, пожалуйста напишите поконкретнее!
← →
Anatoly Podgoretsky © (2004-03-18 20:18) [4]Может тогда силы бросить на изучение, а не написание программ?
← →
maxXP © (2004-03-18 22:23) [5]Вот звери, помочь не можете...
Делай так
Создаёшь мемо и
memo1.lines.LoadFromFile("text.txt");
showmessage("Количество строк:"+inttostr( ms.Lines.Count));
← →
Mox Fulder © (2004-03-18 22:59) [6]maxXP © (18.03.04 22:23) = MetalFan © (18.03.04 19:17) + гимарой, имхо....
← →
Gero © (2004-03-18 23:18) [7]> shady (18.03.04 20:09) [3]
Ну если совсем не знаешь, то держи:
with TStringList.Create(nil) do
try
LoadFromFile("Text.txt");
ShowMessage("Количество строк: " + IntToStr(Count));
finally
Free;
end;
← →
Gero © (2004-03-18 23:20) [8]Ошибся. Не TStringList.Create(nil), а просто TStringList.Create.
Писал по энерции... :\
← →
Mihey © (2004-03-18 23:34) [9]var f: textfile;
i: Integer;
s: String;
i := 0;
AssignFile(f, "text.txt");
Reset(f);
while not EOF(f) do
begin
ReadLn(f, s);
i := i + 1;
end;
CloseFile(f);
ShowMessage("Количество строк: " + IntToStr(i));
← →
Anatoly Podgoretsky © (2004-03-18 23:40) [10]Mihey © (18.03.04 23:34) [9]
А S то для чего, нигде не используется.
← →
Mihey © (2004-03-18 23:46) [11]2 Anatoly Podgoretsky:
Это техническая переменная. Оставлена для возможности модернизации (например, получать конкретные значения строк). Можно, конечно, и без неё.
← →
Mox Fulder © (2004-03-18 23:52) [12]
> Оставлена для возможности модернизации
Вернее сказать засорения памяти (хотя сколко она там сожрёт...)
Скажи "запарился" да и всё тут. Бывает.
← →
Gero © (2004-03-18 23:52) [13]> i := i + 1;
Inc(i). Так быстрее :)
← →
Anatoly Podgoretsky © (2004-03-19 00:10) [14]Mox Fulder © (18.03.04 23:52) [12]
Сожрет она ресурсы, постоянно перевыделение памяти, поскольку это Long String
Gero © (18.03.04 23:52) [13]
Нет, код будет одинаковый
← →
TButton © (2004-03-19 00:16) [15]>Inc(i). Так быстрее :)
не факт
← →
Mihey © (2004-03-19 00:20) [16]>Inc(i). Так быстрее :)
Ну да, писать быстрее...
>Сожрет она ресурсы, постоянно перевыделение памяти, поскольку это Long String
А нефиг, поставит {$H–} и ничего страшного.
← →
Mox Fulder © (2004-03-19 00:22) [17]
> Так быстрее :)
Может, имелось в виду быстрее набирать на клавиатуре... =)))
← →
Gero © (2004-03-19 00:26) [18]> не факт
> Ну да, писать быстрее...
Из хелпа:
...Inc generates optimized code and is especially useful in tight loops...
← →
Alexander666 © (2004-03-19 06:53) [19]Короче, переделанная версия, вполне рабочая :-)
const
FileName = "C:\File.txt";
var
F: TextFile;
I: Integer;
begin
AssignFile(F, FileName);
I := 0;
if FileExists(FileName) then
begin
Reset(F);
try
while not Eof(F) do
begin
ReadLn(F);
Inc(I);
end;
finally
MessageBox(0, PChar(IntToStr(I)), "Lines", 0);
CloseFile(F);
end;
end;
end;
Но это только для текстовых файлов.
← →
KSergey © (2004-03-19 08:11) [20]> Alexander666 © (19.03.04 06:53) [19]
Счет выслан почтой? ;)
Завтра ждите вопроса "а как мне указать другой файл, и вообщ выбирать его хочу" ;)
> maxXP © (18.03.04 22:23) [5]
> Вот звери, помочь не можете...
Много раз говорено, что здесь не благотворительный фонд.
Все ответы, которые позволяют определиться с путем решения задачи были даны.
Опять же и ваш ответ - чем лучше?
Я уже не говорю о проблемах, с которыми столкнется поользователь сей программы, желая узнать кол-во строк файла этак в несколько сотен метров.
← →
Cobalt © (2004-03-19 08:22) [21]Гы-гы, а с какими он столкнётся , если файл к тому же и не текстовый?
:-)))
← →
Alexander666 © (2004-03-19 09:00) [22]Ну уж выбрать файл - это совсем тривиальная задача!
Страницы: 1 вся ветка
Текущий архив: 2004.04.04;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.026 c