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

📄 unit1.pas

📁 一个简单计算器delphi的实现
💻 PAS
字号:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Panel2: TPanel;
    Button4: TButton;
    Buttonb: TButton;
    Button6: TButton;
    Button5: TButton;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Buttonc: TButton;
    Buttond: TButton;
    Buttonr: TButton;
    Buttonp: TButton;
    Button0: TButton;
    Button7: TButton;
    Buttona: TButton;
    Button9: TButton;
    Button8: TButton;
    screen: TEdit;
    Button10: TButton;
    Button11: TButton;
    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 FormCreate(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button0Click(Sender: TObject);
    procedure ButtonpClick(Sender: TObject);
    procedure ButtondClick(Sender: TObject);
    procedure ButtonrClick(Sender: TObject);
    procedure ButtonbClick(Sender: TObject);
    procedure ButtonaClick(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure ButtoncClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

var
   x,y,result :Real;
   sc:String;
   operate:char;
   flag:bool;
procedure TForm1.FormCreate(Sender: TObject);
begin
x:=0;
y:=0;
result:=0;
sc:='';
flag:=true;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin

sc:=sc+'1';
screen.Text:=sc;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
sc:=sc+'2';
screen.Text:=sc;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
sc:=sc+'3';
screen.Text:=sc;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
sc:=sc+'4';
 screen.Text:=sc;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
sc:=sc+'5';
screen.Text:=sc;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
sc:=sc+'6';
screen.Text:=sc;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
sc:=sc+'7';
screen.Text:=sc;
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
sc:=sc+'8';
screen.Text:=sc;
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
sc:=sc+'9';
screen.Text:=sc;
end;

procedure TForm1.Button0Click(Sender: TObject);
begin
sc:=sc+'0';
screen.Text:=sc;
end;

procedure TForm1.ButtonpClick(Sender: TObject);
begin
sc:=sc+'.';
screen.Text:=sc;
end;

procedure TForm1.ButtondClick(Sender: TObject);
begin
if flag=true then
     begin
       x:=strtofloat(screen.text);
       result:=x;
       screen.text:='';
       operate:='-';
       flag:=false;
       sc:='';
     end
else
     begin
       y:=strtofloat(screen.text);
       case operate of
       '+': result:=result+y;
       '-': result:=result-y;
       '*': result:=result*y;
       '/': result:=result/y;
       end;
       screen.Text:=floattostr(result);
       operate:='-';
       flag:=false;
       sc:='';
     end
end;

procedure TForm1.ButtoncClick(Sender: TObject);
begin
     if flag=true then
     begin
       x:=strtofloat(screen.text);
       result:=x;
       screen.text:='';
       operate:='+';
       flag:=false;
       sc:='';
     end
else
     begin
       y:=strtofloat(screen.text);
       case operate of
       '+': result:=result+y;
       '-': result:=result-y;
       '*': result:=result*y;
       '/': result:=result/y;
       end;
       screen.Text:=floattostr(result);
       operate:='+';
       flag:=false;
       sc:='';
     end
end;

procedure TForm1.ButtonbClick(Sender: TObject);
begin
 if flag=true then
     begin
       x:=strtofloat(screen.text);
       result:=x;
       screen.text:='';
       operate:='/';
       flag:=false;
       sc:='';
     end
else
     begin
       y:=strtofloat(screen.text);
       case operate of
       '+': result:=result+y;
       '-': result:=result-y;
       '*': result:=result*y;
       '/': result:=result/y;
       end;
       screen.Text:=floattostr(result);
       operate:='/';
       flag:=false;
       sc:='';
     end
end;

procedure TForm1.ButtonaClick(Sender: TObject);
begin
     if flag=true then
     begin
       x:=strtofloat(screen.text);
       result:=x;
       screen.text:='';
       operate:='*';
       flag:=false;
       sc:='';
     end
else
     begin
       y:=strtofloat(screen.text);
       case operate of
       '+': result:=result+y;
       '-': result:=result-y;
       '*': result:=result*y;
       '/': result:=result/y;
       end;
       screen.Text:=floattostr(result);
       operate:='*';
       flag:=false;

       sc:='';
     end
end;


procedure TForm1.ButtonrClick(Sender: TObject);
begin
case operate of
'+' :
          begin
          y:=strtofloat(screen.text);
          result:=result+y;
          sc:=floattostr(result);
          screen.text:=(sc);
          flag:=true;
          sc:='';
          end ;
'-' :
          begin
          y:=strtofloat(screen.text);
          result:=result-y;
          sc:=floattostr(result);
          screen.text:=(sc);
          flag:=true;
          sc:='';
          end;
'/' :
          begin
          y:=strtofloat(screen.text);
          if y=0 then
          screen.text:='error of the divesor is 0'
          else
              begin
                result:=result/y;
                sc:=floattostr(result);
                screen.text:=(sc);
                flag:=true;
                sc:='';
              end
          end;
'*' :
          begin
          y:=strtofloat(screen.text);
          result:=result*y;
          sc:=floattostr(result);
          screen.text:=(sc);
          flag:=true;
          sc:='';
          end
else
          sc:=floattostr(result);
          screen.text:=(sc)
end;



end;
 procedure TForm1.Button10Click(Sender: TObject);
begin
       screen.text:='';
       sc:='';
end;

procedure TForm1.Button11Click(Sender: TObject);
begin
   x:=0;
   y:=0;
   result:=0;
   screen.text:='';
   sc:='';
end;



end.












⌨️ 快捷键说明

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