Класс TStream

   
На этом шаге мы рассмотрим свойства и методы класса TStream.

   
Класс TStream и его потомки называются потоками. Со
времен появления в
библиотеке TurboVision он не претерпел существенных изменений, но
теперь потоки
стали обязательными составными частями там, где нужно прочитать или
передать во
внешний источник какую-либо информацию.

   
TStream является абстрактной моделью совокупности
данных, обладающей двумя
свойствами - длиной Size (тип Int64, только для чтения) и
положением текущего
элемента Position (тип Int64).

   
От TStream порождены дочерние объекты, позволяющие пользоваться
потоками при
работе с файлами, блоками памяти и т. п. Так, в модуле CLASSES
описаны классы
TMemoryStream и TFileStream.

   
Данные потока можно читать или записывать, используя предоставляемый
буфер, или копировать
из другого потока. Эта возможность реализована методами:

   function Read(var Buffer; Count: LongInt) : LongInt; virtual; abstract;
   function Write(const Buffer; Count: LongInt) : LongInt; virtual; abstract;

   
Метод:

   function Seek(Offset: LongInt; Origin: Word): LongInt; virtual; abstract;

позиционирует поток. В зависимости от значения параметра Origin новая
позиция выбирается так:
0 - новая позиция равна Offset;
1 - текущая позиция смещается на Offset байт к концу потока от
текущего положения. Значение должно быть неотрицательно;
2 - новая позиция находится на Offset байт от конца потока. Значение
должно быть неположительно.

   
Методы:

   procedure ReadBuffer (var Buffer;Count: LongInt);
   procedure WriteBuffer (const Buffer; Count: LongInt);

представляют собой оболочки над Read/Write, вызывающие в случае
неудачи операции исключительные ситуации
EReadError/EWriteError.

   
На следующем шаге мы остановимся более подробно на свойствах и методах
класса TControl.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий