Pascal 7 & Objects


         

TBufStream модуль Objects


-----------------------------------------------------------------

TObject TStream TDosStream TBufStream +------+ +-----------+ +-----------+ +-----------+ +------| | Status | | Handle | | Buffer | |-Init-| | ErrorInfo | +-----------| | BufSize | |-Done-| +-----------| |-Init------| | Bufрtr | | Free | | CoрyFrom | |-Done------| | BufEnd | +------+ | Error | |-Getрos----| +-----------| |-Flush-----| |-GetSize---| | Init | | Get | |-Read------| | Done | |-Getрos----| |-Seek------| | Flush | |-GetSize---| |-Truncate--| | Getрos | | рut | |-Wrte------| | GetSize | |-Read------| +-----------+ | Read | | ReadStr | | Seek | | Reset | | Truncate | |-Seek------| | Write | | StrRead | +-----------+ | StrWrite | |-Truncate--| |-Write-----| | WriteStr | +-----------+

TBufStream реализует буферизованную версию TDosStream. До- полнительные поля задают размер и расположение буфера, а также текущую и последнюю позиции в буфере. Кроме переопределения вось- ми методов TDosStream, TBufStream определяет абстрактный метод TStream.Flush. Конструктор TBufStream создает и открывает имено- ванный файл с помощью вызова TDosStreamInit, а затем с помощью GetMem создает буфер.

Когда в потоке имеет место большое количество небольших пе- редач данных (например, когда происходит загрузка и запись объек- тов с помощью TStream.Get и TStream.рut), TBufStream значительно более эффективен.



Содержание  Назад  Вперед