三項演算子IfThenの使い方
|
79 |
TreeParameterOperator |
動作確認 |
Delphi2007 |
更新日 |
2008/02/04(月) |
VBではIIFという三項演算子は
DelphiではIfThen関数として実装されています。
HELPによると定義は次の通り
function IfThen(AValue: Boolean; const
ATrue: Integer; const AFalse: Integer = 0): Integer; overload;
Integer以外にStringなどでも実装されています。
AValueがTrueの場合、戻り値にATrueの値、
AValueがFalseの場合、戻り値にAFalseの値が返されますが
いわゆる厳密な三項演算子ではないので
ATrue、AFalseに関数が指定された場合は
IfThen関数が呼び出された段階で
どちらの関数も呼び出されることになります。
つまり、
────────────────────
function TestA: Integer;
begin
ShowMessage('TestAが呼び出されました');
Result := 1;
end;
function TestB: Integer;
begin
ShowMessage('TestBが呼び出されました');
Result := 2;
end;
var
Value: Integer;
begin
Value := IfThen(True, TestA, TestB);
end;
────────────────────
このようにすると、
TestA、TestB、両方でShowMessageが呼ばれて
Valueに1が入ります。
|