Файл – именованная область на внешнем носителе данных. Любой файл имеет 3 характерные особенности:
- Каждый файл имеет имя, это дает возможность работать сразу с несколькими файлами.
- Файл содержит компоненты одного и того же типа.
- Длина создаваемого файла не оговаривается про его объявлении и ограничивается только емкостью памяти компьютера.
При объявлении файла используется ключевое слово File. Файл объявляется в разделе объявления переменных var или в разделе описания типа type по следующему формату:
А) var <файловая переменная>:File of <тип>;
Б) type <имя типа>=File of <тип>;
var <ф.п.>:<имя типа>;
Операции над файлами.
- Assign (ф.п., <имя файла>); - присваивание имени внешнего файла файловой переменной. После этой операции все остальные действия над файловой переменной будут предполагать действия над дисковым файлом. Ограничение: Assign не употребляется для файла, который в настоящий момент используется (открыт).
- Rewrite (ф.п.) – подготовка к записи с начала файла. Создает и открывает новый внешний файл с именем, назначенным файловой переменной. Указатель файла устанавливается на начало файла (Компонента с нулевым номером), файл становится открытым для записи, но закрытым для чтения.
- Write (ф. п., V1,V2,…Vn) – запись в файл.
- Reset (ф. п.) –подготовка к чтению с начала файла. Открывает существующий файл (внешний), имя которого присвоено файловой переменной. Указатель файла устанавливается на начало файла.
- Read (ф. п., V1, V2,…,Vn) – чтение из файла. При каждом считывании в переменную, указатель файла переводится к следующей компоненте.
- Close (ф. п.) – закрытие файла.
- Eof (ф. п.) – возвращает значение true, если указатель файла находится за последней компонентой или если в файле нет компонентов.
- Filesize (ф. п.) – определяет текущий размер файла (число компонентов в файле).
- Filepos (ф. п.) – определение позиции текущей компоненты файла.
- Seek (ф. п., n:integer) – перемещает указатель файла к заданной компоненте n.
В Паскале рассматривается три типа файла:
- Типизированные файлы (File of <тип>)
- Текстовые файлы (Text)
- Не типизированные файлы (File)