Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2013, 13:24   #1
МирзоАкмал
Пользователь
 
Регистрация: 08.05.2013
Сообщений: 15
По умолчанию Количество строк

Доброго всем дня, как определить количество строк в текстовом файле
МирзоАкмал вне форума Ответить с цитированием
Старый 13.05.2013, 13:25   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
var f:textfile;

assignfile(f,'путь к файлу');
reset(f);c:=0;
while not eof(f) do
begin
readln(s);inc(c);
end;
closefile(f);
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 13.05.2013, 13:35   #3
МирзоАкмал
Пользователь
 
Регистрация: 08.05.2013
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Mad_Cat Посмотреть сообщение
Код:
var f:textfile;

assignfile(f,'путь к файлу');
reset(f);c:=0;
while not eof(f) do
begin
readln(s);inc(c);
end;
closefile(f);
s- это что?
МирзоАкмал вне форума Ответить с цитированием
Старый 13.05.2013, 13:36   #4
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Код:
s: string;
Delphi_ProGer вне форума Ответить с цитированием
Старый 13.05.2013, 15:06   #5
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Можно через TStringList
Код:
function GetStringCount (FilePath : string) : integer;
var
  sl : TStringList;
begin
  sl := TStringList.Create;
  sl.LoadFromFile (FilePath);
  result := sl.Count;
  sl.Free;
end;
где FileName - полный путь к файлу.

Кстати, что будет быстрее и правильнее, TStringList или TextFile и AssignFile?

Последний раз редактировалось FaTaL; 13.05.2013 в 15:09.
FaTaL вне форума Ответить с цитированием
Старый 13.05.2013, 15:19   #6
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

Цитата:
Кстати, что будет быстрее и правильнее, TStringList или TextFile и AssignFile?
Второе. Хотя есть методы, работающие ещё быстрее.
Kix.IV вне форума Ответить с цитированием
Старый 13.05.2013, 15:37   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Кстати, что будет быстрее и правильнее, TStringList или TextFile и AssignFile?
StringList целиком файл в ОП пишет. На больших объемах могут быть проблемы. А так он по идее должен быть быстрей, поскольку не по-записно читает входящий файл
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 13.05.2013, 16:05   #8
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
StringList целиком файл в ОП пишет. На больших объемах могут быть проблемы. А так он по идее должен быть быстрей, поскольку не по-записно читает входящий файл
Таки нет. StringList гораздо медленнее. Сами посмотрите его код.
Kix.IV вне форума Ответить с цитированием
Старый 13.05.2013, 16:33   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Посмотрел и даже проверил - файл 3.5Mb со стринглистом ~ на 25% быстрее. За счет чтения через FileStream одной командой чтения целиком, пусть и есть накладные расходы в виде SetTextStr
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 13.05.2013 в 16:50. Причина: грамматика
Аватар вне форума Ответить с цитированием
Старый 13.05.2013, 17:20   #10
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Посмотрел и даже проверил - файл 3.5Mb со стринглистом ~ на 25% быстрее. За счет чтения через FileStream одной командой чтения целиком, пусть и есть накладные расходы в виде SetTextStr
Какая версия Delphi?
Только что смотрел в XE3. Там тонна ненужного кода. И проверял тоже, правда разницы не заметил.
Kix.IV вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить количество строк в максимальном множестве попарно непохожих строк заданной матрицы Cи/С++ FleXt Помощь студентам 12 17.12.2012 14:42
Сканирования строк. Зная количество строк и первый элемент, это количество символов с троке. dimon9 Общие вопросы C/C++ 8 02.11.2012 22:40
Ввести последовательность строк. Подсчитать количество совпадающих строк. на языке SHELL lj23lj Фриланс 1 30.03.2012 16:41
Подсчитать количество букв "А" в предложении и общее количество букв.В тексте из файла несколько строк. kvas91 Общие вопросы C/C++ 3 14.11.2010 16:51
Количество строк Mihanches Общие вопросы Delphi 2 11.10.2010 13:18