zoukankan      html  css  js  c++  java
  • 计算器(delphi)

      1  unit Unit1;
      2 
      3 interface
      4 
      5 uses
      6   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      7   Dialogs, StdCtrls, bsSkinData, BusinessSkinForm, Mask, bsSkinBoxCtrls, bscalc,
      8   bsSkinCtrls;
      9 
     10 type
     11   TForm1 = class(TForm)
     12     Button2: TButton;
     13     Button3: TButton;
     14     Button4: TButton;
     15     Button5: TButton;
     16     Button6: TButton;
     17     Button7: TButton;
     18     Button8: TButton;
     19     Button9: TButton;
     20     Button10: TButton;
     21     Button11: TButton;
     22     Button12: TButton;
     23     Button13: TButton;
     24     Button14: TButton;
     25     Button15: TButton;
     26     Button16: TButton;
     27     Button17: TButton;
     28     Button18: TButton;
     29     Button19: TButton;
     30     Button20: TButton;
     31     Button21: TButton;
     32     Button22: TButton;
     33     bsBusinessSkinForm1: TbsBusinessSkinForm;
     34     bsSkinData1: TbsSkinData;
     35     Edit1: TbsSkinEdit;
     36     bsCompressedStoredSkin1: TbsCompressedStoredSkin;
     37     Edit2: TbsSkinEdit;
     38     Edit3: TbsSkinEdit;
     39     Edit4: TbsSkinEdit;
     40     Label1: TLabel;
     41     Button1: TButton;
     42     Button23: TButton;
     43     procedure Button1Click(Sender: TObject);
     44     procedure FormCreate(Sender: TObject);
     45     procedure Button2Click(Sender: TObject);
     46     procedure Button3Click(Sender: TObject);
     47     procedure Button4Click(Sender: TObject);
     48     procedure Button5Click(Sender: TObject);
     49     procedure Button6Click(Sender: TObject);
     50     procedure Button7Click(Sender: TObject);
     51     procedure Button8Click(Sender: TObject);
     52     procedure Button9Click(Sender: TObject);
     53     procedure Button10Click(Sender: TObject);
     54     procedure Button11Click(Sender: TObject);
     55     procedure Button12Click(Sender: TObject);
     56     procedure Button13Click(Sender: TObject);
     57     procedure Button14Click(Sender: TObject);
     58     procedure Button15Click(Sender: TObject);
     59     procedure Button16Click(Sender: TObject);
     60     procedure Edit1Change(Sender: TObject);
     61     procedure Edit3Change(Sender: TObject);
     62     procedure Edit1Enter(Sender: TObject);
     63     procedure Edit3Enter(Sender: TObject);
     64     procedure Button17Click(Sender: TObject);
     65     procedure Button18Click(Sender: TObject);
     66     procedure Button19Click(Sender: TObject);
     67     procedure Button20Click(Sender: TObject);
     68     procedure Button21Click(Sender: TObject);
     69     procedure Button22Click(Sender: TObject);
     70     procedure bsSkinButton1Click(Sender: TObject);
     71     procedure Button23Click(Sender: TObject);
     72   private
     73     { Private declarations }
     74   public
     75     { Public declarations }
     76 
     77   end;
     78 
     79 var
     80   Form1: TForm1;
     81   str1:String;
     82    str2:String;
     83     int1:real;
     84      int2:real;
     85      bo:real;
     86     result:real;
     87 implementation
     88 
     89 {$R *.dfm}
     90 
     91 procedure TForm1.Button1Click(Sender: TObject);
     92 begin
     93 
     94 if bo=0 then
     95  begin
     96   str1:=str1+'1';
     97   Edit1.Text:=str1;
     98   end
     99 Else
    100   begin
    101   str2:=str2+'1';
    102   Edit3.Text:=str2;
    103   end
    104 
    105 
    106 end;
    107 
    108 procedure TForm1.FormCreate(Sender: TObject);
    109 begin
    110 
    111 int1:=0;
    112  int2:=0;
    113  bo:=0;
    114  SetWindowLong(Edit1.Handle,GWL_STYLE,GetWindowLong(Edit1.Handle,GWL_STYLE) or Es_right);
    115  SetWindowLong(Edit2.Handle,GWL_STYLE,GetWindowLong(Edit2.Handle,GWL_STYLE) or Es_right);
    116  SetWindowLong(Edit3.Handle,GWL_STYLE,GetWindowLong(Edit3.Handle,GWL_STYLE) or Es_right);
    117  SetWindowLong(Edit4.Handle,GWL_STYLE,GetWindowLong(Edit4.Handle,GWL_STYLE) or Es_right);
    118 end;
    119 
    120 procedure TForm1.Button20Click(Sender: TObject);
    121 begin
    122 edit2.Text:='';
    123 edit3.Text:='';
    124 int2:=0;
    125 edit4.Text:= FormatFloat('0.00000',1/int1) ;
    126 end;
    127 
    128 procedure TForm1.Button21Click(Sender: TObject);
    129 begin
    130   edit2.Text:='';
    131 edit3.Text:='';
    132 int2:=0;
    133 edit4.Text:= FormatFloat('0.00000',Sqrt(int1)) ;
    134 end;
    135 
    136 procedure TForm1.Button22Click(Sender: TObject);
    137 begin
    138 result:=int1*int2/100;
    139  Edit4.Text:=FormatFloat('0.00000',result);
    140 end;
    141 
    142 procedure TForm1.Button23Click(Sender: TObject);
    143 begin
    144 if bo=0 then
    145     edit1.Text:=''
    146     else
    147     edit3.Text:='';
    148 
    149 end;
    150 
    151 procedure TForm1.Button2Click(Sender: TObject);
    152 
    153 
    154 begin
    155 if bo=0 then
    156  begin
    157   str1:=str1+'2';
    158   Edit1.Text:=str1;
    159   end
    160 Else
    161   begin
    162   str2:=str2+'2';
    163   Edit3.Text:=str2;
    164   end
    165 end;
    166 
    167 procedure TForm1.Button3Click(Sender: TObject);
    168 begin
    169 if bo=0 then
    170  begin
    171   str1:=str1+'3';
    172   Edit1.Text:=str1;
    173   end
    174 Else
    175   begin
    176   str2:=str2+'3';
    177   Edit3.Text:=str2;
    178   end
    179 end;
    180 
    181 procedure TForm1.Button4Click(Sender: TObject);
    182 begin
    183 if bo=0 then
    184  begin
    185   str1:=str1+'4';
    186   Edit1.Text:=str1;
    187   end
    188 Else
    189   begin
    190   str2:=str2+'4';
    191   Edit3.Text:=str2;
    192   end
    193 end;
    194 
    195 procedure TForm1.Button5Click(Sender: TObject);
    196 begin
    197  if bo=0 then
    198  begin
    199   str1:=str1+'5';
    200   Edit1.Text:=str1;
    201   end
    202 Else
    203   begin
    204   str2:=str2+'5';
    205   Edit3.Text:=str2;
    206   end
    207 end;
    208 
    209 procedure TForm1.Button6Click(Sender: TObject);
    210 begin
    211 if bo=0 then
    212  begin
    213   str1:=str1+'6';
    214   Edit1.Text:=str1;
    215   end
    216 Else
    217   begin
    218   str2:=str2+'6';
    219   Edit3.Text:=str2;
    220   end
    221 end;
    222 
    223 procedure TForm1.Button7Click(Sender: TObject);
    224 begin
    225 if bo=0 then
    226  begin
    227   str1:=str1+'7';
    228   Edit1.Text:=str1;
    229   end
    230 Else
    231   begin
    232   str2:=str2+'7';
    233   Edit3.Text:=str2;
    234   end
    235 end;
    236 
    237 procedure TForm1.Button8Click(Sender: TObject);
    238 begin
    239 if bo=0 then
    240  begin
    241   str1:=str1+'8';
    242   Edit1.Text:=str1;
    243   end
    244 Else
    245   begin
    246   str2:=str2+'8';
    247   Edit3.Text:=str2;
    248   end
    249 end;
    250 
    251 procedure TForm1.Button9Click(Sender: TObject);
    252 begin
    253 if bo=0 then
    254  begin
    255   str1:=str1+'9';
    256   Edit1.Text:=str1;
    257   end
    258 Else
    259   begin
    260   str2:=str2+'9';
    261   Edit3.Text:=str2;
    262   end
    263 end;
    264 
    265 procedure TForm1.Edit1Change(Sender: TObject);
    266 begin
    267     str1:=edit1.Text;
    268     if edit1.Text<>'' then
    269    int1:=strtofloat(edit1.Text)
    270    else
    271    int1:=0;
    272 
    273 end;
    274 
    275 procedure TForm1.Edit1Enter(Sender: TObject);
    276 begin
    277     bo:=0;
    278 end;
    279 
    280 procedure TForm1.Edit3Change(Sender: TObject);
    281 begin
    282    str2:=edit3.Text;
    283   if edit3.Text<>'' then
    284  int2:=strtofloat(edit3.Text)
    285  else
    286    int2:=0;
    287 
    288 end;
    289 
    290 procedure TForm1.Edit3Enter(Sender: TObject);
    291 begin
    292   bo:=1;
    293 end;
    294 
    295 procedure TForm1.bsSkinButton1Click(Sender: TObject);
    296 begin
    297 if bo=0 then
    298  begin
    299   str1:=str1+'1';
    300   Edit1.Text:=str1;
    301   end
    302 Else
    303   begin
    304   str2:=str2+'1';
    305   Edit3.Text:=str2;
    306   end
    307 end;
    308 
    309 procedure TForm1.Button10Click(Sender: TObject);
    310 begin
    311 if bo=0 then
    312  begin
    313   str1:=str1+'0';
    314   Edit1.Text:=str1;
    315   end
    316 Else
    317   begin
    318   str2:=str2+'0';
    319   Edit3.Text:=str2;
    320   end
    321 end;
    322 
    323 procedure TForm1.Button11Click(Sender: TObject);
    324 begin
    325  bo:=1;
    326 Edit2.Text:='+';
    327 end;
    328 
    329 procedure TForm1.Button12Click(Sender: TObject);
    330 begin
    331 bo:=1;
    332 Edit2.Text:='-';
    333 end;
    334 
    335 procedure TForm1.Button13Click(Sender: TObject);
    336 begin
    337 bo:=1;
    338 Edit2.Text:='*';
    339 end;
    340 
    341 procedure TForm1.Button14Click(Sender: TObject);
    342 begin
    343 bo:=1;
    344 Edit2.Text:='/';
    345 end;
    346 
    347 procedure TForm1.Button15Click(Sender: TObject);
    348 begin
    349 
    350 
    351 if  Edit2.Text='+' then
    352   begin
    353      result:=int1+int2;
    354      Edit4.Text:=floattostr(result);
    355   end ;
    356 
    357 
    358  if  Edit2.Text='-' then
    359     begin
    360      result:=int1-int2;
    361      Edit4.Text:=floattostr(result);
    362   end ;
    363    if  Edit2.Text='*' then
    364      begin
    365      result:=int1*int2;
    366      Edit4.Text:=floattostr(result);
    367     end ;
    368    if ( Edit2.Text='/') and (int2<>0 ) then
    369      begin
    370      result:=int1/int2;
    371         {保留5位小数}
    372     Edit4.Text:=FormatFloat('0.00000',result);
    373     end  ;
    374 
    375     if ( Edit2.Text='/') and (int2=0 ) then
    376      begin
    377        Application.MessageBox('除数不能为0!','错误提示',MB_OKCANCEL);
    378     end  ;
    379 
    380 
    381  end;
    382 
    383 
    384 procedure TForm1.Button16Click(Sender: TObject);
    385 begin
    386   
    387 
    388    bo:=0;
    389    Edit1.Text:='';
    390    Edit2.Text:='';
    391    Edit3.Text:='';
    392    Edit4.Text:='';
    393    int1:=0;
    394    int2:=0;
    395    result:=0;
    396 end;
    397 
    398 procedure TForm1.Button17Click(Sender: TObject);
    399 begin
    400   if bo=0 then
    401       edit1.Text:= Copy( edit1.Text, 1, length( Edit1.text )-1 ) {截取}
    402   else
    403        edit3.Text:= Copy( edit3.Text, 1, length( Edit3.text )-1 );
    404 
    405 
    406 end;
    407 
    408 procedure TForm1.Button18Click(Sender: TObject);
    409 begin
    410 if bo=0 then
    411  begin
    412   str1:=str1+'.';
    413   Edit1.Text:=str1;
    414   end
    415 Else
    416   begin
    417   str2:=str2+'.';
    418   Edit3.Text:=str2;
    419   end
    420 end;
    421 
    422 procedure TForm1.Button19Click(Sender: TObject);
    423 begin
    424 if bo=0 then
    425   begin
    426     if int1>0 then
    427     edit1.Text:='-'+edit1.Text
    428     else
    429     begin
    430       int1:=0-strtofloat(edit1.Text);
    431       edit1.Text:=floattostr(int1) ;
    432     end;
    433 
    434   end
    435 
    436   else
    437   begin
    438       if int2>0 then
    439     edit3.Text:='-'+edit3.Text
    440     else
    441     begin
    442       int2:=0-strtofloat(edit3.Text);
    443       edit3.Text:=floattostr(int2) ;
    444     end;
    445   end;
    446 end;
    447 
    448 end.
  • 相关阅读:
    JavaScript中字符串处理的一些函数
    JavaScript中的call、apply、bind方法的区别
    JavaScript中的数组与伪数组的区别
    关于字符集和字符编码那些事
    JavaScript的技巧和最佳实践
    Linux下编辑利器vim,vimrc,viminfo的高级用法
    pdo,更高的sql安全性
    Centos下cacti的安装
    nginx中的502错误
    mac下webpagetest搭建
  • 原文地址:https://www.cnblogs.com/xiaoyesoso/p/4247724.html
Copyright © 2011-2022 走看看