谁有用delphi写的计算器?功能:不需要任何+,-,*,/,sin,cos..按钮.直接在文本框内输入计算式,按下calculate就得到结果了,

解决方案 »

  1.   

    我有!!!
      [email protected]
      

  2.   

    <dephi程序设计教程>  里面有
      

  3.   

    fireflyer(雪阳):我没收到呀。
      

  4.   

    刚学delphi时写的,随便看看吧。unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, XPMenu;type
      TForm1 = class(TForm)
        Label1: TLabel;
        Button1: TButton;
        Button2: TButton;
        Button3: TButton;
        Button4: TButton;
        Button5: TButton;
        Button6: TButton;
        Button7: TButton;
        Button8: TButton;
        Button9: TButton;
        Button10: TButton;
        Button11: TButton;
        Button12: TButton;
        Button13: TButton;
        Button14: TButton;
        Button15: TButton;
        Button16: TButton;
        Button17: TButton;
        Button19: TButton;
        Button20: TButton;
        Button18: TButton;
        XPMenu1: TXPMenu;
        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 Button7Click(Sender: TObject);
        procedure Button8Click(Sender: TObject);
        procedure Button9Click(Sender: TObject);
        procedure Button17Click(Sender: TObject);
        procedure Button10Click(Sender: TObject);
        procedure Button11Click(Sender: TObject);
        procedure Button16Click(Sender: TObject);
        procedure Button15Click(Sender: TObject);
        procedure Button14Click(Sender: TObject);
        procedure Button13Click(Sender: TObject);
        procedure Button12Click(Sender: TObject);
        procedure Button20Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
      d:boolean;//判断按钮“点”是否被按下了
      l:boolean;//判断按钮“零”是否被按下了
      a1,a2,a3:real;//a1,第一个数;a2,第二个数;a3,结果;
      jia,jian,cheng,chu:boolean;//判断加,减,乘,除按钮是否被按下了;
      denghao:boolean;//判断等号是否被按下了;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
      if denghao=true then
      begin
         label1.Caption:='';
         denghao:=false;
      end;
      label1.Caption:=label1.Caption+'1';
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      if denghao=true then
      begin
         label1.Caption:='';
         denghao:=false;
      end;
      label1.Caption:=label1.Caption+'2';
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
      if denghao=true then
      begin
         label1.Caption:='';
         denghao:=false;
      end;
      label1.Caption:=label1.Caption+'3';
    end;procedure TForm1.Button4Click(Sender: TObject);
    begin
      if denghao=true then
      begin
         label1.Caption:='';
         denghao:=false;
      end;
      label1.Caption:=label1.Caption+'4';
    end;procedure TForm1.Button5Click(Sender: TObject);
    begin  if denghao=true then
      begin
         label1.Caption:='';
         denghao:=false;
      end;
      label1.Caption:=label1.Caption+'5';
    end;procedure TForm1.Button6Click(Sender: TObject);
    begin
      if denghao=true then
      begin
         label1.Caption:='';
         denghao:=false;
      end;
      label1.Caption:=label1.Caption+'6';
    end;procedure TForm1.Button7Click(Sender: TObject);
    begin
      if denghao=true then
      begin
         label1.Caption:='';
         denghao:=false;
      end;
      label1.Caption:=label1.Caption+'7';
    end;procedure TForm1.Button8Click(Sender: TObject);
    begin
      if denghao=true then
      begin
         label1.Caption:='';
         denghao:=false;
      end;
      label1.Caption:=label1.Caption+'8';
    end;procedure TForm1.Button9Click(Sender: TObject);
    begin
      if denghao=true then
      begin
         label1.Caption:='';
         denghao:=false;
      end;
      label1.Caption:=label1.Caption+'9';
    end;procedure TForm1.Button17Click(Sender: TObject);
    begin
      label1.Caption:='';
      d:=false;
      l:=false;
      denghao:=false;
    end;procedure TForm1.Button10Click(Sender: TObject);
    begin
      if l=false then
      begin
       label1.Caption:=label1.Caption+'0';
       l:=true;
      end
      else
      begin
      if (d=true)or(strtofloat(label1.Caption)<>0) then label1.Caption:=label1.caption+'0';
      end;
      if denghao=true then
      begin
         label1.Caption:='';
         denghao:=false;
      end;
    end;procedure TForm1.Button11Click(Sender: TObject);
    begin
      if (d=false)and(label1.caption<>'') then
      begin
      label1.Caption:=label1.Caption+'.';
      d:=true;
      end;
    end;procedure TForm1.Button16Click(Sender: TObject);
    begin
      d:=false;
      l:=false;
      a1:=strtofloat(label1.Caption);
      jia:=true;
      label1.Caption:='';
    end;procedure TForm1.Button15Click(Sender: TObject);
    begin
      d:=false;
      l:=false;
      a1:=strtofloat(label1.Caption);
      jian:=true;
      label1.Caption:='';
    end;procedure TForm1.Button14Click(Sender: TObject);
    begin
      d:=false;
      l:=false;
      a1:=strtofloat(label1.Caption);
      cheng:=true;
      label1.Caption:='';
    end;procedure TForm1.Button13Click(Sender: TObject);
    begin
      d:=false;
      l:=false;
      a1:=strtofloat(label1.Caption);
      chu:=true;
      label1.Caption:='';
    end;procedure TForm1.Button12Click(Sender: TObject);
    begin
      d:=false;
      l:=false;
      a2:=strtofloat(label1.Caption);
      if jia=true then begin a3:=a1+a2; jia:=false; end;
      if jian=true then begin a3:=a1-a2; jian:=false; end;
      if cheng=true then begin a3:=a1*a2;  cheng:=false; end;
      if (chu=true)and(a2<>0) then
        begin a3:=a1/a2; chu:=false; end
       else
         begin
          if a2=0 then showmessage('除数不能为零!');
         end;
      label1.Caption:=floattostr(a3);
      denghao:=true;
    end;procedure TForm1.Button20Click(Sender: TObject);
    begin
      close;
    end;end.
      

  5.   

    不需要任何+,-,*,/,sin,cos..按钮.直接在文本框内输入计算式,按下calculate就得到结果了.急呀!!!明天就要缴活。
      

  6.   

    很多,可以参看grideh、tms、rxlib、jvcl等控件包中计算器控件的代码。