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

Seek

Set file position

Declaration

Source position: systemh.inc line 827

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

Eof

  

Check for end of file

SeekEof

  

Set file position to end of file

SeekEoln

  

Set file position to end of line

Example

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.
The latest version of this document can be found at lazarus-ccr.sourceforge.net.