⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jsj.pas

📁 用Delphi编写的一个小小的计算器
💻 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 + -