Текущий архив: 2003.07.07;
Скачать: CL | DM;
Вниз
Считать с txt файла только строку с указанным номером ? Найти похожие ветки
← →
Chery (2003-06-24 19:23) [0]Как считать с txt файла только строку с указанным номером ?
Readln(file, str) - считывает только первую и если второй раз применить Readln - то вторую и т.д. А если сразу надо считать только вторую или третью? Сорри за Ламерство. Просто Read - тоже бред.
← →
Ahmad K (2003-06-24 19:28) [1]Может текст загнать в Memo и далее Memo1.Lines[i], где i номер строки.
← →
mrcat (2003-06-24 19:35) [2]
function StringOfFile(const aFileName: string; const aIndex: integer): string;
begin
with TStringList.Create do
try
LoadFromFile(aFileName);
result := Strings[aIndex];
finally
Destroy;
end;
end;
← →
Anatoly Podgoretsky (2003-06-24 19:57) [3]Игнорируй не нужные строки и не читай дальше необзодимого.
← →
VMcL (2003-06-24 19:58) [4]>Ahmad K © (24.06.03 19:28)
+
>mrcat © (24.06.03 19:35)
Ваши методы ещё хуже, чем readln N раз.
← →
Song (2003-06-25 08:32) [5]2VMcL © (24.06.03 19:58)
А можно узнать чем?
← →
Palladin (2003-06-25 09:08) [6]только в частном случае когда файл довольно огромный, а искомая строка находится близко к началу...
в остальных случаях нужно или потоки использовать или file mapping для достижения максимальной производительности...
← →
mrcat (2003-06-25 09:12) [7]для начала нужно спросить: Chery, какого размера файлы предполагается юзать?
← →
Anatoly Podgoretsky (2003-06-25 09:24) [8]Palladin © (25.06.03 09:08)
Только ReadLn, поскольку в остальных случаях придется делаеть парсинг строк самостоятельно и неизвестно, что будет быстрее, но одназначно не проще. ReadLn работает очень быстро даже на многомегабайтных файлах, а проще уж некуда.
Метод mrcat © (24.06.03 19:35), не хуже, просто накладнее по ресурсам, по времени примерно одинаков, если говорить о последней строке и небольшом размере файла. Есть правда приятная особенность, если это Юникс файл, то оно будет работать в отличии от ReadLn.
Методы Ahmad K © (24.06.03 19:28) не применим для файлов свыше 40 кб на платформе Win9x и к тому же вызывает сомнение использование визуального компонента, из вопроса nfrfz ytj,
← →
Chery (2003-06-25 11:19) [9]С Memo, мда...?
Размер файла предпологается не большой, поэтому лучше использовать ReadLn. Но учитывая, что управлять считыванием строк будет лучше с помощью StringOfFile(const aFileName: string; const aIndex: integer): string; от mrcat, то останавлюсь наверно на нём.
← →
Palladin (2003-06-25 11:21) [10]мда...
← →
mrcat (2003-06-25 11:27) [11]Chery (25.06.03 11:19)
тогда ужCreate
,LoadFromFile(aFileName)
делай перед началом работы, чтобы не грузить одно и тоже.
← →
MARcoDEN (2003-06-25 14:38) [12]А что если файл весит более 40 мегов?
← →
Anatoly Podgoretsky (2003-06-25 20:33) [13]MARcoDEN © (25.06.03 14:38)
Ну подумаешь пошуршит диск, но строку все равно выдаст.
Страницы: 1 вся ветка
Текущий архив: 2003.07.07;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.006 c