{ **** UBPFD *********** by delphibase.endimus.com ****
>> Immidiate IF - непосредственный IF
Возращает один из результатов, в зависимости от выражения Expr. Результат
может быть любого типа, совместим с Variant
Зависимости: нет
Автор: Anatoly Podgoretsky, anatoly@podgoretsky.com, Johvi
Copyright: Anatoly Podgoretsky
Дата: 20 апреля 2002 г.
***************************************************** }function IIF(Expr: Boolean; TrueResult, FalseResult: Variant): Variant;
beginif Expr then
Result := TrueResult
else
Result := FalseResult;
end;
Пример использования:
S := IIF(FileExists('C:\autoexec.bat'), 'Found', 'Not found');
S := IIF(N <> 0), IntToStr(N), 'NULL');
N := IIF(N >= M, M, N);
Медленное IF (Immediate IF)
Это пользовательская функция, называемая IIF (сокращение от "Immediate IF"), которая предлагает альтернативу традиционному заявлению if-then-else. Она принимает три параметра:
Expr: Булевое выражение, определяющее, какой результат возвращать.
TrueResult: Значение, которое возвращается, если Expr истинно.
FalseResult: Значение, которое возвращается, если Expr ложно.
Функция возвращает Variant, что означает, что она может обрабатывать значения любого типа, совместимого с Variant.
В этом примере FileExists является выражением, определяющим, какой результат возвращать - 'Найдено' или 'Не найдено'.
Перевод целого числа в строку (или отображение "NULL", если оно равно нулю):
S:=IIF(N<>0,IntToStr(N),'NULL');
Здесь N <> 0 является выражением, определяющим, какой результат возвращать - результат IntToStr(N) или 'NULL'.
Обновление переменной с минимальным значением между двумя целыми числами:
N:=IIF(N>=M,M,N);
В этом примере N >= M является выражением, определяющим, какой результат возвращать - M или оригинальное значение N.
Преимущества и недостатки:
Преимущества:
Упрощает код, eliminiating need for traditional if-then-else statement.
Может быть использована как одна строка в многих ситуациях.
Недостатки:
Могло быть менее читаемым, чем традиционные if-then-else заявления, особенно для сложных выражений.
Ограничена гибкостью по сравнению с традиционными if-then-else заявлениями (например, не поддерживает несколько условий).
В целом, функция IIF - полезное дополнение к вашему инструментарю Delphi, особенно когда вам нужно компактный способ обрабатывать простые логические условия.
Непосредственный IF (Immidiate IF) - это функция в Delphi, которая возвращает один из результатов в зависимости от выражения Expr и может быть использована для упрощения кода и уменьшения количества строк.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS