Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Аналог в Делфи операции из Си [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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо