Турбо Паскаль 6.0


TStream Objects


+-----------+ | TObject | +-----+-----+ +====+====+ | TStream | +==+===+==+ +-------+ +------+ +----+-------+ +-----+------+ | TDosStream | | TEmsStream | +----+-------+ +------------+ +----+-------+ | TBufStream | +------------+

TStream - это общий абстрактный обект, обеспечивающий полиморфический В/В в и/из устройства памяти. Вы можете создать порожденный объект потока, перекрывая виртуальные методы GetPos, GetSize, Read, Seek, Truncate и Write. Turbo Vision делает это в порожденных потоках TDosStream и TEmsStream. Для порожденного буферизованного потока Вы должны так же перекрыть TStream.Flush.

Поля

Status Status: Integer; Чтение/Запись Указывает текущий статус потока:

Таблица 13.1. Коды ошибок потока.

------------------------------------------------- Коды ошибок TStream ------------------------------------------------- stOk Нет ошибок stError Ошибка доступа stInitError Нельзя инициализироввать поток stReadError Чтение за концом файла stWriteError Нельзя расширить поток stGetError Get для незарегистрированного типа stPutError Put для незарегистрированного типа -------------------------------------------------

Если Status <> stOK, все операции над потоком будут запрещены до тех пор, пока не будет вызван Reset.

ErrorInfo ErrorInfo: Integer; Чтение/Запись Содержит дополнительнительную информацию когда Status не stOK. Для значений Status: stError, stInitError, stReadError, stWriteError, ErrorInfo содержит код ошибки DOS или EMS, если такой существует. Когда Status stGetError, ErrorInfo содержит IDE типа объекта (поле ObjType в TStreamRec) не зарегистрированного типа объекта. Когда Status - stPutError, ErrorInfo содержит смещение VMT в сегменте данных (поле VmtLink в TStreamRec) не зарегистрированного типа объекта.

Методы

CopyFrom procedure CopyFrom(var S: TStream; Count: Longint); Копирует Count байт из потока S в вызывающий поток. Например:

NewStream := New(TEmsStream, Init(OldStream^.GetSize)); OldStream^.Seek(0); NewStream^.CopyFrom(OldStream, OldStream^.GetSize);




Начало  Назад  Вперед