📄 calculate1.pas
字号:
unit calculate1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
Tcalculate = class(TForm)
GroupBox1: TGroupBox;
Edit1: TEdit;
Panel1: TPanel;
Bevel1: TBevel;
b_1: TButton;
b_4: TButton;
b_7: TButton;
b_0: TButton;
b_p: TButton;
b_8: TButton;
b_5: TButton;
b_2: TButton;
b_resume: TButton;
b_9: TButton;
b_6: TButton;
b_3: TButton;
b_div: TButton;
b_mul: TButton;
b_sub: TButton;
b_add: TButton;
b_equal: TButton;
procedure b_1Click(Sender: TObject);
procedure b_2Click(Sender: TObject);
procedure b_3Click(Sender: TObject);
procedure b_4Click(Sender: TObject);
procedure b_5Click(Sender: TObject);
procedure b_6Click(Sender: TObject);
procedure b_7Click(Sender: TObject);
procedure b_8Click(Sender: TObject);
procedure b_9Click(Sender: TObject);
procedure b_0Click(Sender: TObject);
procedure b_pClick(Sender: TObject);
procedure b_resumeClick(Sender: TObject);
procedure b_addClick(Sender: TObject);
procedure b_subClick(Sender: TObject);
procedure b_mulClick(Sender: TObject);
procedure b_divClick(Sender: TObject);
procedure b_equalClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
f11,f2:extended;
public
{ Public declarations }
end;
var
calculate: Tcalculate;
s1:string;
flag:integer;
implementation
{$R *.dfm}
function space(var s1:string):integer;
var i:integer;
ddd:integer;
s:string;
begin
s:='';
ddd:=length(trim(s1));
for i:=1 to 49-2*ddd do
s:=s+' ';
s1:=s+trim(s1);
space:=1;
end;
procedure Tcalculate.FormShow(Sender: TObject);
begin
s1:='0';
space(s1);
edit1.Text:=s1;
f11:=0;
f2:=0.0;
flag:=0;
end;
procedure Tcalculate.b_1Click(Sender: TObject);
begin
s1:=trim(edit1.Text);
if s1<>'0' then
s1:=s1+b_1.Caption
else
s1:=b_1.Caption;
space(s1);
edit1.Text:=s1;
end;
procedure Tcalculate.b_2Click(Sender: TObject);
begin
s1:=trim(edit1.Text);
if s1<>'0' then
s1:=s1+b_2.Caption
else
s1:=b_2.Caption;
space(s1);
edit1.Text:=s1;
end;
procedure Tcalculate.b_3Click(Sender: TObject);
begin
s1:=trim(edit1.Text);
if s1<>'0' then
s1:=s1+b_3.Caption
else
s1:=b_3.Caption;
space(s1);
edit1.Text:=s1;
end;
procedure Tcalculate.b_4Click(Sender: TObject);
begin
s1:=trim(edit1.Text);
if s1<>'0' then
s1:=s1+b_4.Caption
else
s1:=b_4.Caption;
space(s1);
edit1.Text:=s1;
end;
procedure Tcalculate.b_5Click(Sender: TObject);
begin
s1:=trim(edit1.Text);
if s1<>'0' then
s1:=s1+b_5.Caption
else
s1:=b_5.Caption;
space(s1);
edit1.Text:=s1;
end;
procedure Tcalculate.b_6Click(Sender: TObject);
begin
s1:=trim(edit1.Text);
if s1<>'0' then
s1:=s1+b_6.Caption
else
s1:=b_6.Caption;
space(s1);
edit1.Text:=s1;
end;
procedure Tcalculate.b_7Click(Sender: TObject);
begin
s1:=trim(edit1.Text);
if s1<>'0' then
s1:=s1+b_7.Caption
else
s1:=b_7.Caption;
space(s1);
edit1.Text:=s1;
end;
procedure Tcalculate.b_8Click(Sender: TObject);
begin
s1:=trim(edit1.Text);
if s1<>'0' then
s1:=s1+b_8.Caption
else
s1:=b_8.Caption;
space(s1);
edit1.Text:=s1;
end;
procedure Tcalculate.b_9Click(Sender: TObject);
begin
s1:=trim(edit1.Text);
if s1<>'0' then
s1:=s1+b_9.Caption
else
s1:=b_9.Caption;
space(s1);
edit1.Text:=s1;
end;
procedure Tcalculate.b_0Click(Sender: TObject);
begin
s1:=trim(edit1.Text);
if s1<>'0' then
s1:=s1+b_0.Caption
else
s1:=b_0.Caption;
space(s1);
edit1.Text:=s1;
end;
procedure Tcalculate.b_pClick(Sender: TObject);
begin
s1:=trim(edit1.Text);
if s1<>'0' then
s1:=s1+b_p.Caption
else
s1:=b_p.Caption;
space(s1);
edit1.Text:=s1;
end;
procedure Tcalculate.b_resumeClick(Sender: TObject);
begin
s1:='0';
space(s1);
edit1.Text:=s1;
end;
procedure Tcalculate.b_addClick(Sender: TObject);
begin
flag:=0;
f11:=strtofloat(trim(edit1.Text));
s1:='';
space(s1);
edit1.Text:=s1;
end;
procedure Tcalculate.b_subClick(Sender: TObject);
begin
flag:=1;
f11:=strtofloat(trim(edit1.Text));
s1:='';
space(s1);
edit1.Text:=s1;
end;
procedure Tcalculate.b_mulClick(Sender: TObject);
begin
flag:=2;
f11:=strtofloat(trim(edit1.Text));
s1:='';
space(s1);
edit1.Text:=s1;
end;
procedure Tcalculate.b_divClick(Sender: TObject);
begin
flag:=3;
f11:=strtofloat(trim(edit1.Text));
s1:='';
space(s1);
edit1.Text:=s1;
end;
procedure Tcalculate.b_equalClick(Sender: TObject);
begin
f2:=strtofloat(trim(edit1.Text));
case flag of
0:f11:=f11+f2;
1:f11:=f11-f2;
2:f11:=f11*f2;
3:f11:=f11/f2;
end;
s1:=floattostr(f11);
space(s1);
edit1.Text:=s1;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -