我从pb转到delphi快好几个月了,但还是不能完全掌握,下面这种情况大家帮我看一看 我感觉这种情况时写法能有简单的写法就好了。if checkbox1.checked then
i:=1
else
i :=0;可不可以写成一句话,类似于这种(笔者想的)i :=(if checkbo1.ckecked :1,0)
i:=1
else
i :=0;可不可以写成一句话,类似于这种(笔者想的)i :=(if checkbo1.ckecked :1,0)
就可以了
那么写对的起自己对不起观众。呵呵~写程序到现在了,打字似乎不是问题了吧。多写点,清楚点也不错。
你们可以试试以下的代码,在form上放个按钮Var i : integer; b : Boolean;
begin
i := integer(True or False);
b := Boolean(1);
if b then
showmessage(inttostr(i))
end;
...
var
I: Integer;
... I := BInt[CheckBox1.Checked];
Bool_Value: array [Boolean] of Integer = (0, 1);
begin
i := Bool_Value[checkbox1.checked];
end;楼上的抢先一步了。
...
var
I: Integer;
... I := BInt[CheckBox1.Checked];
真是不错!好好学习!
I := Ord(CheckBox1.Checked);//如果觉得不方便,可以自己写一个Iif函数~~
//以前学foxbase的时候比较喜欢这个函数~~
//不过现在几乎不用~~
function Iif(mBool: Boolean; mDataA, mDataB: Variant): Variant; overload;
begin
if mBool then
Result := mDataA
else Result := mDataB;
end; { Iif }function Iif(mBool: Boolean; mDataA, mDataB: TObject): TObject; overload;
begin
if mBool then
Result := mDataA
else Result := mDataB;
end; { Iif }
I:=Abs(StrToInt((BoolToStr(CheckBox1.Checked,False))));
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;
他说的就很正确,这种方法最好了。
http://expert.csdn.net/Expert/topic/1494/1494660.xml?temp=.7170832