Форум: "Основная";
Текущий архив: 2003.02.27;
Скачать: [xml.tar.bz2];
Вниз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
// или False
V : Variant;
begin
v:=IIF(True,123,"Test");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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c