Sign in Join
FPDoc Onlineexperiment

TStream.Read function

Member of TStreampublicIn unit Classes

Reads data from the stream to a buffer and returns the number of bytes read.

Declaration

pascal
function Read(var Buffer; Count: LongInt): LongInt; virtual; overload
function Read(var Buffer: TBytes; Count: LongInt): LongInt; overload
function Read(Buffer: TBytes; aOffset: LongInt; Count: LongInt)
: LongInt; overload

Description

Read attempts to read Count from the stream to Buffer and returns the number of bytes actually read.

This method should be used when the number of bytes is not determined. If a specific number of bytes is expected, use ReadBuffer instead.

As implemented in TStream, Read does nothing but raises an EStreamError exception to indicate that reading is not supported. Descendant classes that allow reading must override this method to do the actual reading.

Descendant classes should (if they don't explicitly raise an exception) return a positive value (>=0), where zero indicates an error.

Errors

In case a descendant class does not allow reading from the stream, an exception is raised.

See also

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