Главная страница
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.48 MB
Время: 0.046 c
15-1175833346
Steep
2007-04-06 08:22
2007.04.29
Build with RunTime Packages


15-1175342248
Kerk
2007-03-31 15:57
2007.04.29
Вот вам и результаты селекции


2-1175792542
DelphiLexx
2007-04-05 21:02
2007.04.29
Как перехватить момент открытия PopupMenu


3-1171025705
Gin2
2007-02-09 15:55
2007.04.29
ADO - большой файл(~184 Мб) в блоб


3-1170756092
iviom
2007-02-06 13:01
2007.04.29
Как копировать в буфер обмена содержимое DBGridEh?