Главная страница
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.035 c
2-1175855454
voe
2007-04-06 14:30
2007.04.29
Определение типа данных.


15-1175448523
den303
2007-04-01 21:28
2007.04.29
Нужен файл из дистриба BDS 06


3-1171269054
Ламерок
2007-02-12 11:30
2007.04.29
Как узнать сушествует ли запись в ячейке поля?


3-1169549550
iviom
2007-01-23 13:52
2007.04.29
Как поставить NULL в поле datetime через ADODateSet


3-1170350971
Ёжик из тумана
2007-02-01 20:29
2007.04.29
Транзакции в хранимках