Delphi 中的 IfThen 函数 - 回复 "深挖洞、广积粮" 的问题

问题来源: http://www.cnblogs.com/del/archive/2008/11/14/1120015.html#1370413

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)