Средства работы с файлами в FPC
FPC позволяет сохранить результаты работы программы в файле. Файл – это именованная структура данных, представляющая собой последовательность компонент одного и того же типа, причем количество элементов последовательности практически не ограничено. Компоненты могут быть любого типа, кроме файлового или структурированного, содержащего файловый элемент. В первом приближении файл можно рассматривать как массив переменной длины неограниченного размера. В FPC под файлом понимается и любое внешнее устройство. Например, принтер, дисплей и клавиатура. ИСР поддерживает разные способы работы с файлами:
• Использование файловых переменных (поддерживается модулем System). Это низкоуровневые средства.
• Использование имен файлов (поддерживается модулем SysUtils). Это расширенные средства.
• Использование класса потоков TStream, в котором файлы рассматриваются, как вид потоков байтовых данных.
Для работы с файлами определены операции:
• Установочные и завершающие.
• Перемещения по файлу.
• Ввод/вывод.
• Специальные.
Файловые типы
Работа с файлами с использованием файловых переменных поддерживается модулем System. Он подключен по умолчанию и в списке uses не отображается. Файловая переменная – это имя файла в программе. Средства модуля System не поддерживают имен файлов, используемых в операционной системе. Как и любая структура данных (переменная, массив) программы, файл должен быть объявлен в разделе описания переменных. Объявление файла осуществляется заданием имени файловой переменной в разделе переменных var программы. При этом указывается тип компонент файла. Возможны 3 типа файлов:
• Типизированные. В них задается тип (а значит и размер) компонента. Такие файлы применяются для организации произвольного доступа к компонентам файла (выбор компонента по номеру).
• Нетипизированные. Тип компонент не задан, и файл рассматривается, как последовательность записей. Используются для быстрого копирования. Длина записи по умолчанию 128 байт. Ее можно задавать.
• Tекстовые. Содержат последовательность строк символов произвольной длины, разделенных специальными кодами конца строки. Используются для обработки текстов.
Примеры объявления файловой переменной для разных типов файлов:
var
F1:file of char; // типизированный файл символов
F2:file of real; // типизированный файл вещественных чисел
F3:file of integer; // типизированный файл целых чисел
F4:file; // нетипизированный файл
F5:file of text; // текстовый файл