Раздел: Стандартные функции Паскаля

Функция IOResult

Основы программирования

Подпишись на новости, чтобы ничего не пропустить


Рассказывая о программировании на Паскале я нередко упоминал функцию IOResult. Пришло время разобраться с ней более подробно.

Функция IOResult возвращает результат последней операции ввода-вывода. Синтаксис:

function IOResult : WORD;

Функция IOResult возвращает результат какой-либо операции ввода-вывода, например, чтения или записи файла. Использование этой функции возможно только при отключенной проверке ввода-вывода (по умолчанию включено, то есть ввод-вывод проверяется операционной системой).

Проверку ввода-вывода можно отключить директивой компилятора {$I}. После вызова функции IOResult проверку надо снова включить.

Функция проверяет ошибки ввода-вывода и возвращает ноль, если ошибок не было. Если же произошла ошибка, то функция возвращает ненулевое значение.

Пример:

program myprog;

var F : System.Text;

begin
  Assign(F, 'anyfile.txt');
  {$I-}                   //Отключаем проверку ввода-вывода
  Reset(F);               //Пытаемся открыть файл
  {$I+}                   //Включаем проверку ввода-вывода
  if IOResult = 0 then    //Если файл успешно открыт
    begin
      WriteLn('File opened successfully');
      Close(F);           //Закрываем файл
    end
  else                    //Если файл открыть не удалось
    WriteLn('Could not open the file');

  WriteLn('Then end. Press ENTER...');
  ReadLn;
end.

Функция может возвращать одно из следующих значений:

Ошибки DOS

Значение Описание
2 Файл не найден
3 Путь не найден
4 Слишком много открытых файлов
5 Доступ запрещен
6 Недопустимый дескриптор файла
12 Недопустимый режим доступа к файлам
15 Неверный номер диска
16 Не удается удалить текущий каталог
17 Невозможно переименовать несколько томов

Ошибки ввода-вывода

Значение Описание
100 Ошибка при чтении с диска
101 Ошибка при записи на диск
102 Файл не назначен
103 Файл не открыт
104 Файл не открыт для ввода
105 Файл не открыт для вывода
106 Неверный номер

Фатальные ошибки

Значение Описание
150 Диск защищен от записи
151 Неизвестное устройство
152 Привод не готов
153 Неизвестная команда
154 Проверка CRC не удалась
155 Указан недопустимый диск
156 Ошибка на диске
157 Недопустимый тип носителя
158 Сектор не найден
159 В принтере закончилась бумага
160 Ошибка при записи на устройство
161 Ошибка при чтении с устройства
162 Аппаратный сбой

Если хотите, то можете немного поупражняться в программировании и написать свою функцию для расшифровки кодов ошибок, то есть функцию, которая преобразует код ошибки в её описание в текстовом виде.

Также посмотрите видео для лучшего понимания.


Как стать программистом 2.0 Как стать программистом 2.0

Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… Подробнее...
Помощь в технических вопросах Помощь в технических вопросах

Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение - ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее...

Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика