| Description |  
The FilePos function returns the current position in an open file. The returned value is the Record position, starting at 0 for the file beginning.
   
The file may be an Untyped, Typed or Text file.
   
The record length is as follows:
   
| Untyped files  |  : As set in Reset or ReWrite |  
| Typed files  |  : SizeOf the file type |  
| Text files  |  : Variable - defined by line ends |  
 
 |  
 |  
| Notes |  
Seek to the given record position only works for binary files. 
 |  
 |  
| Related commands |  
| Eoln | 
 | 
Returns true if the current text file is pointing at a line end | 
 
| File | 
 | 
Defines a typed or untyped file | 
 
| Seek | 
 | 
Move the pointer in a binary file to a new record position | 
 
| SeekEoln | 
 | 
Skip to the end of the current line or file | 
 
| TextFile | 
 | 
Declares a file type for storing lines of text | 
 
 
 | 
 
 
 | 
  | 
| Example code : Show the file position in a binary file |  
 var 
  myWord, myWord1, myWord2, myWord3 : Word; 
  myFile : File of Word; 
 
begin   // Try to open the Test.cus binary file in write only mode 
  AssignFile(myFile, 'Test.cus'); 
  ReWrite(myFile); 
   // Write a few lines of Word data to the file 
  myWord1 := 123; 
  myWord2 := 456; 
  myWord3 := 789; 
  Write(myFile, myWord1, myWord2, myWord3); 
   // Close the file 
  CloseFile(myFile); 
   // Reopen the file in read only mode 
  FileMode := fmOpenRead; 
  Reset(myFile); 
   // Display the file contents 
  while not Eof(myFile) do 
  begin 
    Read(myFile, myWord);     // Note - FilePos shows the after read position 
    ShowMessage('Record '+ 
                IntToStr(FilePos(myFile))+' = '+ 
                IntToStr(myWord)); 
  end; 
   // Close the file for the last time 
  CloseFile(myFile); 
end; 
 |  
 
| Show full unit code | 
 
   Record 1 = 123   
Record 2 = 456   
Record 3 = 789 
 
 |  
 
 |