В основе иерархии классов потоков лежит класс Tstream. Он обеспечивает выполнение основных операций потока безотносительно к реальному носителю информации. Основными из них являются чтение и запись данных.
Класс Tstream порожден непосредственно от класса TObject.
Потоки также играют важную роль в чтении/записи компонентов из файлов ресурсов (DFM). Большая группа методов обеспечивает взаимодействие компонента и потока, чтение свойств компонента из ресурса и запись значений свойств в ресурс.
Таблица 9.3. Свойства и методы класса Tstream
|
Объявление |
Описание |
|
property Position: Longint; |
Определяет текущую позицию в потоке |
|
property Size: Longint; |
Определяет размер потока в байтах |
function CopyFrom( Source: TStream; Count: Longint) : Longint; |
Копирует из потока Source Count байты, начиная с текущей позиции. Возвращает число скопированных байтов |
|
function Read(var Buffer; Count: Longint) : Longint; virtual; abstract; |
Абстрактный класс, перекрываемый в наследниках. Считывает из потока Count байты в буфер Buffer. Возвращает число скопированных байтов |
|
procedure Read3uffer (var Buffer; Count: Longint) ; |
Считывает из потока Count байты в буфер Buffer. Возвращает число скопированных байтов |
|
function Seek (Off set: Longint; Origin: Word): Longint; virtual; abstract; |
Абстрактный класс, перекрываемый в наследниках. Смещает текущую позицию в реальном носителе данных на Offset байтов в зависимости от условия Origin (см. ниже) |
|
function Write (const Buffer; Count: Longint): Longint; virtual; abstract; |
Абстрактный класс, перекрываемый в наследниках. Записывает в поток Count байты из буфера Buffer. Возвращает число скопированных байтов |
|
procedure WriteBuffer (const Buffer; Count: Longint); |
Записывает в поток Count байты из буфера Buffer. Возвращает число скопированных байтов |
|
function ReadComponent (Instance: TComponent): TComponent; |
Передает данные из потока в компонент instance, заполняя его свойства значениями |
|
function ReadComponentRes (Instance: TComponent) : TComponent; |
Считывает заголовок ресурса компонента Instance и значения его свойств из потока. |
|
procedure ReadResHeader; |
Считывает заголовок ресурса компонента из потока |
|
procedure WriteComponent (Instance: TComponent) ; |
Передает в поток значения свойств компонента Instance |
|
procedure WriteComponentRes (const ResName: string; Instance: TComponent) ; |
Записывает в поток заголовок ресурса компонента Instance и значения его свойств |