Delphi справочник - Форум программистов - Навигация  
 A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z      По первой букве  
System     SysUtils     StrUtils     DateUtils     FileCtrl     ConvUtils     StdConvs     Math     Classes     Dialogs     Types     Variants    ПО Unit   Compiler directives     Directives     Keywords     Types     Variables     Constants     Functions     Procedures    По категории  

форум программистов

Основы Delphi
$IOChecks
Деректива компилятора
unit
  
1 {$IOChecks Off}

2 {$IOChecks On}
Описание
Директива компилятора $IOChecks определяет, будет ли выдано исключение, когда при операции Ввода/Вывода происходит ошибка.

Когда происходит ошибка, значение по умолчанию {$IOChecks On} генерирует исключение EInOutError.

При {$IOChecks Off} исключение не генерируется. Вместо этого, ответственность за проверку операций ввода/вывода возлагается на IOResult подпрограмм.
Примечания
Когда вызывается IOResult подпрограмма сбрасывает значение ошибки ввода/вывода в 0.

$IOChecks эквивалентен $I.

Эта директива может использоваться в пределах вашего кода множество раз.

Значение по умолчанию - $IOChecks On
Похожие команды
$I  Позволяет встроить код указанного файла в модуль

IOResult  Содержит возвращаемый код последней операции ввода/вывода

 
Пример кода : Попытка создать директорию дважды
var
  error : Integer;

begin
  // Попытка создать новый подкаталог в текущем каталоге
  // Выключение проверки ошибок ввода/вывода
  {$IOChecks off}
  MkDir('TempDirectory');

  // Каталог создался?
  error := IOResult;
  if error = 0
  then ShowMessage('Каталог создался')
  else ShowMessageFmt('Создание каталога потерпело неудачу с ошибкой %d',[error]);

  // Попытка создать новый подкаталог в текущем каталоге - произойдёт ошибка!
  MkDir('TempDirectory');
  error := IOResult;
  if error = 0
  then ShowMessage('Каталог создался снова')
  else ShowMessageFmt('Повтор создания провалился с ошибкой %d',[error]);

  // Удаление каталога для очистки
  RmDir('TempDirectory');

  // Включение проверки ошибок ввода/вывода
  {$IOChecks on}
end;

Каталог создался
Повтор создания провалился с ошибкой 183
 


Оплата за обучение в Kata Academy только после твоего трудоустройства в IT, начни карьеру Middle Java-разработчика



Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки? Slurm подготовили для вас особенный продукт!





форум программистов


© Форум Delphi  |  Форум Pascal   |  Блог программистов   |  Исходники Delphi   |  Автор сайта  |  Ссылки   |  Английская версия