Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Быстрое чтение файла [D5, Win95/98]


Страницы:   1 2 3 4 5

Кастуся ©   (2004-06-21 22:46:00) 

мастера, хелп!
обрабатываю файл "дедовским" методом: построчно читаю данные и со строкой делаю все необходимое.
Но не устраивает скорость. На P-I-133 файл в обрабатывает за . Можно ли увеличить скорость на стадии чтения? (Обработка прочитанной строки оптимизированна до максимума) Я знаю, использовать либо BlockRead либо TFileStream но там надо читать буферами, для этого надо знать где строка заканчивается. А можно как-нибудь построчно читать?
Хотел попробовать сл. код:

Start := Stream.Position;
End := Start;
Repeat

Stream.Read(Buffer^, 1024);
CRPos := FindCR(Buffer^);   { где FindCR возвращает 0..1023 для CR,
и 1024, если он не найден}
Inc(End, CRPos);
Until CRPos < 1024;
GetMem(MyPChar, End - Start);  { Здесь может быть +-1 -- мне лень сегодня проверять! }
Stream.Seek(Start);
Stream.Read(MyPChar^, End - Start)

но что такое FindCR?
В общем как тут быть. Дело срочное, хелп плиз!!!


Кастуся   (2004-06-22 08:40:00) [81]


> Anatoly Podgoretsky ©

Первоначально и смотрю в сторону ReadLn, но можно быстрее? через TFIleStream или BlockRead?


RealRascal   (2004-06-21 23:21:00) [82]

Может поможет txtfile:TStringlist;
Чтобы загрузить используй Tstringlist.LoadFromFile()
Потом обращайся к нужной строчке txtfile[i]


DrPass   (2004-06-21 23:19:00) [83]


> но что такое FindCR?

Наверняка какая-то самописная функция, которая ищет среди последовательности символов знак возврата каретки.
А после этого файл считывается во второй раз...


Anatoly Podgoretsky   (2004-06-21 23:15:00) [84]

Если не ошибаюсь, то тут два раза чтение из файла того же самого содержимого. Посмотри в сторону текстовыъ файлов и ReadLn


Страницы:   1 2 3 4 5

Наверх

Титульная страница Поиск, карта сайта Написать письмо