长春工业大学 DELPHI 程序设计
报告 题 学 专 班
目: 院: 业: 级:
计算器
工商管理 电子商务 070509 班 孙 敏 2007**** *****
2009 年 12 月 30 日
学生: 学 号:
指导教师:
一, 摘要
我们这一组由*******个人组成。在分工上,肖珉负责的是设计界面,我和 胡明明还有张玉梅负责设置属性以及编写代码。在编写代码的过程中 ,我们参 考了一些相关的资料,再结合我们自己的看法,最终完成了我们这组的作品 ---Delphi 计算器。我们设计的是一个方便适用的普通计算器,能实现加、减、 乘、除等各种操作。点击相应的按钮,就可以进行计算,既传统,又适用。
二, 正文
计算器平面图: 计算器平面图
在我们这组设计的计算器中,包括了 16 个按钮,分别分布在两个 Pannel 中。其中 Pannel1 是整个计算器的主体。Pannel2 则是镶嵌在 pannel1 里面的, 用于显示输出的数据,分布在 pannel1 的上部。16 个按钮分别是 0~9 等十个数 字,已经+、-、*、/、=等五个符号以及小数点.,它们分布在 pannel1 的下部。 我主要负责的是各个组件的属性的设置。 各个组件的属性如下: 各个组件的属性如下: 组件名 属性 Pannel1 Caption Pannel2 Caption BorderStyle SpeedButton1 Caption
属性值
属性 Alignment Color Tag
属性值 TaRightJustify clHighlightText 1
bsSingle 1
GroupIndex
SpeedButton2 Caption
0
2 Tag 2
GroupIndex
SpeedButton3 Caption
0
3 Tag 3
GroupIndex
SpeedButton4 Caption
0
4 Tag 4
GroupIndex
SpeedButton5 Caption
0
5 Tag 5
GroupIndex
SpeedButton6 Caption
0
6 Tag 6
GroupIndex
SpeedButton7 Caption 7 Tag 7
GroupIndex
SpeedButton8 Caption
0
8 Tag 8
GroupIndex
SpeedButton9 Caption
0
9 Tag 9
GroupIndex
SpeedButton10 Caption
0
0 Tag 0
GroupIndex
SpeedButton11 Caption
0
. Tag 10
GroupIndex
SpeedButton12 Caption
0
+ Tag 0
GroupIndex
SpeedButton13 Caption
1
Tag 1
GroupIndex
SpeedButton14 Caption
1
* Tag 2
GroupIndex
SpeedButton15 Caption
1
/ Tag 3
GroupIndex
SpeedButton16 Caption
1
= Tag 4
GroupIndex 计算器代码: 计算器代码:
unit jsq; interface
1
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Buttons, ExtCtrls; type TForm1 = class(TForm) Panel1: TPanel; Panel2: TPanel; SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; SpeedButton3: TSpeedButton; SpeedButton4: TSpeedButton; SpeedButton5: TSpeedButton; SpeedButton6: TSpeedButton; SpeedButton7: TSpeedButton; SpeedButton8: TSpeedButton; SpeedButton9: TSpeedButton; SpeedButton10: TSpeedButton; SpeedButton11: TSpeedButton; SpeedButton12: TSpeedButton; SpeedButton13: TSpeedButton; SpeedButton14: TSpeedButton; SpeedButton15: TSpeedButton; SpeedButton16: TSpeedButton; procedure FormCreate(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton12Click(Sender: TObject); procedure Pane
l1Click(Sender: TObject); private { Private declarations } public
{ Public declarations } end; var Form1: TForm1; implementation var s:
word; x,y:real; v:boolean; {$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject); begin s:=0; x:=0; y:=0; v:=false; end; procedure TForm1.SpeedButton1Click(Sender: TObject); begin if form1.Tag=1 then begin if tag=10 then panel2.Caption:='0.' else panel2.Caption:=(Sender as TSpeedButton).Caption; form1.Tag:=0; end else panel2.Caption:=panel2.Caption+(Sender TSpeedButton).Caption; end; procedure TForm1.SpeedButton12Click(Sender: TObject); begin form1.Tag:=1; if v then begin x:=strtofloat(panel2.Caption); v:=not v; end else
as
be