Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прогр.на_ЯВУ_уч.пос.DOC
Скачиваний:
24
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Установочные и завершающие операции

Так как имя файловой переменной назначается произвольно по правилам языка, то, чтобы связать его с конкретным физическим файлом на внешнем носителе информации, используется процедура

Assign (<имя_файловой_переменной>,<строка>);

Здесь имя задается в разделе описания переменных, а строкой является внешнее имя файла с возможным указанием пути, например:

Assign (Fil, 'c:\document\myfile.txt');

Строка может быть и переменной, например, можно вводить имя файла с клавиатуры. В качестве строки могут выступать и имена внешних устройств, принятые в MS-DOS: PRN, CON и другие.

В общем случае над файлами можно производить только две операции – просмотр файла и создание файла, все остальные являются их производными. Поэтому существуют две различные процедуры

Reset (< имя_файловой_переменной >);

Rewrite (< имя_файловой_переменной >);

Первая предназначена для открытия файла для просмотра. То есть на внешнем устройстве ищется файл, образуется специальный системный буфер для обмена, буферная переменная устанавливается на начало файла, то есть на его нулевой элемент. При этом предполагается, что открываемый файл уже существует, в противном случае возникает ошибка.

Вторая выполняет аналогичные действия, но создает не существовавший ранее файл. Если же такой файл уже существует, то при выполнении этой процедуры файл без предупреждения очищается.

После завершения работы с файлом его необходимо закрыть, то есть выполнить операции, обратные выполняемым двумя предыдущими процедурами. Для этого предназначена процедура

Close (< имя_файловой_переменной >);

Хотя при завершении работы всей программы происходит автоматическое закрытие всех файлов, но использование этой процедуры является правилом хорошего тона. Более того, в некоторых случаях без нее не обойтись, например, при создании файла, а затем использовании из него данных.

Операции ввода-вывода

Это две процедуры, которые и реализуют действия по чтению информации из файла и записи ее в файл.

Read (<имя_файловой_переменной >,<список_ввода>);

Write (<имя_файловой_переменной >,<список_вывода>);

В отличие от других процедур, они могут вызываться с различным числом параметров, и эти параметры могут иметь различные типы (объектно-ориентированные процедуры).

Выполнение процедуры Read происходит, начиная с текущей позиции указателя файла. При этом последовательно читаются значения, содержащиеся в файле, и присваиваются очередной переменной из списка ввода. После каждого чтения указатель файла смещается на следующую позицию. Если указатель файла будет установлен на позицию, не содержащую информации, то есть будет достигнут конец файла, то возникает ситуация «конец файла», обнаруживаемая с помощью специальной функции EOF.

Так как файл может быть пустым, то есть не содержать ни одного компонента, то при циклическом чтении информации из файла необходимо использовать оператор цикла While.

Процедура Write имеет обратный смысл, позволяя записывать в файл информацию из программы. Первым параметром должна быть файловая переменная, открытая процедурой Rewrite. Далее должен идти список выражений, тип которых совпадает с базовым типом файла.