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

# FilePos

Get position in file

## Declaration

Source position: systemh.inc line 1288

`function FilePos(`
`var f: file`
`):Int64;`

## Description

Filepos returns the current record position of the file-pointer in file F. It cannot be invoked with a file of type Text. A compiler error will be generated if this is attempted. Untyped files have a default record size of 128, if the second parameter to Reset isn't specified.

## 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

Filesize |  | Size of file

## Example

    Program Example23;

    { Program to demonstrate the FilePos function. }

    Var F : File of Longint;
        L,FP : longint;

    begin
      { Fill a file with data :
        Each position contains the position ! }
      Assign (F,'test.tmp');
      Rewrite (F);
      For L:=0 to 100 do
        begin
        FP:=FilePos(F);
        Write (F,FP);
        end;
      Close (F);
      Reset (F);
      { If all goes well, nothing is displayed here. }
      While not (Eof(F)) do
        begin
        FP:=FilePos (F);
        Read (F,L);
        if L<>FP then
          Writeln ('Something wrong: Got ',l,' on pos ',FP);
        end;
      Close (F);
      Erase (f);
    end.

Documentation generated on: May 14 2021