Иллюстрированный самоучитель по Tirbo Pascal

Прямой доступ к потокам


Поток имеет методы, имитирующие файловые процедуры прямого доступа к дисковому файлу.

С помощью функции GetPos программа может получить текущую позицию в потоке, т.е. номер байта, начиная с которого будет осуществляться очередная операция с потоком (первый байт потока имеет номер 0).

Метод Seek (Pos: LongInf) перемещает текущую позицию в потоке в байт Pos от начало потока.

Метод GetSize возвращает общий размер потока в байтах.

С помощью метода Truncate можно удалить из потока все данные, начиная с текущей позиции до конца потока.

Как видим, эти процедуры можно использовать только в том случае, если создать вне потока индексную коллекцию, содержащую начальные позиции в потоке для каждого из сохраняемых в нем объектов. Такая коллекция используется в ресурсах, поэтому для обеспечения прямого доступа к потоку лучше использовать файл ресурсов (см. гл.21).



Содержание раздела