📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, 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;
Button17: TButton;
Edit1: TEdit;
procedure FormClick(Sender: TObject);
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 FormCreate(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;
implementation
uses Unit2;
{$R *.dfm}
var result,source_1,source_2:real;
var s_result,s_source_1,s_source_2:string;
var operation_symbol:integer;
var point_flag:boolean;
var input_2: boolean;
var operation_over:boolean;
procedure display_refresh();
var len:integer;
var i:integer;
begin
s_result:=floattostr(result);
len:=length(s_result);
for i:=0 to 25-len do
begin
s_result:=' '+s_result;
end;
form1.edit1.Text:=s_result;
end;
procedure input_number(number: integer);
begin
if operation_over=true then
begin
form1.Button11.Click;
operation_over:=false;
end;
if (number>=0) and (number<10) then
begin
if operation_symbol=0 then
begin
s_source_1:=s_source_1+inttostr(number);
result:=strtofloat(s_source_1);
source_2:=result;
display_refresh();
input_2:=false;
end
else
begin
s_source_2:=s_source_2+inttostr(number);
result:=strtofloat(s_source_2);
display_refresh();
input_2:=true;
end;
end;
if number=10 then
begin
if operation_symbol=0 then
begin
s_source_1:=s_source_1+'.';
result:=strtofloat(s_source_1);
source_2:=result;
display_refresh();
end
else
begin
s_source_2:=s_source_2+'.';
result:=strtofloat(s_source_2);
display_refresh();
end;
end;
if number=11 then
begin
if operation_symbol=0 then
begin
end
else
begin
end;
end;
end;
procedure TForm1.FormClick(Sender: TObject);
begin
display_refresh();
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
input_number(1);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
input_number(2);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
input_number(3);
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
input_number(4);
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
input_number(5);
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
input_number(6);
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
input_number(7);
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
input_number(8);
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
input_number(9);
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
input_number(0);
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
s_source_1:='0';
s_source_2:='0';
s_result:='0';
result:=0;
point_flag:=false;
operation_symbol:=0;
input_2:=false;
display_refresh();
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
if (operation_symbol >0) and (input_2 = true) then
begin
button15.Click;
end;
operation_symbol:=1;
point_flag:=false;
operation_over:=false;
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
if (operation_symbol >0) and (input_2 = true) then
begin
button15.Click;
end;
operation_symbol:=2;
point_flag:=false;
operation_over:=false;
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
if (operation_symbol >0) and (input_2 = true) then
begin
button15.Click;
end;
operation_symbol:=3;
point_flag:=false;
operation_over:=false;
end;
procedure TForm1.Button15Click(Sender: TObject);
begin
if (operation_symbol >0) and (input_2 = true) then
begin
button15.Click;
end;
operation_symbol:=4;
point_flag:=false;
operation_over:=false;
end;
procedure TForm1.Button16Click(Sender: TObject);
begin
operation_over:=true;
source_1:=strtofloat(s_source_1);
if input_2 then
begin
source_2:=strtofloat(s_source_2);
end
else
begin
end;
case operation_symbol of
0:
begin
result:=source_1;
display_refresh();
exit;
end;
1:
begin
result:=source_1+source_2;
display_refresh();
end;
2:
begin
result:=source_1-source_2;
display_refresh();
end;
3:
begin
result:=source_1 * source_2;
display_refresh();
end;
4:
begin
if source_2 = 0 then
begin
messagebox(form1.Handle,'0 不能做除数','错误!',0);
exit;
end;
result:=source_1 / source_2;
display_refresh();
end;
end;
input_2:=false;
source_1:=result;
s_source_1:=floattostr(result);
s_source_2:='0';
point_flag:=false;
end;
procedure TForm1.Button17Click(Sender: TObject);
begin
if point_flag=false then
begin
input_number(10);
point_flag:=true;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
button10.Click;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -