Sign in Join
FPDoc Onlineexperiment

TWindowedStream class

In unit StreamEx

Provide a window on another stream.

Declaration

pascal
TWindowedStream = class(TOwnerStream)

Inheritance

  1. TWindowedStream
  2. TOwnerStream
  3. TStream
  4. TObject

Description

TWindowedStream is a TStream descendent that can be used to provide a window on the data of another stream. The position and size of the window can be determined in the constructor, and the stream will behave as a normal stream. The actual reading (or writing) will happen on the source stream.

If the source stream has some limitations (e.g. no Seek) then the TWindowedStream will inherit these limitations.

The TWindowedStream will keep track of the last position it used, and will attempt to restore it if it was modified between calls to Read and Write.

See also

Methods

GetSizeprotectedReturn the size of the stream.
SetSizeprotected
CreatepublicInitialize a new instance of TWindowedStream.
DestroypublicDestroy the TWindowedStream instance.
ReadpublicRead data from the stream.
WritepublicRead data to the stream.
SeekpublicReposition the stream.

Inherited

From TOwnerStream (2)

Source SourceOwner

From TObject (40)

AfterConstruction BeforeDestruction CheckDisposed ClassInfo ClassName ClassNameIs ClassParent ClassType CleanupInstance DefaultHandler DefaultHandlerStr Dispatch DispatchStr Disposed DisposeOf Equals FieldAddress Free FreeInstance GetDisposed GetHashCode GetInterface GetInterfaceByStr GetInterfaceEntry GetInterfaceEntryByStr GetInterfaceTable GetInterfaceWeak GetLastCastErrorInfo InheritsFrom InitInstance InstanceSize MethodAddress MethodName newinstance QualifiedClassName SafeCallException StringMessageTable SystemHasExtendedRTTI ToString UnitName

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.