unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function CalFact(Num: integer): int64; //计算阶乘
var
i,Value: integer; //定义循环变量
begin
Value := 1;
for i := 1 to Num do
Value := Value * i; //循环计算得到数M的阶乘
Result := Value; //由隐含变量Result带回计算值
end;
function GetSum(V1,V2: integer): int64; //调用计算阶乘
var
SumV1,SumV2: int64; //定义临时变量
begin
sumv1 := CalFact(V1); //调用计算阶乘的自定义过程
sumv2 := CalFact(V2);
getsum := SumV1 + SumV2; //由函数名返回阶乘之和
end;
procedure TForm1.Button1Click(Sender: TObject); //"计算"按钮单击事件
var
Sum: int64; //得到阶乘和的变量
Ed1,Ed2: integer; //接收Edit1和edit2中的数值的变量
begin
if (Edit1.Text = '') or (edit2.Text = '') then //判断是否输入值
begin
application.MessageBox('请输入整数','提示',MB_OK);
exit;
end;
ed1 := strtoint(edit1.Text);
ed2 := strtoint(edit2.Text);
sum := getsum(ed1,ed2);
label3.Caption := trim(edit1.Text) + '与' + trim(edit2.Text) + '的阶乘和为:' + inttostr(sum);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;
end.