![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Аналог в Делфи операции из Си [D6, WinXP]
dvm © (2003-01-26 16:09:00)Подскажите, может есть более короткий способ создать в Delphi аналог операции из си:
myfunction(a?b:c)
а то в Делфи, что-то короче чем:
if a then temp:=b else temp:=b
MyFunction(temp);
не получается
jack128 (2003-01-26 22:56:00) [1]2 Serious Sam Зачем ногами, мы сразу ломом по балде и нет проблем
2 dvm паскаль вообще не изабилует сокращениями, превыкай
Serious Sam (2003-01-26 21:49:00) [2]>короче ...не получается
Да, потому, что object pascal язык такой. Квадратно-гнездовой.
(Прошу ногами не пинать)
Романов Р.В. (2003-01-26 17:35:00) [3]Интересно как сделана IfThen?
Anatoly Podgoretsky (2003-01-26 17:24:00) [4]
//*****************
//* Immidiate IF *
//*****************
function IIF(Expr,TrueRet,FalseRet:Variant) : Variant;
begin
if Expr then Result := TrueRet else Result := FalseRet;
end;
Вот эта универсальная, работает как минимум начиная с Д2
asmith (2003-01-26 16:55:00) [5]Функцмя IfThen - появилась в D6.
dvm (2003-01-26 16:29:00) [6]
> function IFA(a, b, c): TypeB;
> begin
> if a then Result:=b else Result:=c;
> end;
Да, но она не универсальна. Вот если бы тип возвращаемого функцией результата выбирался исходя из типов a, b, c.
Романов Р.В. (2003-01-26 16:21:00) [7]if a then MyFunction(b) else MyFunction(с);
или
MyFunction(IFA(a, b, c));
где
function IFA(a, b, c): TypeB;
begin
if a then Result:=b else Result:=c;
end;