[Overview][Constants][Types][Classes][Procedures and functions][Variables] Reference for unit 'Objects' (#rtl)

TStream.Read

Read data from stream to buffer.

Declaration

Source position: objects.pp line 294

procedure TStream.Read(

  var Buf;

  Count: LongInt

); virtual;

Description

Readis an abstract method that should be overridden by descendent objects.

Readreads Countbytes from the stream into Buf. It updates the position pointer, increasing it's value with Count. Bufmust be large enough to contain Countbytes.

Errors

No checking is done to see if Bufis large enough to contain Countbytes.

See also

TStream.Write

  

Write a number of bytes to the stream.

TStream.ReadStr

  

Read a shortstring from the stream.

TStream.StrRead

  

Read a null-terminated string from the stream.

Example

program ex18;

{ Program to demonstrate the TStream.Read method }

Uses Objects;

Var Buf1,Buf2 : Array[1..1000] of Byte;
    I : longint;
    S : PMemorySTream;

begin
  For I:=1 to 1000 do
    Buf1[I]:=Random(1000);
  Buf2:=Buf1;
  S:=New(PMemoryStream,Init(100,10));
  S^.Write(Buf1,SizeOf(Buf1));
  S^.Seek(0);
  For I:=1 to 1000 do
    Buf1[I]:=0;
  S^.Read(Buf1,SizeOf(Buf1));
  For I:=1 to 1000 do
    If Buf1[I]<>buf2[i] then
      Writeln ('Buffer differs at position ',I);
  Dispose(S,Done);
end.