Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.27;
Скачать: CL | DM;

Вниз

iif ?   Найти похожие ветки 

 
Дима2003   (2003-02-17 10:11) [0]

а есть ли в Delphi аналог VB"шного IIF или C"шного "?" ?

iif(True,Value1,Value2)=Value1

?(false,Value1,Value2)=Value2


 
Anatoly Podgoretsky ©   (2003-02-17 10:16) [1]

Нет


 
анонимус   (2003-02-17 10:18) [2]

Есть!
В Delphi 6 есть!

IfThen называется!


 
shiling   (2003-02-17 12:49) [3]

И в правду есть!!! Век живи-век учись....
Unit

MathStrUtilsor

Category

miscellaneous routines

Delphi syntax:

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;
function IfThen(AValue: Boolean; const ATrue: string; const AFalse: string = ""): string; overload;


 
REA ©   (2003-02-17 13:12) [4]

Только вот зачем? Медленнее и нечитабельнее. Писанины меньше только что.


 
shane54 ©   (2003-02-17 13:20) [5]

И Великие иногда ошибаются...


 
Anatoly Podgoretsky ©   (2003-02-17 13:24) [6]

Это не ошибка, есть потребность в функции получите, а вот насчет использования так это дело потребителя.


 
malkolinge ©   (2003-02-17 14:07) [7]


Об Этом еще Канту писал, что есть :))))
> Anatoly Podgoretsky ©



 
Anatoly Podgoretsky ©   (2003-02-17 14:26) [8]

Может оно в 6 и появилось, кто его знает - у меня ниже версия, но создание подобной функция задача 30 секунд, можно более универсальную на вириантах, правда это будет еще медленне, но более универсально.


 
Silver_   (2003-02-17 15:18) [9]

создай свою

function IIF(Cond: Boolean; Var Val1,Val2: Variant):Variant;
begin
if Cond then
Result:=Val1
else
Result:=Val1;
end;


 
myor ©   (2003-02-17 15:20) [10]

...
else
Result:=Val 2;//наверное
...


 
Silver_   (2003-02-17 15:29) [11]


> myor

да ты пряв пи"сял на скорую, получилось как видешь


 
myor ©   (2003-02-17 15:35) [12]

просто опечатка.


 
Anatoly Podgoretsky ©   (2003-02-17 15:41) [13]

Silver_ (17.02.03 15:18)
Вот этот вариант я написал много много лет назад, он очень гибкий

V := IIF(Cond,123,"Test");


 
Silver_   (2003-02-17 15:50) [14]

Anatoly Podgoretsky
ты о чем разве тебе придет в голову следующее

var
V: Integer;
...

if cond then
V:=123
else
V:="Test";


ето аналог

V := IIF(Cond,123,"Test");

попробуй еще раз прочесть вопрос :)


 
Anatoly Podgoretsky ©   (2003-02-17 16:22) [15]

Silver_ (17.02.03 15:50)
Придет и не надо передергивать карты, ключевое слов VARIANT, см. Silver_ (17.02.03 15:18)
Ты что содрал откуда то данную функции или все таки сам писал не зная что?


 
Silver_   (2003-02-18 11:28) [16]


> Ты что содрал откуда то данную функции или все таки сам
> писал не зная что?


сам такой пользуюсь, ответ писал по скорому (по памяти)
ошбочка в декларации
function IIF(Cond: Boolean; Var Val1,Val2: Variant):Variant;
нада убрать
Var

вот правильно

function IIF(Cond: Boolean; Val1,Val2: Variant):Variant;
begin
if Cond then
Result:=Val1
else
Result:=Val1;
end;


 
Anatoly Podgoretsky ©   (2003-02-18 12:33) [17]

И вот теперь попробуй еще раз V := IIF(Cond,123,"Test");

var
V : Variant;


 
Silver_   (2003-02-18 15:36) [18]

я не настырный но...


> И вот теперь попробуй еще раз V := IIF(Cond,123,"Test");


var
V : Variant;
begin
v:=IIF(True,123,"Test");
// или False Label1.Caption:=v;
end;


И усе катит как нада
в чем бяда не пойму :(


 
Anatoly Podgoretsky ©   (2003-02-18 16:00) [19]

Беда в варианте, но я не призываю его использовать, ему свое место, в первую очередь OLE


 
Silver_   (2003-02-18 16:04) [20]

так бы и сказал сразу а то пугаещь народ

правда эту функцию я тоже реко юзаю тока когда удовна, касиво,... :)

усе тема is Close;



Страницы: 1 вся ветка

Текущий архив: 2003.02.27;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.017 c
1-87381
msoftware
2003-02-15 11:41
2003.02.27
Как вызвать Абзац


1-87453
Dmitriy_R
2003-02-18 19:59
2003.02.27
Проверка существования файла.


14-87684
Amit
2003-02-11 10:33
2003.02.27
Вопрос к девушкам, если они тут есть?


3-87257
Aleksandr
2003-02-11 14:39
2003.02.27
Почему у BDGrid, подключенной к ClientDataSet, тормоза на скроле?


7-87714
Yurik
2002-12-23 23:23
2003.02.27
TWAIN