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 Button17Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
a,b:real;
y:integer;
implementation
{$R *.dfm}
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
a:=strtofloat(edit1.text);
edit1.Text:='';
y:=1;
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
a:=strtofloat(edit1.Text);
edit1.text:='';
y:=2;
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
a:=strtofloat(edit1.text);
edit1.text:='';
y:=3;
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
a:=strtofloat(edit1.Text);
edit1.text:='';
y:=4;
end;
procedure TForm1.Button15Click(Sender: TObject);
begin
edit1.Text:=edit1.text+'.' ;
end;
procedure TForm1.Button16Click(Sender: TObject);
begin
edit1.Text:='';
end;
procedure TForm1.Button17Click(Sender: TObject);
begin
if y=1 then b:=strtofloat(edit1.Text)+a;
if y=2 then b:=a-strtofloat(edit1.text);
if y=3 then b:=strtofloat(edit1.text)*a;
if y=4 then b:=a/strtofloat(edit1.text);
edit1.text:=floattostr(b);
end;
end.
因为字数太多表头我删除了一步分,高手帮忙改改,谢谢啦。
//3个edit ,一个label,一个combobox事件如下
procedure TForm1.FormCreate(Sender: TObject);
begin
combobox1.Items.Add('+');
combobox1.Items.Add('-');
combobox1.Items.Add('*');
combobox1.Items.Add('/');
combobox1.ItemIndex :=0;
label1.Caption := '=';
edit1.Text := '0';
edit2.Text := '0';
edit3.Text := '0';
button1.Caption := '计算';
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', #8]) then
key := char(0);
end;
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', #8]) then
key := char(0);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
case combobox1.ItemIndex of
0 :
begin
if (edit1.Text<>'') and (edit2.Text<>'')then
edit3.Text := floatTostr(StrTofloat(edit1.Text)+StrTofloat(edit2.Text));
end;
1 :
begin
if (edit1.Text<>'') and (edit2.Text<>'')then
edit3.Text := floatTostr(StrTofloat(edit1.Text)-StrTofloat(edit2.Text));
end;
2 :
begin
if (edit1.Text<>'') and (edit2.Text<>'')then
edit3.Text := floatTostr(StrTofloat(edit1.Text) *StrTofloat(edit2.Text));
end;
3 :
begin
if (edit1.Text<>'') and (edit2.Text<>'')and(edit2.Text<>'0')then
edit3.Text := floatTostr(StrToint(edit1.Text) /StrTofloat(edit2.Text));
end;
end;
end;
begin
if pos('.',edit1.Text) > 0 then
exit
else
edit1.Text := edit1.Text + '.';
end;
procedure TForm1.Button17Click(Sender: TObject);
begin
if y=1 then b:=strtofloat(edit1.Text)+a;
if y=2 then b:=a-strtofloat(edit1.text);
if y=3 then b:=strtofloat(edit1.text)*a;
if y=4 then
begin
if inttostr(edit1.text) = 0
exit
else
b:=a/strtofloat(edit1.text);
end
edit1.text:=floattostr(b);
end;