Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Работа стекстовым файлом


Автор: sani79 24.3.2006, 11:25
Добрый день! Может кто подскажет как прочесть нужное кол-во строк в текстовом файле, без его открытия и желательно наиболее быстрым способом (в смысле чтоб программа не сильно задумывалась на больших файлах)

Автор: Snowy 24.3.2006, 11:28
Без открытия, естественно, никак.
Можно, не читая файл в память, анализировать его блоками с конца.

Автор: sani79 24.3.2006, 11:34
Имелось ввиду не открытие как таковое, а чтобы не прогружать его весь в память. А есть код, как с конца построчно считывать?

Автор: Snowy 24.3.2006, 11:45
Построчно с конца читать невозможно.
Нужно читать блоками, например по 1кб. Изкать в нем в обратном порядке символы #13#10.
Как найдем нужное кол-во, значит, начиная отсюда и будут наши строки.
Грузим данные с этого места до конца файла в TStringList - он сам нарежет на строки.

Автор: sani79 24.3.2006, 11:48
Ну да точно... спасибо... нужно просто примерно подсчитать сколько будет весить n строк, взять немного с запасом, загрузить в TStringList и считать последние n строк. Все понятно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)