Name
File Keyword
Syntax
var
BinaryFile: file;
TypedFile: file of Some type;Description
A file is a binary
sequence of some type. A file’s contents are usually stored in
a persistent medium, such as a disk drive. If you do not specify a
type, the untyped file is treated as a sequence of fixed-size records
where the record size is determined when you open the file with
Reset or Rewrite.
Internally, Delphi represents a binary file as a record. The
SysUtils unit declares the
TFileRec type for your convenience, or you can
declare the record yourself:
type
TFileRec = packed record
Handle: Integer; // Windows file handle
Mode: Integer; // fmInput, fmOutput, fmInOut, fmClosed
RecSize: Cardinal; // record size
Private: array[1..28] of Byte; // reserved by Delphi
UserData: array[1..32] of Byte; // you can use this
Name: array[0..259] of Char; // file path
end;Tips and Tricks
The
filetype is for binary files. See theTextFiletype for text files. Binary and text files often follow completely different rules in Delphi. Note also that theTextFiletype is not the same asfileofChar.The base type for a file can be a scalar type, an array type, or a record type. It should not be a pointer, dynamic array, or long string. Storing a pointer in a file serves no useful purpose because pointer values are ephemeral. Long and wide strings are pointers, so if you need to store strings in a file, use short strings or call
BlockReadandBlockWrite.Call
Resetto open an existing file orRewriteto create ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access