Delphi 下没有三元运算或三目运算。
可用 StrUtils 单元和 Math 单元分别有一个 IfThen 函数进行编写。
举例:
StrUtils 单元和 Math 单元 分别有一个 IfThen 函数, 举例:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses StrUtils, Math;
procedure TForm1.Button1Click(Sender: TObject);
var
a: Integer;
str: string;
begin
a := 1;
str := StrUtils.IfThen(a > 0, 'aaa', 'bbb');
ShowMessage(str); {aaa}
a := -1;
str := StrUtils.IfThen(a > 0, 'aaa', 'bbb');
ShowMessage(str); {bbb}
a := 1;
str := StrUtils.IfThen(a > 0, 'aaa');
ShowMessage(str); {aaa}
a := -1;
str := StrUtils.IfThen(a > 0, 'aaa');
ShowMessage(str); {}
end;
procedure TForm1.Button2Click(Sender: TObject);
var
str: string;
num: Integer;
begin
str := '万一';
num := Math.IfThen(str <> '', 99, 11);
ShowMessage(IntToStr(num)); {99}
str := '';
num := Math.IfThen(str <> '', 99, 11);
ShowMessage(IntToStr(num)); {11}
str := '万一';
num := Math.IfThen(str <> '', 99);
ShowMessage(IntToStr(num)); {99}
str := '';
num := Math.IfThen(str <> '', 99);
ShowMessage(IntToStr(num)); {0}
end;
end.
相关阅读 >>
Delphi types of actual and formal var parameters must be identical
更多相关阅读请进入《Delphi》频道 >>