Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.49 MB
Время: 0.014 c
4-20346
tiam
2003-05-07 10:01
2003.07.07
Динамическое подключение Dll


14-20280
Дмитрий К.К.
2003-06-20 06:09
2003.07.07
Именинники 20 июня


1-20146
maxic
2003-06-25 10:50
2003.07.07
Проблемы с dll


3-19977
Леха
2003-06-12 22:50
2003.07.07
Ребята! Извините за глупый вопрос! Как в гриде в числовом поле за


1-20045
Maksss
2003-06-25 13:47
2003.07.07
Listview