Файл (последовательность) — это одна из наиболее фундаментальных структур данных. Программная организация компьютеров, их связь с внешними устройствами основаны на файловой структуре.
Файлы позволяют решить две проблемы:
- 1) возможность формирования и сохранения значений для последующего использования другими программами (например, в программах многократной обработки информационных систем, таких как платежные ведомости, различные АСУ, базы данных, необходимость длительного хранения информации очевидна);
- 2) взаимодействие программ с внешними устройствами ввода-вывода: дисплеем, принтером, АСП и т. п.
В Паскале эти проблемы снимаются с помощью структурированных данных файлового типа.
Файловый тип данных в программе задается следующем образом:
type = file of.
В качестве типа компонентов файла разрешается использовать любой тип данных, кроме файлового Описание файловой переменной задается обычным способом в разделе описаний. Например:
var f: intfile; или var f: file of integer;
Файловая переменная является буфером между Паскаль-программой и внешним устройством и должна быть логически с ним связана. Связь осуществляется оператором языка Паскаль:
assign (,'').
Как правило, файлы для хранения данных связаны с устройством внешней памяти на магнитных носителях (дисковод) и носят название внешние файлы. Если, например, файл с именем primer, dat логически связан с дисководом А, то все данные, помещаемые в файл, будут храниться на этом дисковом накопителе, a установка «окна» между программой и файлом будет определяться через файловую переменную f оператором.
assign (f, 'primer.dat').
Если внешним устройством является принтер, то связь осуществляется оператором assign (f, '1st:'). Здесь 1st — логическое имя печатающего устройства. Ниже приведены логические имена внешних устройств ввода-вывода:
con — консоль; trm — терминал; kbd — клавиатура; 1st — принтер; aux — буфер сети;
usr-драйвер пользователя.
После осуществления связи файловая переменная f отождествляется с соответствующим файлом.
Для работы с файлом его необходимо открыть, а по окончании работы — закрыть Файл открывается для чтения оператором reset (f), для записи — оператором rewrite (f).
Чтение и запись данных осуществляется известными командами read/write, только в начале списка помещается имя файловой переменной:
read (f,); readln (f,);
write (f,); writeln (f,).
Закрытие файла осуществляется командой close (f).