unit Unit1;

 interface

 uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, bsSkinData, BusinessSkinForm, Mask, bsSkinBoxCtrls, bscalc,
bsSkinCtrls; type
TForm1 = class(TForm)
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;
Button18: TButton;
Button19: TButton;
Button20: TButton;
Button21: TButton;
Button22: TButton;
bsBusinessSkinForm1: TbsBusinessSkinForm;
bsSkinData1: TbsSkinData;
Edit1: TbsSkinEdit;
bsCompressedStoredSkin1: TbsCompressedStoredSkin;
Edit2: TbsSkinEdit;
Edit3: TbsSkinEdit;
Edit4: TbsSkinEdit;
Label1: TLabel;
Button1: TButton;
Button23: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(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 Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Edit3Change(Sender: TObject);
procedure Edit1Enter(Sender: TObject);
procedure Edit3Enter(Sender: TObject);
procedure Button17Click(Sender: TObject);
procedure Button18Click(Sender: TObject);
procedure Button19Click(Sender: TObject);
procedure Button20Click(Sender: TObject);
procedure Button21Click(Sender: TObject);
procedure Button22Click(Sender: TObject);
procedure bsSkinButton1Click(Sender: TObject);
procedure Button23Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations } end; var
Form1: TForm1;
str1:String;
str2:String;
int1:real;
int2:real;
bo:real;
result:real;
implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject);
begin if bo= then
begin
str1:=str1+'';
Edit1.Text:=str1;
end
Else
begin
str2:=str2+'';
Edit3.Text:=str2;
end end; procedure TForm1.FormCreate(Sender: TObject);
begin int1:=;
int2:=;
bo:=;
SetWindowLong(Edit1.Handle,GWL_STYLE,GetWindowLong(Edit1.Handle,GWL_STYLE) or Es_right);
SetWindowLong(Edit2.Handle,GWL_STYLE,GetWindowLong(Edit2.Handle,GWL_STYLE) or Es_right);
SetWindowLong(Edit3.Handle,GWL_STYLE,GetWindowLong(Edit3.Handle,GWL_STYLE) or Es_right);
SetWindowLong(Edit4.Handle,GWL_STYLE,GetWindowLong(Edit4.Handle,GWL_STYLE) or Es_right);
end; procedure TForm1.Button20Click(Sender: TObject);
begin
edit2.Text:='';
edit3.Text:='';
int2:=;
edit4.Text:= FormatFloat('0.00000',/int1) ;
end; procedure TForm1.Button21Click(Sender: TObject);
begin
edit2.Text:='';
edit3.Text:='';
int2:=;
edit4.Text:= FormatFloat('0.00000',Sqrt(int1)) ;
end; procedure TForm1.Button22Click(Sender: TObject);
begin
result:=int1*int2/;
Edit4.Text:=FormatFloat('0.00000',result);
end; procedure TForm1.Button23Click(Sender: TObject);
begin
if bo= then
edit1.Text:=''
else
edit3.Text:=''; end; procedure TForm1.Button2Click(Sender: TObject); begin
if bo= then
begin
str1:=str1+'';
Edit1.Text:=str1;
end
Else
begin
str2:=str2+'';
Edit3.Text:=str2;
end
end; procedure TForm1.Button3Click(Sender: TObject);
begin
if bo= then
begin
str1:=str1+'';
Edit1.Text:=str1;
end
Else
begin
str2:=str2+'';
Edit3.Text:=str2;
end
end; procedure TForm1.Button4Click(Sender: TObject);
begin
if bo= then
begin
str1:=str1+'';
Edit1.Text:=str1;
end
Else
begin
str2:=str2+'';
Edit3.Text:=str2;
end
end; procedure TForm1.Button5Click(Sender: TObject);
begin
if bo= then
begin
str1:=str1+'';
Edit1.Text:=str1;
end
Else
begin
str2:=str2+'';
Edit3.Text:=str2;
end
end; procedure TForm1.Button6Click(Sender: TObject);
begin
if bo= then
begin
str1:=str1+'';
Edit1.Text:=str1;
end
Else
begin
str2:=str2+'';
Edit3.Text:=str2;
end
end; procedure TForm1.Button7Click(Sender: TObject);
begin
if bo= then
begin
str1:=str1+'';
Edit1.Text:=str1;
end
Else
begin
str2:=str2+'';
Edit3.Text:=str2;
end
end; procedure TForm1.Button8Click(Sender: TObject);
begin
if bo= then
begin
str1:=str1+'';
Edit1.Text:=str1;
end
Else
begin
str2:=str2+'';
Edit3.Text:=str2;
end
end; procedure TForm1.Button9Click(Sender: TObject);
begin
if bo= then
begin
str1:=str1+'';
Edit1.Text:=str1;
end
Else
begin
str2:=str2+'';
Edit3.Text:=str2;
end
end; procedure TForm1.Edit1Change(Sender: TObject);
begin
str1:=edit1.Text;
if edit1.Text<>'' then
int1:=strtofloat(edit1.Text)
else
int1:=; end; procedure TForm1.Edit1Enter(Sender: TObject);
begin
bo:=;
end; procedure TForm1.Edit3Change(Sender: TObject);
begin
str2:=edit3.Text;
if edit3.Text<>'' then
int2:=strtofloat(edit3.Text)
else
int2:=; end; procedure TForm1.Edit3Enter(Sender: TObject);
begin
bo:=;
end; procedure TForm1.bsSkinButton1Click(Sender: TObject);
begin
if bo= then
begin
str1:=str1+'';
Edit1.Text:=str1;
end
Else
begin
str2:=str2+'';
Edit3.Text:=str2;
end
end; procedure TForm1.Button10Click(Sender: TObject);
begin
if bo= then
begin
str1:=str1+'';
Edit1.Text:=str1;
end
Else
begin
str2:=str2+'';
Edit3.Text:=str2;
end
end; procedure TForm1.Button11Click(Sender: TObject);
begin
bo:=;
Edit2.Text:='+';
end; procedure TForm1.Button12Click(Sender: TObject);
begin
bo:=;
Edit2.Text:='-';
end; procedure TForm1.Button13Click(Sender: TObject);
begin
bo:=;
Edit2.Text:='*';
end; procedure TForm1.Button14Click(Sender: TObject);
begin
bo:=;
Edit2.Text:='/';
end; procedure TForm1.Button15Click(Sender: TObject);
begin if Edit2.Text='+' then
begin
result:=int1+int2;
Edit4.Text:=floattostr(result);
end ; if Edit2.Text='-' then
begin
result:=int1-int2;
Edit4.Text:=floattostr(result);
end ;
if Edit2.Text='*' then
begin
result:=int1*int2;
Edit4.Text:=floattostr(result);
end ;
if ( Edit2.Text='/') and (int2<> ) then
begin
result:=int1/int2;
{保留5位小数}
Edit4.Text:=FormatFloat('0.00000',result);
end ; if ( Edit2.Text='/') and (int2= ) then
begin
Application.MessageBox('除数不能为0!','错误提示',MB_OKCANCEL);
end ; end; procedure TForm1.Button16Click(Sender: TObject);
begin bo:=;
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
int1:=;
int2:=;
result:=;
end; procedure TForm1.Button17Click(Sender: TObject);
begin
if bo= then
edit1.Text:= Copy( edit1.Text, , length( Edit1.text )- ) {截取}
else
edit3.Text:= Copy( edit3.Text, , length( Edit3.text )- ); end; procedure TForm1.Button18Click(Sender: TObject);
begin
if bo= then
begin
str1:=str1+'.';
Edit1.Text:=str1;
end
Else
begin
str2:=str2+'.';
Edit3.Text:=str2;
end
end; procedure TForm1.Button19Click(Sender: TObject);
begin
if bo= then
begin
if int1> then
edit1.Text:='-'+edit1.Text
else
begin
int1:=-strtofloat(edit1.Text);
edit1.Text:=floattostr(int1) ;
end; end else
begin
if int2> then
edit3.Text:='-'+edit3.Text
else
begin
int2:=-strtofloat(edit3.Text);
edit3.Text:=floattostr(int2) ;
end;
end;
end; end.

计算器(delphi)的更多相关文章

  1. Delphi 调用系统中的计算器、记事本、画图软件方法

    1.直接调用    前面uses加 ShellAPI ShellExecute(Handle, 'open', PChar('calc.exe'), nil, nil, SW_SHOW); 2.直接调 ...

  2. delphi 发送Windwos消息控制按钮(控制计算器里的某一个按钮)

    procedure TfrmMain.btnSendClick(Sender: TObject); var hCalc, h1: Cardinal; begin WinExec('calc', SW_ ...

  3. delphi.位操作

    位操作网上有很多介绍,请上网google/baidu,比如: 位操作技巧实例大全: http://blog.csdn.net/g_spider/article/details/5750665 位操作基 ...

  4. 在Delphi中如何控制其它应用程序窗口

    在编写Delphi的应用程序中,常常涉及对其它Windows应用程序的操作.例如,在数据库的管理系统中,财务人员需要使用计算器,即可调用Windows内含的计算器功能,若每次使用,均通过“开始/程序/ ...

  5. delphi 资源文件详解

    delphi资源文件详解 一.引子: 现在的Windows应用程序几乎都使用图标.图片.光标.声音等,我们称它们为资源(Resource).最简单的使用资源的办法是把这些资源的源文件打入软件包,以方便 ...

  6. delphi xe5 android 关于文件大小的几个问答O(∩_∩)O~

    摘自:http://blogs.embarcadero.com/vsevolodleonov/2013/09/19/are-you-asking-about-app-size-by-delphi-fo ...

  7. delphi定义自己的消息

    定义一个消息需要两个步骤: 1.声明一个消息标识符 2.声明一个消息记录类型 一个消息标识符是一个整数大小的常数.Windows自用低于1024的消息,所以当你声明你自己的消息,你应该开始高于这一数字 ...

  8. 初学delphi

    今天女朋友的一门课,要求用delphi 软件编程,内容是一个计算器.当然,这个工作肯定是落在我的头上了. 这个软件是我第一次使用,边自学边进行代码编写,在n多次修改完善之后,终于成形.功能不是很多,跟 ...

  9. Delphi应用程序的调试(五)其他调试工具

    Delphi应用程序的调试(五)其他调试工具 Delphi7中提供了一些附加调试工具来帮助用户检查程序错误.从性能上讲,其中一些工具属于高级调试工具.尽管高级调试工具不像其他工具那样常用,但对于经验丰 ...

随机推荐

  1. c++算术运算时数据类型提升带来的问题

    两类位移运算:左移和右移,逻辑的或者算术的. 左移比较简单:右边补0:右移:算术的补位是根据符号位确定的,逻辑的补0即可:java中是不同的,java貌似只补0. 位移中的类型提升问题过去没有注意过, ...

  2. Linux下的权限掩码umask

    权限掩码umask 我们都知道在linux下创建一个文件或者目录之后是可以通过chmod等命令进行权限设置,来达到给当前用户.用户组用户以及其他用户分配不同的访问权限.那么,我们新创建的目录和文件本身 ...

  3. php创建文件夹后设置文件夹权限(转)

    原文链接:http://www.phpstudy.net/b.php/69873.html PHP mkdir()无写权限的问题解决方法 使用mkdir创建文件夹时,发现这个函数有两个参数,第二个参数 ...

  4. 使用Hibernate框架技术时,对项目进行的配置

    1.在需要使用Hibernate框架技术的项目上单击鼠标右键,在弹出的菜单中选择MyEclipse-->Add Hibernate Capabilities,打开Add Hibernate Ca ...

  5. flex数据交互方式 转

    Flex数据交互方法- httpservice, webservice, RemoteObject, socket. 写在前面: 使用SOAP Web Service同Flex交互有很多好处,但是它很 ...

  6. Delphi 中的MD5实现方法(转)

    在Delphi自带的Indy控件中其实是提供了MD2,MD4,MD5对象的,我们可以直接使用它们来完成MD5的签名算法.而不需要再去找其它的DLL或是Pas了. 在Uses单元中引用 IdHashMe ...

  7. HTML5와 CSS3 적용기

    HTML5의 DTD 선언 <!DOCTYPE html>  HTML5의 인코딩 선언 <meta charset="utf-8">  그리고나서는 새로 ...

  8. Quartz Scheduler(2.2.1) - Usage of CronTriggers

    Cron is a UNIX tool that has been around for a long time, so its scheduling capabilities are powerfu ...

  9. 网易新闻RSS阅读器

    首先需要分析网易RSS订阅中心的网页布局情况. 网易RSS订阅中心:http://www.163.com/rss/ 你会发现RSS文件由一个<channel>元素及其子元素组成,除了频道本 ...

  10. android之回调函数的意义

    本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17483273) 看完这篇文后大家可以看看这个http://blog. ...