Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.07;
Скачать: [xml.tar.bz2];

Вниз

Считать с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
3-19982
linker
2003-06-10 12:59
2003.07.07
pdf и Blob


14-20292
BJValentine
2003-06-20 13:35
2003.07.07
Глюк!


1-20141
OlegM
2003-06-25 09:35
2003.07.07
Как заставить встроеный динамик пищать


3-20016
mikeee
2003-06-15 17:16
2003.07.07
Как узнать DBGrid.Columns


14-20220
Till
2003-06-22 15:36
2003.07.07
EhLib for Delphi 7





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский