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

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

Работая с текстовым файлом


Страницы:   1 2

ИМХО ©   (2004-11-21 16:42:00) 

Как узнать текущую позицию?

Ситуация такова: читается текстовый файл от начала и до самого конца (с помощью ReadLn).

Нужно "запоминать" определенные места (начало и конец блока), чтобы затем быстро обращаться к ним.

Как это осуществить?


ИМХО   (2004-11-21 17:10:00) [21]

ставим так вопрос:
как при последовательном чтении текстового файла с использованием ReadLn ПРАВИЛЬНО подсчитать количество байтов?


ИМХО   (2004-11-21 17:08:00) [22]

но почему по формуле

Sum := Sum + Length(Str) + 2

кол-во байтов считается неверно???


Anatoly Podgoretsky   (2004-11-21 17:01:00) [23]

ИМХО ©   (21.11.04 16:54) [2]
Это уже не текстовые файлы, а VCL обвязка над низкоуровневым АПИ работы с двоичными данными, для работы как с текстовыми файлам тебе придется поверх ее реализовать всю функциональность ReadLn


ИМХО   (2004-11-21 17:01:00) [24]

допустим, стою я на 100-й строке.
Как определить смещение первого символа этой строки относительно начала файла???


ИМХО   (2004-11-21 16:58:00) [25]

"Что делать?" (с) Чернышевский


ИМХО   (2004-11-21 16:56:00) [26]

для некоторых файлов по какой-то неведомой причине счетчик накручивает больше байтов, чем есть, поэтому MessageStr получается не тот, что надо


ИМХО   (2004-11-21 16:54:00) [27]

я считаю байты:

Sum := Sum + Length(Str) + 2;

чтобы затем обратиться так

 MyStream := TFileStream.Create(FName, fmOpenRead or
   fmShareDenyNone);
 try
   MyStream.Position := Start_Index;
   SetLength(MessageStr, Finish_Index);
   MyStream.Read(MessageStr[1], Finish_Index);
 finally
   MyStream.Free;
 end;

ДЛЯ НЕКОТОРЫХ ФАЙЛОВ ЭТОТ МЕТОД НЕ КАТИТ!


Anatoly Podgoretsky   (2004-11-21 16:48:00) [28]

Считай или байты или строки, а насчет быстро, текстовый файл это устройство последовательного доступа.


Страницы:   1 2

Наверх

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