Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.033 c
15-1175513137
IGray
2007-04-02 15:25
2007.04.29
Как послать файл с компа на сотик через USB-IrDA?


15-1175672948
mambo_dev
2007-04-04 11:49
2007.04.29
Подзабыл(


2-1176116225
defiler
2007-04-09 14:57
2007.04.29
Windows AD


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


15-1175843451
db2admin
2007-04-06 11:10
2007.04.29
Сталкер




   Наверх