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

📄 frist.~pas

📁 实现加减乘除的简单计算器,可以将0显示在输入的右面.
💻 ~PAS
字号:
unit frist;

interface

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

type
  Ts1 = class(TForm)

    cf: TButton;
    add: TButton;
    cut: TButton;
    cu: TButton;
    clear: TButton;
    answer: TButton;
    n1: TButton;
    n2: TButton;
    n3: TButton;
    n6: TButton;
    n9: TButton;
    n5: TButton;
    n4: TButton;
    n8: TButton;
    n7: TButton;
    n0: TButton;
    wei: TButton;
    sqrt: TButton;
    sqr: TButton;
    jin: TButton;
    num: TLabel;
    MainMenu1: TMainMenu;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    N18: TMenuItem;
    N19: TMenuItem;


    procedure AllClick(Sender: TObject);
    procedure clearClick(Sender: TObject);
    procedure answerClick(Sender: TObject);
    procedure weiClick(Sender: TObject);
    procedure sqrClick(Sender: TObject);
    procedure holeClick(Sender: TObject);
    procedure jinClick(Sender: TObject);

     
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  zhen: integer=10;
  tag : integer;
  be:TButton;
  s1: Ts1;
  num1:real=0;
  num2:real=0;
  s:string;
  lastnum:integer=0;
  lastset:integer=0;
  count:integer=0;
  jing:real=10;

implementation




{$R *.dfm}






procedure Ts1.AllClick(Sender: TObject);

begin
  tag := (sender as tbutton).tag;
  if lastnum=0 then
    begin
    lastnum:=1;num2:=num1;num1:=0;s:='0';lastset:=tag;
    end
  else
    begin
      case lastset of
      1:
          begin num2:=num2+num1;num1:=0;s:=FloatToStr(num2);num.Caption:=s;
            lastset:=tag;
          end;

      2:
          begin num2:=num2-num1;num1:=0;s:=FloatToStr(num2);num.Caption:=s;
          lastset:=tag;
          end;
      3:
          begin num2:=num2*num1;num1:=0;s:=FloatToStr(num2);num.Caption:=s;
          lastset:=tag;
          end;
      4:  if num1=0 then showmessage('除数不能为0')
          else begin num2:=num2/num1;num1:=0;s:=FloatToStr(num2);num.Caption:=s;
          lastset:=tag;
          end;
      {5:  begin num1:=0;num2:=0;num.Text:=n0.Caption;tag:=0;lastnum:=0;
          lastset:=0;
          end; }
      {6:  begin num1:=0;s:=FloatToStr(num2);num.Text:=s;lastnum:=0;
          case lastset of
          1:
              begin num2:=num2+num1;num1:=0;s:=FloatToStr(num2);num.Text:=s;
                lastset:=0;
              end;

          2:
              begin num2:=num2-num1;num1:=0;s:=FloatToStr(num2);num.Text:=s;
                lastset:=0;
              end;
          3:
              begin num2:=num2*num1;num1:=0;s:=FloatToStr(num2);num.Text:=s;
               lastset:=0;
              end;
          4:
              begin num2:=num2/num1;num1:=0;s:=FloatToStr(num2);num.Text:=s;
               lastset:=0;
              end;
          end;
          end; }
      end;
    end;
end;

procedure Ts1.clearClick(Sender: TObject);
begin
num1:=0;num2:=0;num.Caption:=n0.Caption;
tag:=0;lastnum:=0;jing:=zhen;
lastset:=0;
end;

procedure Ts1.answerClick(Sender: TObject);
begin
lastnum:=0;
case lastset of
1:
    begin num2:=num2+num1;num1:=num2;s:=FloatToStr(num2);num.Caption:=s;
    lastset:=0;
    end;

2:
    begin num2:=num2-num1;num1:=num2;s:=FloatToStr(num2);num.Caption:=s;
    lastset:=0;
    end;
3:
    begin num2:=num2*num1;num1:=num2;s:=FloatToStr(num2);num.Caption:=s;
    lastset:=0;
    end;
4:  if num1=0 then showmessage('除数不能为0') else
    begin num2:=num2/num1;num1:=num2;s:=FloatToStr(num2);num.Caption:=s;
    lastset:=0;
    end;
end;
num1:=num2;s:=FloatToStr(num2);num.Caption:=s;jing:=zhen;

end;

procedure Ts1.weiClick(Sender: TObject);
begin
num1:=num1*(-1);
s:=FloatToStr(num1);num.Caption:=s;jing:=zhen;
end;

procedure Ts1.sqrClick(Sender: TObject);
begin
if num1<>0 then begin num2:=num1;num2:=num1*num1;s:=FloatToStr(num2);
num.Caption:=s;num1:=0;jing:=zhen;end else begin
num2:=num2*num2;s:=FloatToStr(num2);num.Caption:=s;jing:=zhen;
end;
end;

procedure Ts1.holeClick(Sender: TObject);
begin
be:=(sender as TButton );
if jing>1 then begin
num1:=num1*jing+StrToInt(be.Caption);
s:=FloatToStr(num1);
num.Caption:=s;
end else begin
jing:=jing/zhen;
num1:=num1+StrToInt(be.Caption)*jing;
s:=FloatToStr(num1);
num.Caption:=s;end;
end;
procedure Ts1.jinClick(Sender: TObject);
begin
jing:=1;
end;




end.

⌨️ 快捷键说明

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