Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];

Вниз

IIF   Найти похожие ветки 

 
EternalWonderer   (2002-04-11 12:52) [0]

Задача: повысить читабельность кода путём применения вместо стандартной конструкции
If a<b
Then a
Else b;

бейсик - подобной функции
IIF(a<b,a,b);

Решается просто:
Function IIF(b: Boolean; sTrue,sFalse: String): String; Overload;
Begin
If b Then Result := sTrue Else Result := sFalse;
End;

Function IIF(b: Boolean; iTrue,iFalse: Integer): Integer; Overload;
Begin
If b Then Result := iTrue Else Result := iFalse;
End;


Но есть проблема:
IIF(MyObject<>Nil,MyObject.MyField,-1)
не пройдёт, потому что обращение к MyObject.MyField будет произведено независимо от того, истинно выражение или ложно.

Вопрос: Можно ли как - нибудь обойти это ограничение?



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.43 MB
Время: 0.011 c
1-80991
eSKey
2002-04-12 15:38
2002.04.25
Кто знает - шифрование и хранение пароля


1-80938
Darlok
2002-04-09 13:13
2002.04.25
Как прилинковать *.obj


1-80930
Yakudza
2002-04-11 16:03
2002.04.25
Symbol was eliminated by linker


1-80984
Sat7
2002-04-12 11:59
2002.04.25
Есть дерево. Но не бинарное. :)


14-81074
Serd_hhc
2002-03-21 11:39
2002.04.25
Ну помогите же, пожалуйста





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский