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

📄 ji.pas

📁 这是Delphi编写的一个简单计数器 主要是对控件的使用更熟悉
💻 PAS
字号:
unit ji;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Menus;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Button11: TButton;
    Button12: TButton;
    Button13: TButton;
    Button14: TButton;
    Button15: TButton;
    Button17: TButton;
    Button18: TButton;
    Button19: TButton;
    Button20: TButton;
    Button21: TButton;
    Button23: TButton;
    Button24: TButton;
    Button25: TButton;
    Button26: TButton;
    Button27: TButton;
    MainMenu1: TMainMenu;
    f1: TMenuItem;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    Label1: TLabel;
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure Button18Click(Sender: TObject);
    procedure Button19Click(Sender: TObject);
    procedure Button23Click(Sender: TObject);
    procedure Button26Click(Sender: TObject);
    procedure Button27Click(Sender: TObject);
    procedure Button20Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button25Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button22Click(Sender: TObject);
    procedure Button21Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button24Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N4Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  x:real;             //第一个数被X存放
  y:real;             //第二个数被Y存放
  z:real;             //点击等号后用于存放结果
  temp:integer;       //判断运算符号
  m:real;             //MS,缓存数据
  b:boolean=false;    //正负号判断
  a:integer=0;        //进行连续相加相乘运算
  cnum:integer=0;    //判断是否点过等于,点击数字重新置入
  var v:real;        //复制与粘帖
implementation

{$R *.dfm}

procedure TForm1.Button5Click(Sender: TObject);
begin
  if cnum=0 then
    edit1.Text:=edit1.Text+'7'
  else
  edit1.Text:='7';
  cnum:=0;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
  if cnum=0 then
    edit1.Text:=edit1.Text+'8'
  else
  edit1.Text:='8';
  cnum:=0;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
  if cnum=0 then
    edit1.Text:=edit1.Text+'9'
  else
  edit1.Text:='9';
  cnum:=0;
end;

procedure TForm1.Button11Click(Sender: TObject);
begin
  if cnum=0 then
    edit1.Text:=edit1.Text+'4'
  else
  edit1.Text:='4';
  cnum:=0;
end;

procedure TForm1.Button12Click(Sender: TObject);
begin
  if cnum=0 then
    edit1.Text:=edit1.Text+'5'
  else
  edit1.Text:='5';
  cnum:=0;
end;

procedure TForm1.Button13Click(Sender: TObject);
begin
  if cnum=0 then
    edit1.Text:=edit1.Text+'6'
  else
  edit1.Text:='6';
  cnum:=0;
end;

procedure TForm1.Button17Click(Sender: TObject);
begin
  if cnum=0 then
    edit1.Text:=edit1.Text+'1'
  else
  edit1.Text:='1';
  cnum:=0;
end;

procedure TForm1.Button18Click(Sender: TObject);
begin
  if cnum=0 then
    edit1.Text:=edit1.Text+'2'
  else
  edit1.Text:='2';
  cnum:=0;
end;

procedure TForm1.Button19Click(Sender: TObject);
begin
  if cnum=0 then
    edit1.Text:=edit1.Text+'3'
  else
  edit1.Text:='3';
  cnum:=0;
end;

procedure TForm1.Button23Click(Sender: TObject);
begin
  if cnum=0 then
    edit1.Text:=edit1.Text+'0'
  else
  edit1.Text:='0';
  cnum:=0;
end;

procedure TForm1.Button26Click(Sender: TObject);
begin
  if a=0 then
    begin
      if edit1.text='' then   //判断当前是否有数据
      else
    x:=strtofloat(edit1.text);
    edit1.text:='';
    temp:=0;
    a:=1;
    end
    else
    begin
      if edit1.text='' then  //判断是否有第二个数据,没有则自加
      else
    y:=strtofloat(edit1.text);
    z:=x+y;
    x:=z;
    edit1.Text:=floattostr(z);
    cnum:=1;
    end;
{  else if a=1 then
    begin
    y:=strtofloat(edit1.Text);
    z:=x+y;
    edit1.Text:=floattostr(z);
    x:=strtofloat(edit1.text);
    a:=a+1;
    end
  else
    begin
    y:=strtofloat(edit1.Text);

    z:=x+y;
    edit1.Text:=floattostr(z);
    x:=strtofloat(edit1.text);

    end;}
end;

