Unit 'Classes' Package
[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] [#rtl]

TStream.Seek

Sets the current position in the stream.

Declaration

Source position: classesh.inc line 1258

public function TStream.Seek(

  Offset: LongInt;

  Origin: Word

):LongInt; virtual; overload;

function TStream.Seek(

  const Offset: Int64;

  Origin: TSeekOrigin

):Int64; virtual; overload;

Description

Seek sets the position of the stream to Offset bytes from Origin. There is a 32-bit variant of this function and a 64-bit variant. The difference can be made by choosing the correct Offset parameter: the integer-typed parameter selects the 32-bit variant, the parameter of type TSeekOrigin selects the 64-bit variant of the function.

Both variants of this function return the new (0-based) position in the stream.

The Origin parameter for the 32-bit version can have one of the following values:

Constant Meaning
soFromBeginning Set the position relative to the start of the stream.
soFromCurrent Set the position relative to the current position in the stream.
soFromEnd Set the position relative to the end of the stream.

These values are defined in the SysUtils unit.

The Origin parameter for the 64-bit version has one of the following values:

Value Meaning
soBeginning Offset is interpreted relative to the start of the stream.
soCurrent Offset is interpreted relative to the current position in the stream.
soEnd Offset is interpreted relative to the end of the stream.

Offset should be negative when the origin is SoFromEnd (soEnd). It should be positive for soFromBeginning and can have both signs for soFromCurrent

This is an abstract method, which must be overridden by descendant classes. They may choose not to implement this method for all values of Origin and Offset.

Remark: Internally, all calls are re-routed to the 64-bit version of the call. When creating a descendant of TStream, the 64-bit version of the call should be overridden.

Errors

An exception may be raised if this method is called with an invalid pair of Offset,Origin values. e.g. a negative offset for soFromBeginning (or soBeginning).

See also

TStream.Position

  

The current position in the stream.


Documentation generated on: Dec 26 2024