Добавить комментарий

Delphi

Сравнение с null в Delphi

Результат сравнения с null зависит от значения переменных NullEqualityRule и NullMagnitudeRule.

NullEqualityRule определяет правила для равенства:

var
  v: Variant;
  b: Boolean;
begin
  v := Null;

  NullEqualityRule := ncrLoose;  // Значение по умолчанию.
  // Null равен другому Null и не равен другим значениям
  b := (v = Null); // True

  NullEqualityRule := ncrStrict;  
  // Как в СУБД. Null не равен ничему, в том числе, другому Null
  b := (v = Null); // False
  
  NullEqualityRule := ncrError;  
  // Сравнение с Null будет вызывать исключение
  b := (v = Null); // Здесь будет ошибка

... 

NullMagnitudeRule аналогично определяет поведение для операторов сравнения больше и меньше:

var
  v: Variant;
  b: Boolean;
begin
  v := Null;

  NullMagnitudeRule := ncrLoose;  // Значение по умолчанию.
  // Null меньше любого другого значения
  b := (v < 0); // True
  b := (v > 0); // False

  NullMagnitudeRule := ncrStrict;
  // Как в СУБД. Сравнение с Null всегда ложь
  b := (v < 0); // False
  b := (v > 0); // False

  NullMagnitudeRule := ncrError;
  // Сравнение с Null будет вызывать исключение
  b := (v < 0); // Здесь будет ошибка

... 

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Допустимые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и абзацы переносятся автоматически.
  • Вы можете цитировать другие сообщения, используя тэг [quote]

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и абзацы переносятся автоматически.