где
T = record
a:Byte;
b:Char;
c:Integer
end;
байт
| код символа
| Целое со знаком
| ...
| байт
| код символа
| целое со знаком
| Eof
|
Нумерация элементов файла выполняется слева направо начиная от нуля (кроме текстовых файлов). Количество элементов файла в каждый момент времени не известно, но известно, что в конце файла располагается специальный символ конца файла Eof, в качестве которого используется управляющий символ ASCII с кодом 26 (Ctrl+Z).
Файлы в Object Pascal классифицируются по двум признакам:
1) по типу (логической структуре):
· типизованные;
· текстовые;
· нетипизованные;
2) по методу доступа к элементам файла:
· последовательного доступа;
· прямого доступа.
Все элементы типизованного файла должны быть одного типа. Типизированные файлы могут быть любого типа, кроме файлового и опирающегося на файловый.
Пример
Допустимые объявления:
type
TPhone = record
FN,LN: string[20];
PN: string[15];
Listed: Boolean
end;
TPhoneList = file of TPhone;
var
f: file of Integer;
FC: file of Char;
FB: file of Byte;
| Недопустимые объявления:
type
TF1 = file of file;
TFR = record
А: Integer;
F: file of Real;
end;
TF2: file of TFR;
|
Типизированные файлы допускают как последовательный, так и прямой доступ. Работая с прямым доступом, следует помнить, что элементы типизированных файлов всегда нумеруются, начиная от нуля.
Текстовые файлы являются разновидностью файлов типа file of char. Для их описания используется предопределенный тип Text.