Sign in Join
FPDoc Onlineexperiment

Seek procedure

In unit System

Set file position.

Declaration

pascal
procedure Seek(var f: File; Pos: Int64)

Description

Seek sets the file-pointer for file F to record Nr. Count. The first record in a file has Count=0. F can be any file type, except Text. If F is an untyped file, with no record size specified in Reset or Rewrite, 128 is assumed.

Errors

Depending on the state of the {$I} switch, a runtime error can be generated if there is an error. In the {$I-} state, use IOResult to check for errors.

See also

Example: ex56

pascal
Program Example56;

{ Program to demonstrate the Seek function. }

Var
  F : File;
  I,j : longint;

begin
  { Create a file and fill it with data }
  Assign (F,'test.tmp');
  Rewrite(F); { Create file }
  Close(f);
  FileMode:=2;
  ReSet (F,Sizeof(i)); { Opened read/write }
  For I:=0 to 10 do
    BlockWrite (F,I,1);
  { Go Back to the begining of the file }
  Seek(F,0);
  For I:=0 to 10 do
    begin
    BlockRead (F,J,1);
    If J<>I then
      Writeln ('Error: expected ' ,i,', got ',j);
    end;
  Close (f);
end.

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