Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.29;
Скачать: CL | DM;

Вниз

Есть помнящие старый добрый фокспро?   Найти похожие ветки 

 
oldman ©   (2007-04-03 18:55) [0]

Как на дельфи реализовать функцию iif быстро и просто, а не через if и else?
И почему ее там до сих пор нет???


 
alien1769 ©   (2007-04-03 18:57) [1]

я помню, ну и что ?
может намекнеш про задачу (можно на мыло)


 
oldman ©   (2007-04-03 18:58) [2]

Просто вспоминая:
a:=iif(b>0,1,iif(b=0,0,-1)) завидки берут...


 
isasa ©   (2007-04-03 18:58) [3]

?

function IIFVar(Condition : Boolean; const ValueTrue, ValueFalse : Variant) : Variant;
begin
 if Condition then
   Result := ValueTrue
 else
   Result := ValueFalse;
end;


 
TUser ©   (2007-04-03 18:59) [4]

Если требуется [3], то в D7 есть стандартная функция ifthen () в каком-то модуле.


 
Чапаев ©   (2007-04-03 19:02) [5]

> a:=iif(b>0,1,iif(b=0,0,-1))
a:=Sign(b);
;-)


 
isasa ©   (2007-04-03 19:06) [6]

TUser ©   (03.04.07 18:59) [4]
:)
Нам не надо по простому ...

unit StrUtils;

function IfThen(AValue: Boolean; const ATrue: string;  AFalse: string = ""): string; overload;

unit Math;

function IfThen(AValue: Boolean; const ATrue: Integer; const AFalse: Integer = 0): Integer; overload;
function IfThen(AValue: Boolean; const ATrue: Int64; const AFalse: Int64 = 0): Int64; overload;
function IfThen(AValue: Boolean; const ATrue: Double; const AFalse: Double = 0.0): Double; overload;


 
isasa ©   (2007-04-03 19:10) [7]

Да, забыл добавить. Функция не такая простая, как может показаться. И работает(ну по крайней мере в Васике и C) хитро. Вне зависомости от результата логической операции оба выражения вычисляются. Так что можно так нарваться.


 
Virgo_Style ©   (2007-04-03 19:11) [8]

oldman ©   (03.04.07 18:58) [2]

Кому как, но лично на меня читабельность этого выражения наводит легкую тоску



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

Текущий архив: 2007.04.29;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.044 c
2-1175858786
vitv
2007-04-06 15:26
2007.04.29
DBGridEh-вопрос


15-1175444112
VirEx
2007-04-01 20:15
2007.04.29
Новое поколение


2-1176120148
Roman_S
2007-04-09 16:02
2007.04.29
Раздвижная форма


1-1173156261
ТОНИ
2007-03-06 07:44
2007.04.29
Сохранение формы с компонентами в файл.


15-1175833346
Steep
2007-04-06 08:22
2007.04.29
Build with RunTime Packages





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский