Главная страница
    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
7-20337
dim-
2003-04-20 12:30
2003.07.07
Смена картинки рабочего стола


1-20095
Mihey
2003-06-24 00:45
2003.07.07
Общее событие OnClick для нескольких контролов...


14-20231
Sirus
2003-06-17 06:57
2003.07.07
Как защитить базу???


14-20282
СержикБеленький
2003-06-20 12:57
2003.07.07
Ребата, помогите расчитать стоимость проекта.


3-19996
Studentik
2003-06-11 23:39
2003.07.07
Хранимые процедуры в Web-модуле





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский