Текстовый файл описывается с помощью служебного слова text.
var f: text;
Типизированные файлы могут описываться следующим образом:
var f: file of тип;
Предварительно можно определить новый тип данных:
Type имя = file of тип;
Бестиповый файл описывается с помощью служебного слова file:
var имя: file;
Например:
Type
Massiv = array [1..25] of real;
ff = file of real;
Var
a: text;
b: ff;
c: file of integer;
d: file of massiv;
{ В файле d элементом является массив из 25 вещественных чисел}
3. Обработка типизированных файлов. Ниже рассмотрены процедуры и функции, которые используются для работы как с типизированными, так и с текстовыми файлами.
Процедура assign.
Для начала работы с файлами необходимо связать файловую переменную в программе с файлом на диске. Для этого используется процедура assign (f, s), где f – имя файловой переменной, а s – полное имя файла на диске (файл должен находиться в текущем каталоге при условии, что к нему специально не указывается путь).
Например,
Var
f: file of real;
Begin
assign (f, ‘ d: \ tp\ tmp\ abc.dat’);
|
|
Процедуры reset, rewrite.
После установления связи между файловой переменной и именем файла на диске нужно открыть файл, воспользовавшись процедурами reset или rewrite.
Когда будет выполнена процедура reset(f), где f -имя файловой переменной, файл будет открыт для чтения и станет доступен его первый элемент. Далее можно выполнять чтение и запись информации из файла.
Файл можно открыть для записи и очистить при помощи процедуры rewrite (f), где f -имя файловой переменной. Она открывает и очищает файл (то есть удаляет из него информацию), после чего его можно использовать для записи.
Процедура close.
Процедура close(f), где f - имя файловой переменной, закрывает файл, который ранее был открыт процедурами reset, rewrite. Именно ее следует использовать при закрытии файла, в который была записана информация. Дело в том, что writе не обращается непосредственно к диску, а пишет информацию в специальный участок памяти, называемый буфером файла. После того как буфер заполнится, вся информация из него вносится в файл. При выполнении операции close сначала происходит запись буфера файла на диск, и только потом файл закрывается. Если его не закрыть вручную, то это произойдет автоматически при завершении работы программы, однако пропадет информация, хранимая в буфере файла.
После записи информации в файл его необходимо закрывать с помощью процедуры close.
Процедура rename.
Переименование файла, связанного с файловой переменной f, осуществляется в то время, когда он закрыт, при помощи процедуры rename (f, s), где f - файловая переменная, s - новое имя файла (строковая переменная).
|
|
Процедура erase.
Удаление файла, связанного с переменной f, выполняется посредством процедуры erase(f), в которой также является именем файловой переменной. Для корректного выполнения этой операции файл должен быть закрыт.
Функция eof.
Функция eof (f) (end of file), где f- имя файловой переменной, принимает значение «истина» (true), если достигнут конец файла, иначе - «ложь» (false).