Компонентный или типизированный файл - это файл с объявленным  типом его компонент. Компонентные файлы состоят из машинных представлений значений переменных,  они хранят данные в том же виде,  что и память ЭВМ.

   Описание величин файлового типа имеет вид:

 

         type M= File Of T; 

где М - имя файлового типа, Т - тип компоненты. Например: 

         type

           FIO= String[20];

           SPISOK=File of FIO;

         var

           STUD, PREP: SPISOK; 

   Здесь STUD,   PREP  - имена файлов,  компонентами которых являются строки.

   Описание файлов можно задавать в разделе описания переменных: 

         var

            fsimv: File of Char;

            fr: File of Real;

   Компонентами файла могут быть все скалярные типы,  а из структурированных - массивы, множества, записи. Практически во всех конкретных реализациях языка ПАСКАЛЬ конструкция "файл файлов" недопустима.

   Все операции  над  компонентными  файлами производятся  с помощью стандартных процедур:

 

   Reset, Rewrite, Read, Write, Close.

 

    Для ввода - вывода используются процедуры: 

     Read(f,X);

     Write(f,X); 

   где f - имя логического файла,  Х - либо переменная,  либо массив, либо строка,  либо множество, либо запись с таким же описанием, какое имеет компонента файла.

    Выполнение процедуры  Read(f,X) состоит в чтении с внешнего устройства одной компоненты файла и запись ее в X. Повторное применение процедуры Read(f,X) обеспечит чтение следующей компоненты файла и запись ее в X.

   Выполнение процедуры Write(f,X) состоит в записи X на внешнее устройство как   одной  компоненты.  Повторное применение этой процедуры обеспечит запись X как следующей компоненты файла.

   Для работы с компонентными файлами введена расширенная форма операторов ввода и вывода: 

    Read(f,X1,X2,...XK) 

    Write(f,X1,X2,...XK)  

   Здесь f - компонентный файл, а переменные Х1, Х2,...ХК должны иметь тот-же тип, что и объявленный тип компонент файла f.