Типизированные файлы состоят из машинных представлений чисел, символов и структур, из них построенных. Они хранят данные в том же виде, что и память ЭВМ. С помощью типизированных файлов можно осуществлять обмен данными только между дисками и рабочей памятью программы, но нельзя непосредственно вывести данные на экран ПК, принтер. Файлы могут быть заполнены данными в одной программе, а обрабатываться в другой.
Типизированные файлы определяют упорядоченные совокупности произвольного числа однотипных элементов с прямым (произвольным) и последовательным методом доступа.
Последовательный доступ состоит в том, что по файлу можно двигаться только последовательно, начиная с первого элемента, и, кроме этого, всегда существует возможность начать просмотр файла с его начала (аналог – магнитная лента).
Прямой (произвольный) доступ состоит в непосредственном поиске данных по заданному номеру или продвижении к заданному месту файла по номеру записи.
Файловый тип или переменную файлового типа можно задать с помощью ключевых слов file of и указания типа компонентов или в разделе описаний типов:
1) type fl = file of тип элементов;
var f1, f2 : fl ;
или в разделе описания переменных:
2)var f1, f2 : file of тип элементов;
Например:
type data = record day : 1..31;
month : 1..12;
year : integer
end;
fil1 = file of integer;
var f1, f2: file of data;
fn: fil1;
С переменной файлового типа связано понятие текущего указателя файла. При определении файловой переменной рождается скрытая переменная – текущий указатель. Текущий указатель показывает на некоторый конкретный элемент файла, с которым в данный момент можно производить действия, выполняемые поэлементно. В результате совершения операций текущий указатель может перемещаться, настраиваясь на тот или иной элемент файла. Все элементы считаются пронумерованными; начальный элемент имеет нулевой номер.
Все операции могут производиться лишь с элементами файлов. Нет таких операций, которые бы работали с целыми файлами, в том числе операций сравнения и операций присваивания значения одной файловой переменной другой файловой переменной. Например, не имеют смысла выражения:
f1:= f2; f1 > f2;.