Основы языка Delphi

79b4045b

Пример сообщения об ошибке открытия



Рисунок 7.2. Пример сообщения об ошибке открытия файла (программа запущена из Delphi)


Если программа запускается из Windows, то окно с сообщением об ошибке выглядит иначе (Рисунок 7.3).



Рисунок 7.3. Пример сообщения об ошибке открытия файла . (программа запущена из Windows)


Программа может взять на себя задачу контроля за результатом выполнения инструкции открытия файла. Сделать это можно, проверив значение функции IOResult (input-Output Result — результат ввода/вывода). Функция IOResuit возвращает 0, если операция ввода/вывода завершилась успешно; в противном случае — код ошибки (не ноль).

Для того чтобы программа смогла проверить результат выполнения операции ввода/вывода, нужно разрешить ей это делать. Для этого надо перед инструкцией вызова процедуры открытия файла поместить директиву компилятору — строку {$I-}, которая запрещает автоматическую обработку ошибок ввода/вывода. Эта директива сообщает компилятору, что программа берет на себя контроль ошибок. После инструкции открытия файла следует поместить директиву {$I+}, восстанавливающую режим автоматической обработки ошибок ввода/вывода.

На Рисунок 7.4 приведена блок-схема алгоритма открытия файла для добавления, обеспечивающего создание файла (и тем самым устраняющего ошибку, возникающую при попытке открыть несуществующий файл) в случае, если открываемого для добавления файла на диске еще нет.

Содержание раздела