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.