好了,源码我贴出来了, 请大家帮忙解释一下吧。unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, XPMan, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; Button8: TButton; Button9: TButton; Button10: TButton; Button11: TButton; Button12: TButton; Button13: TButton; Button14: TButton; Button15: TButton; Button16: TButton; GroupBox1: TGroupBox; Edit1: TEdit; XPManifest1: TXPManifest; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Button8Click(Sender: TObject); procedure Button9Click(Sender: TObject); procedure Button10Click(Sender: TObject); procedure Button11Click(Sender: TObject); procedure Button12Click(Sender: TObject); procedure Button13Click(Sender: TObject); procedure Button14Click(Sender: TObject); procedure Button15Click(Sender: TObject); procedure Button16Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1; zhen1:integer; zhen2:integer; zhen3:integer; zhen4:integer; wenben:string; result:real; implementation{$R *.dfm} function Add(a,b:real):real; begin add:=a+b; end; function Sub(a,b:real):real; begin sub:=a-b; end; function Mul(a,b:real):real; begin mul:=a*b; end; function Exc(a,b:real):real; begin Exc:=a/b; end; procedure TForm1.Button1Click(Sender: TObject); begin edit1.text:=edit1.text+'1'; end;procedure TForm1.Button2Click(Sender: TObject); begin edit1.text:=edit1.text+'2'; end;procedure TForm1.Button3Click(Sender: TObject); begin edit1.text:=edit1.text+'3'; end;procedure TForm1.Button4Click(Sender: TObject); begin edit1.text:=edit1.text+'4'; end;procedure TForm1.Button5Click(Sender: TObject); begin edit1.text:=edit1.text+'5'; end;procedure TForm1.Button6Click(Sender: TObject); begin edit1.text:=edit1.text+'6'; end;procedure TForm1.Button7Click(Sender: TObject); begin edit1.text:=edit1.text+'7'; end;procedure TForm1.Button8Click(Sender: TObject); begin edit1.text:=edit1.text+'8'; end;procedure TForm1.Button9Click(Sender: TObject); begin edit1.text:=edit1.text+'9'; end;procedure TForm1.Button10Click(Sender: TObject); begin edit1.text:=edit1.text+'0'; end;procedure TForm1.Button11Click(Sender: TObject); begin wenben:=edit1.Text; edit1.Clear; button12.Enabled:=false; button13.Enabled:=false; button14.Enabled:=false; zhen1:=1; end;procedure TForm1.Button12Click(Sender: TObject); begin wenben:=edit1.Text; edit1.Clear; button11.Enabled:=false; button13.Enabled:=false; button14.Enabled:=false; zhen2:=2; end;procedure TForm1.Button13Click(Sender: TObject); begin wenben:=edit1.Text; edit1.Clear; button11.Enabled:=false; button12.Enabled:=false; button14.Enabled:=false; zhen3:=3; end;procedure TForm1.Button14Click(Sender: TObject); begin wenben:=edit1.Text; edit1.Clear; button11.Enabled:=false; button12.Enabled:=false; button13.Enabled:=false; zhen4:=4; end;procedure TForm1.Button15Click(Sender: TObject); begin if (zhen1=1)and (wenben<>'') then begin result:=add(strtofloat(wenben),strtofloat(edit1.text)); edit1.Text:=floattostr(result); button11.Enabled:=true; button12.Enabled:=true; button13.Enabled:=true; button14.Enabled:=true;end else if (zhen2=2)and(wenben<>'') then begin result:=sub(strtofloat(wenben),strtofloat(edit1.Text)); edit1.Text:=floattostr(result); button11.Enabled:=true; button12.Enabled:=true; button13.Enabled:=true; button14.Enabled:=true; end else if (zhen3=3)and(wenben<>'') then begin result:=mul(strtofloat(wenben),strtofloat(edit1.Text)); edit1.Text:=floattostr(result); button11.Enabled:=true; button12.Enabled:=true; button13.Enabled:=true; button14.Enabled:=true; end else if (zhen4=4)and(wenben<>'') then begin result:=Exc(strtofloat(wenben),strtofloat(edit1.Text)); edit1.Text:=floattostr(result); button11.Enabled:=true; button12.Enabled:=true; button13.Enabled:=true; button14.Enabled:=true; end else showmessage('输入有误'); end;procedure TForm1.Button16Click(Sender: TObject); begin edit1.Clear; button11.Enabled:=true; button12.Enabled:=true; button13.Enabled:=true; button14.Enabled:=true; end;procedure TForm1.FormCreate(Sender: TObject); begin edit1.Clear; end;end.
小技巧:您的procedure TForm1.Button1Click(Sender: TObject); begin edit1.text:=edit1.text+'1'; end;procedure TForm1.Button2Click(Sender: TObject); begin edit1.text:=edit1.text+'2'; end;procedure TForm1.Button3Click(Sender: TObject); begin edit1.text:=edit1.text+'3'; end; //....可以简写为:procedure TForm1.Button1Click(Sender: TObject); begin With Sender As TButton do edit1.text:=edit1.text+Caption; end; 然后其他的Button可以共用此代码
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XPMan, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
Button16: TButton;
GroupBox1: TGroupBox;
Edit1: TEdit;
XPManifest1: TXPManifest;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
zhen1:integer;
zhen2:integer;
zhen3:integer;
zhen4:integer;
wenben:string;
result:real;
implementation{$R *.dfm}
function Add(a,b:real):real;
begin
add:=a+b;
end;
function Sub(a,b:real):real;
begin
sub:=a-b;
end;
function Mul(a,b:real):real;
begin
mul:=a*b;
end;
function Exc(a,b:real):real;
begin
Exc:=a/b;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.text:=edit1.text+'1';
end;procedure TForm1.Button2Click(Sender: TObject);
begin
edit1.text:=edit1.text+'2';
end;procedure TForm1.Button3Click(Sender: TObject);
begin
edit1.text:=edit1.text+'3';
end;procedure TForm1.Button4Click(Sender: TObject);
begin
edit1.text:=edit1.text+'4';
end;procedure TForm1.Button5Click(Sender: TObject);
begin
edit1.text:=edit1.text+'5';
end;procedure TForm1.Button6Click(Sender: TObject);
begin
edit1.text:=edit1.text+'6';
end;procedure TForm1.Button7Click(Sender: TObject);
begin
edit1.text:=edit1.text+'7';
end;procedure TForm1.Button8Click(Sender: TObject);
begin
edit1.text:=edit1.text+'8';
end;procedure TForm1.Button9Click(Sender: TObject);
begin
edit1.text:=edit1.text+'9';
end;procedure TForm1.Button10Click(Sender: TObject);
begin
edit1.text:=edit1.text+'0';
end;procedure TForm1.Button11Click(Sender: TObject);
begin
wenben:=edit1.Text;
edit1.Clear;
button12.Enabled:=false;
button13.Enabled:=false;
button14.Enabled:=false;
zhen1:=1;
end;procedure TForm1.Button12Click(Sender: TObject);
begin
wenben:=edit1.Text;
edit1.Clear;
button11.Enabled:=false;
button13.Enabled:=false;
button14.Enabled:=false;
zhen2:=2;
end;procedure TForm1.Button13Click(Sender: TObject);
begin
wenben:=edit1.Text;
edit1.Clear;
button11.Enabled:=false;
button12.Enabled:=false;
button14.Enabled:=false;
zhen3:=3;
end;procedure TForm1.Button14Click(Sender: TObject);
begin
wenben:=edit1.Text;
edit1.Clear;
button11.Enabled:=false;
button12.Enabled:=false;
button13.Enabled:=false;
zhen4:=4;
end;procedure TForm1.Button15Click(Sender: TObject);
begin
if (zhen1=1)and (wenben<>'') then
begin
result:=add(strtofloat(wenben),strtofloat(edit1.text));
edit1.Text:=floattostr(result);
button11.Enabled:=true;
button12.Enabled:=true;
button13.Enabled:=true;
button14.Enabled:=true;end
else if (zhen2=2)and(wenben<>'') then
begin
result:=sub(strtofloat(wenben),strtofloat(edit1.Text));
edit1.Text:=floattostr(result);
button11.Enabled:=true;
button12.Enabled:=true;
button13.Enabled:=true;
button14.Enabled:=true;
end
else if (zhen3=3)and(wenben<>'') then
begin
result:=mul(strtofloat(wenben),strtofloat(edit1.Text));
edit1.Text:=floattostr(result);
button11.Enabled:=true;
button12.Enabled:=true;
button13.Enabled:=true;
button14.Enabled:=true;
end
else if (zhen4=4)and(wenben<>'') then
begin
result:=Exc(strtofloat(wenben),strtofloat(edit1.Text));
edit1.Text:=floattostr(result);
button11.Enabled:=true;
button12.Enabled:=true;
button13.Enabled:=true;
button14.Enabled:=true;
end
else
showmessage('输入有误');
end;procedure TForm1.Button16Click(Sender: TObject);
begin
edit1.Clear;
button11.Enabled:=true;
button12.Enabled:=true;
button13.Enabled:=true;
button14.Enabled:=true;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
edit1.Clear;
end;end.
begin
edit1.text:=edit1.text+'1';
end;procedure TForm1.Button2Click(Sender: TObject);
begin
edit1.text:=edit1.text+'2';
end;procedure TForm1.Button3Click(Sender: TObject);
begin
edit1.text:=edit1.text+'3';
end;
//....可以简写为:procedure TForm1.Button1Click(Sender: TObject);
begin
With Sender As TButton do
edit1.text:=edit1.text+Caption;
end;
然后其他的Button可以共用此代码