Следующие процедуры открывают логический файл с файловой переменной <ф.п.>, связанной ранее с уже существующим файлом:
RESET(<ф.п.>) – для чтения,
REWRITE(<ф.п.>) – для записи.
Только после открытия файла становится возможным чтение и запись данных. При их выполнении переменная-указатель, связанная с файлом, будет указывать на начало этого файла, т.е. на компонент с номером нуль.
Процедуры открытия могут применяться многократно к одному и тому же файлу. Если файл был до этого открыт, то он автоматически предварительно закрывается. Повторный вызов RESET переустановит последовательность чтения вновь на самый первый элемент файла (потеря данных исключена). Но повторное обращение в REWRITEсотрет текущее содержимое файла и подготовит файл к заполнению, начиная с первого элемента.
Процедура CLOSE(f) закрывает открытый ранее логический файл f и обеспечивает сохранение всех записей и регистрацию файла на диске. Вызовы процедуры CLOSE необходимы для завершения работы с файлами. Также необходимо закрывать открытые файлы перед их удалением (ERASE) или переименованием (RENAME). При этом связь файла с файловыми переменными сохраняется. Попытка закрыть уже закрытый файл или еще не открытый вызовет сбой в работе программы. Закрытие файлов выполняется автоматически по отношению ко всем открытым файлам при нормальном завершении программы.
В таблице 8 сведены общие процедуры и функции для работы с файлами, наиболее применимые на практике.
Связывает <ф.п.> fс именем файла name типа string
Открывает файл с логическим именем f для чтения
Открывает файл с логическим именем f для записи
Закрывает файл с логическим именем f
Удаляет (стирает) физический файл, связанный с f, с диска. Стираемый файл должен быть закрыт
Переименовывает физический файл, связанный с
<ф.п.> f, в файл с новым именем NewName
Функция логического типа возвращает значение
TRUE, если достигнут признак конца файла или
файл пуст, иначе возвращает FALSE
При переименовании процедурой RENAME менять можно лишь имя файла, имя диска менять нельзя. Предварительно файл должен быть закрыт процедурой CLOSE.
Функция EOF(f) тестирует конец файла. Если она возвращает TRUE, при записи очередной компонент будет добавлен в конец файла, при чтении - файл считается исчерпанным.