Самоучитель по Delphi 7 для профессионалов


Базовые классы TStream и THandleStream - часть 2


Итак, в основе операций считывания и записи данных в потоке лежа! методы Read и Write. Именно они вызываются для реального выполнения операции внутри методов ReadBuffer И WriteBuffer, ReadComponent И WriteComponent. Так как класс TStream является абстрактным, то методы Read и write также являются абстрактными. В классах-наследниках они перекрываются, обеспечивая работу с конкретным физическим носителем данных.

Метод Seek используется для изменения текущей позиции в потоке. "Точка отсчета" позиции зависит от значения параметра Origin:

  •  soFromBeginning — смещение должно быть положительным и отсчитывается от начата потока;
  •  soFromCurrent — смещение относительно текущей позиции в потоке;
  •  soFromEnd — смещение должно быть отрицательным и отсчитывается от конца потока.

Группа методов обеспечивает чтение и запись из потока ресурса компонента. Они используются при создании компонента на основе данных о нем, сохраненных в формате файлов ресурсов. Для чтения ресурса используется метод ReadComponentRes, в котором последовательно вызываются:

  •  метод ReadResHeader — для считывания заголовка ресурса компонента из потока;
  •  метод ReadComponent — для считывания значений свойств компонента. Для записи ресурса в поток применяется метод writeComponentRes.

Класс THandleStream инкапсулирует поток, связанный с физическим носителем данных через дескриптор.

Для создания потока используется конструктор

constructor Create(AHandle: Integer);

в параметре которого передается дескриптор. Впоследствии доступ к дескриптору осуществляется через свойство:

property Handle: Integer;

 




Начало  Назад  



Книжный магазин