procedure TForm1.Button27Click(Sender: TObject);
begin
  y:=strtofloat(edit1.Text);
  case temp of
  0:  z:=x+y;
  1:  z:=x-y;
  2:  z:=x*y;
  3:  z:=x/y;
  end;
  edit1.text:=floattostr(z);
  a:=0;
  cnum:=1;
end;

procedure TForm1.Button20Click(Sender: TObject);
begin
  if a=0 then
    begin
      if edit1.text='' then
      else
    x:=strtofloat(edit1.text);
    edit1.text:='';
    temp:=1;
    a:=1;
    end
    else
    begin
      if edit1.Text='' then
      else
    y:=strtofloat(edit1.text);
    z:=x-y;
    x:=z;
    edit1.Text:=floattostr(z);
    cnum:=1;
    end;
end;

procedure TForm1.Button14Click(Sender: TObject);
begin
  if a=0 then
    begin
    x:=strtofloat(edit1.text);
    edit1.text:='';
    temp:=2;
    a:=1;
    end
    else
    begin
      if edit1.Text='' then
      else
    y:=strtofloat(edit1.text);
    z:=x*y;
    x:=z;
    edit1.Text:=floattostr(z);
    cnum:=1;
    end;
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
  if a=0 then
    begin
    x:=strtofloat(edit1.text);
    edit1.text:='';
    temp:=3;
    a:=1;
    end
    else
    begin
       if edit1.Text='' then
      else
    y:=strtofloat(edit1.text);
    z:=x/y;
    x:=z;
    edit1.Text:=floattostr(z);
    cnum:=1;
    end;
end;


procedure TForm1.Button25Click(Sender: TObject);
begin
  edit1.Text:=edit1.Text+'.';
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  edit1.text:='';
  a:=0;    //连加连乘取消
  b:=false; //正负号为恢复默认
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  edit1.text:='';
  x:=0;
  y:=0;
  z:=0;
  cnum:=0;
  a:=0;
  b:=false;
  m:=0;
end;

procedure TForm1.Button9Click(Sender: TObject);
  var a:real;
begin
  x:=strtofloat(edit1.Text);
  a:=sqrt(x);
  edit1.Text:=floattostr(a);
end;

procedure TForm1.Button15Click(Sender: TObject);
begin
  x:=strtofloat(edit1.Text);
  z:=x*100;
  edit1.text:=floattostr(z);
end;

procedure TForm1.Button10Click(Sender: TObject);
begin
  edit1.Text:=floattostr(m);
  end;

procedure TForm1.Button16Click(Sender: TObject);
begin
  if edit1.Text='' then
  messagedlg('对不起,不能进行空存储',mtinformation,[mbok],0)
  else
  m:=strtofloat(edit1.Text);
  label1.Caption:='M';
  cnum:=1;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  m:=0;
  edit1.text:='';
  label1.Caption:='';
end;

procedure TForm1.Button22Click(Sender: TObject);
begin
  if edit1.Text='' then
  messagedlg('对不起,不能进行空存储',mtinformation,[mbok],0)
  else
  m:=strtofloat(edit1.Text);
  label1.Caption:='M';
  cnum:=1;
end;

procedure TForm1.Button21Click(Sender: TObject);
begin
  x:=strtofloat(edit1.Text);
  z:=1/x;
  edit1.text:=floattostr(z);
end;

procedure TForm1.N6Click(Sender: TObject);
begin
  showmessage('您好,欢迎使用!');
end;



procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.SetFocus;
  Edit1.SelStart := Length(Edit1.Text);
  Edit1.Perform(WM_CHAR, VK_BACK,0);
end;

procedure TForm1.Button24Click(Sender: TObject);
begin
  if b=false then
    begin
    edit1.Text:='-'+edit1.Text;
    b:=true
    end
  else
    begin
    edit1.Text:='';
    b:=false;
    end;
end;
procedure TForm1.N5Click(Sender: TObject);
begin
  showmessage('您好,有任何问题请联系作者:陈朝熙');
end;

procedure TForm1.Edit1Change(Sender: TObject);
var
  lStyle: Integer;
begin
  lStyle := GetWindowLong(edit1.Handle, GWL_STYLE);
  SetWindowLong(edit1.Handle, GWL_STYLE, lStyle or ES_RIGHT );
end;

procedure TForm1.N3Click(Sender: TObject);
begin
  v:=strtofloat(edit1.Text);
end;

procedure TForm1.N4Click(Sender: TObject);
begin
  edit1.Text:=floattostr(v);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -