📄 jsj.pas
字号:
unit jsj;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, Buttons, ExtCtrls, Menus;
type
TForm1 = class(TForm)
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton8: TSpeedButton;
SpeedButton9: TSpeedButton;
SpeedButton10: TSpeedButton;
SpeedButton11: TSpeedButton;
SpeedButton12: TSpeedButton;
SpeedButton13: TSpeedButton;
SpeedButton14: TSpeedButton;
SpeedButton15: TSpeedButton;
SpeedButton16: TSpeedButton;
SpeedButton17: TSpeedButton;
SpeedButton18: TSpeedButton;
SpeedButton19: TSpeedButton;
SpeedButton20: TSpeedButton;
SpeedButton21: TSpeedButton;
SpeedButton22: TSpeedButton;
SpeedButton23: TSpeedButton;
SpeedButton24: TSpeedButton;
SpeedButton25: TSpeedButton;
SpeedButton26: TSpeedButton;
SpeedButton27: TSpeedButton;
Edit1: TMaskEdit;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
Label1: TLabel;
procedure SpeedButton11Click(Sender: TObject);
procedure SpeedButton14Click(Sender: TObject);
procedure SpeedButton17Click(Sender: TObject);
procedure SpeedButton10Click(Sender: TObject);
procedure SpeedButton13Click(Sender: TObject);
procedure SpeedButton16Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton12Click(Sender: TObject);
procedure SpeedButton25Click(Sender: TObject);
procedure SpeedButton21Click(Sender: TObject);
procedure SpeedButton24Click(Sender: TObject);
procedure SpeedButton20Click(Sender: TObject);
procedure SpeedButton19Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton26Click(Sender: TObject);
procedure SpeedButton27Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton18Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure SpeedButton22Click(Sender: TObject);
procedure SpeedButton23Click(Sender: TObject);
procedure SpeedButton15Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton7Click(Sender: TObject);
procedure SpeedButton9Click(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
a:real; //记住输入的第一个数据
b:real; // 记住输入的第二个数据
c:real; //记住计算的结果
d:boolean=false; //判断正负号
//e:integer=0;// 判断是否点等于,占击数字重新输入
f:integer; //判断+、-、*、/
h:integer=0; //进行连续相加相乘运算
v:real; //复制、粘贴
m:real; // MS储存数据
implementation
{$R *.dfm}
procedure TForm1.SpeedButton11Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'1'
end;
procedure TForm1.SpeedButton14Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'2'
end;
procedure TForm1.SpeedButton17Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'3'
end;
procedure TForm1.SpeedButton10Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'4'
end;
procedure TForm1.SpeedButton13Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'5'
end;
procedure TForm1.SpeedButton16Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'6'
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'7'
end;
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'8'
end;
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'9'
end;
procedure TForm1.SpeedButton12Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'0'
end;
procedure TForm1.SpeedButton25Click(Sender: TObject);
begin //backspace
edit1.Text:=copy(edit1.Text,1,length(edit1.Text)-1);
end;
procedure TForm1.SpeedButton21Click(Sender: TObject);
//加法
begin
a:=strtofloat(edit1.text);
edit1.text:='';
f:=1;
end;
procedure TForm1.SpeedButton24Click(Sender: TObject);
//等号
begin
b:=strtofloat(edit1.Text);
case f of
1: c:=a+b;
2: c:=a-b;
3: c:=a*b;
4:
if b=0 then
begin
showmessage('除数不能为0!');
end
else
begin
c:=a/b;
end;
end;
edit1.text:=floattostr(c);
h:=0;
end;
procedure TForm1.SpeedButton20Click(Sender: TObject);
//减法
begin
a:=strtofloat(edit1.text);
edit1.text:='';
f:=2;
end;
procedure TForm1.SpeedButton19Click(Sender: TObject);
//乘法
begin
a:=strtofloat(edit1.text);
edit1.text:='';
f:=3;
end;
procedure TForm1.SpeedButton5Click(Sender: TObject);
//除法
begin
a:=strtofloat(edit1.text);
edit1.text:='';
f:=4;
end;
procedure TForm1.SpeedButton26Click(Sender: TObject);
//CE
begin
edit1.Text:='';
end;
procedure TForm1.SpeedButton27Click(Sender: TObject);
//C
begin
edit1.Text:='';
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
// 只能输入数字或标点
begin
if not(key in['0'..'9','.'])then
key:=#0;
end;
procedure TForm1.SpeedButton18Click(Sender: TObject);
begin //点号
edit1.Text:=edit1.Text+'.';
end;
procedure TForm1.SpeedButton6Click(Sender: TObject);
var a:real; //sqrt
begin
m:=strtofloat(edit1.Text);
if m<0 then
begin
edit1.Text:='函数输入无效!';
end
else
begin
a:=sqrt(m);
edit1.Text:=floattostr(a);
end;
end;
procedure TForm1.SpeedButton22Click(Sender: TObject);
begin //%
a:=strtofloat(edit1.Text);
c:=a*0.01;
edit1.Text:=floattostr(c);
end;
procedure TForm1.SpeedButton23Click(Sender: TObject);
begin //1/X
a:=strtofloat(edit1.Text);
if a=0 then
begin
Showmessage('不能进行倒数');
end
else
begin
c:=1/a;
edit1.Text:=floattostr(c);
end;
end;
procedure TForm1.SpeedButton15Click(Sender: TObject);
begin //+/-
a:=strtofloat(edit1.Text);
edit1.Text:=floattostr(-(a));
end;
procedure TForm1.Edit1Change(Sender: TObject);
var //点在右边
light:integer;
begin
light := GetWindowLong(edit1.Handle, GWL_STYLE);
SetWindowLong(edit1.Handle, GWL_STYLE, light or ES_RIGHT );
end;
procedure TForm1.N5Click(Sender: TObject);
begin
showmessage('您好,欢迎使用潘秀田制作的delphi记算器的1.0版本!');
end;
procedure TForm1.N6Click(Sender: TObject);
begin
showmessage('您好,如果使用当中有什么问题请联系潘秀田!QQ:182806187 email:pxt0210@sina.com');
end;
procedure TForm1.N2Click(Sender: TObject);
begin //复制
v:=strtofloat(edit1.Text);
end;
procedure TForm1.N3Click(Sender: TObject);
begin //粘贴
edit1.Text:=floattostr(v);
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin //MC清除存储的数字
m:=0;
edit1.Text:='';
Label1.Caption:='';
end;
procedure TForm1.SpeedButton7Click(Sender: TObject);
begin //MR显示储存数据
edit1.Text:=floattostr(c);
end;
procedure TForm1.SpeedButton9Click(Sender: TObject);
begin //M+ 是计算结果并加上已经储存的数
if edit1.Text='' then
showmessage('对不起,不能进行空存储')
else
c:=strtofloat(edit1.Text);
label1.Caption:='M';
end;
procedure TForm1.SpeedButton8Click(Sender: TObject);
begin // MS 存储显示栏中的数字
if edit1.Text='' then
showmessage('对不起,不能进行空存储')
else
c:=strtofloat(edit1.Text);
label1.Caption:='M';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -