Delphi怎么定义一个有返回值的方法。

时间:2021-03-22 19:06:07

//人物角色
   //魔族男
  if   RButtondm.Checked then
  begin
   Tdm:='dm';
  end;
  //魔族女
  if   RButtondf.Checked then
  begin
   Tdm:='df';
  end;
  //天族男
  if   RButtonlm.Checked then
  begin
   Tdm:='lm';
  end;
  //天族女
  if   RButtonlf.Checked then
  begin
   Tdm:='lf';
  end;
   最后获得选择结果。
  showmessage(Tdm);

这样一个判断。不想写在事件中。想用调用的形式来实现。请问怎么写。以前都是直接写在事件中。好多代码都放在一起。一个事件里面写很多东西。后面自己都分不清楚了。

3 个解决方案

#1


写在function 里 function可以有返回值的 

#2


type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    function test():string;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

function TForm1.test: string;
var Tdm:string;
begin
  //人物角色
     //魔族男
    if   RButtondm.Checked then
    begin
     Tdm:='dm';
    end;
    //魔族女
    if   RButtondf.Checked then
    begin
     Tdm:='df';
    end;
    //天族男
    if   RButtonlm.Checked then
    begin
     Tdm:='lm';
    end;
    //天族女
    if   RButtonlf.Checked then
    begin
     Tdm:='lf';
    end;
    Result := Tdm;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage(test);
end;
是要这个?

#3


引用 2 楼 case5166 的回复:
Delphi/Pascal code?



1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950

type  TForm1 = class(TForm)     Button1: TButton;     procedure Button1Click(S……
谢谢
就是这个意思。。

#1


写在function 里 function可以有返回值的 

#2


type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    function test():string;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

function TForm1.test: string;
var Tdm:string;
begin
  //人物角色
     //魔族男
    if   RButtondm.Checked then
    begin
     Tdm:='dm';
    end;
    //魔族女
    if   RButtondf.Checked then
    begin
     Tdm:='df';
    end;
    //天族男
    if   RButtonlm.Checked then
    begin
     Tdm:='lm';
    end;
    //天族女
    if   RButtonlf.Checked then
    begin
     Tdm:='lf';
    end;
    Result := Tdm;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage(test);
end;
是要这个?

#3


引用 2 楼 case5166 的回复:
Delphi/Pascal code?



1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950

type  TForm1 = class(TForm)     Button1: TButton;     procedure Button1Click(S……
谢谢
就是这个意思。。