VB时钟课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
沈阳理工大学机械工程学院
VB程序设计训练任务书
学生姓名王硕班级10010131 学号1001013124
设计题目时钟
具体内容制作一个提取系统时间并正确走时的时钟。
该时钟有时针、分针和秒针,并且可以走动,如果系统时间正确,则它的时间也正确。
一、设计要求
题目 8
题目:时钟
制作一个提取系统时间并正确走时的时钟。
该时钟有时针、分针和秒针,并且可以走动,如果系统时间正确,则它的时间也正确。
二、技术要求
(一)题目内容描述
简单的时钟,功能于系统时钟相差不大,能够显示当前的系统时间,并且分针,秒针,时针可以自行走动,并且显示正确的时间。
(二)应用程序功能详细说明
1.欢迎界面
在进入系统时首先显示欢迎对话框,界面友好,使程序更加人性化。
2.时钟功能
(1)绘制一个石英钟,程序运行后在桌面上显示一个能按系统时间走动的石英钟,样式美观。
而且工程的标题为当前时间的数字形式,方便获取准确时间。
(2)绘制时钟主要是在窗体上使用PSet方法按照坐标位置点,用Resize 过程来绘制一个时钟形状图案。
并将圆心坐标设置xx1,yy1为中心,以及坐
标原点。
通过坐标差值绘制时钟刻度
(3)使用Line控件作为时钟的时针、分针、秒针;将三条直线的一点与坐标原点重合。
(4)使用Timer控件控制时针、分针、秒针坐标位置的改变;通过计算获得在当前时间的位置。
(5)单击“退出”按钮,会退出程序。
(三)输入数据类型、格式和内容限制
变量值数据类型格式内容限制
xx1 Integer 数字
yy1 Integer 数字
sdeg, srad Long 数字
hdeg, hrad Long 数字
mdeg, mrad Long 数字
(四)系统主要界面描述
(1)编辑界面:
---新建一个标准工程
---在工程中添加一个标准窗体,窗体的Caption的属性为设置为“时钟”,Start Up Position属性设置为“2-屏幕中心”。
---在窗体上添加3个Line控件,并设置Border Color属性设置为合适的颜色。
---添加一个Timer控件,Enabled的属性设置为True, Interval的属性设置为1000.
---添加12个Label控件,依次输入数字1-12,并将其拖拽到合适的位置。
---在窗体上添加1个Command控件,并设置Caption属性为“退出”。
(2)欢迎界面:
---标题“时钟”
---欢迎词“欢迎使用VB时钟”
---确定按钮,关闭消息框进入主界面
(3)主界面:
---程序将显示于屏幕中央
---标题为当前时间
---程序中央显示石英钟,秒针,分针,时针正常转动
---退出按钮,单击以后退出程序
(五)结束语
控件的使用方法以及Resize过程调用方法源自于VB编程实训和教程。
此次编程中,我参考了许多VB有关的书籍,并且上网搜索了大量的资料。
通过借鉴与思考,并加入了一些个性化的元素,完成了此次设计。
但是,在设计过程中也遇到了一些问题,比如时钟的数字,没有想到好方法让它自动生成,只能使用Label控件,拖拽起来非常麻烦。
这次设计锻炼了我的实践能力,在今后的学习中,还会多了解VB,并运用它编写程序解决生活中遇到的问题。
(六)源程序清单
‘在窗体中调制过程Resize,绘制小时钟,实现代码如下:
Dim xx1%, yy1% '宣告变量xx1,yy1为整型(给圆心用的)
Private Sub Form_Load( )
MsgBox”欢迎使用VB时钟”,,”时钟” ‘欢迎界面
End Sub
Private Sub Form_Resize()
Me.Cls ‘清屏
Me.AutoRedraw = True
xx1 = Me.Width \ 2 ‘设置圆心位置
yy1 = (Me.Height - 405) \ 2
Line1.X1 = xx1: Line1.Y1 = yy1 ‘将线置于圆心位置
Line2.X1 = xx1: Line2.Y1 = yy1
Line3.X1 = xx1: Line3.Y1 = yy1
Me.Line (xx1 - 950, yy1)-(xx1 - 850, yy1)
‘绘制表的刻度
Me.Line (xx1 + 850, yy1)-(xx1 + 950, yy1)
Me.Line (xx1, yy1 - 950)-(xx1, yy1 - 850)
Me.Line (xx1, yy1 + 850)-(xx1, yy1 + 950)
Me.DrawWidth = 5 ‘设置线宽
Me.Circle (xx1, yy1), 950 ‘设置时钟大小
Line2.BorderWidth = 1 ‘设置Line2的宽度
Line2.BorderColor = QBColor(12) ‘颜色
Line1.BorderWidth = 2 ‘设置Line1的宽度
Line1.BorderColor = QBColor(14) ‘颜色
Line3.BorderWidth = 3 ‘设置Line3的宽度
Line3.BorderColor = QBColor(10) ‘颜色
Timer1.Interval = 500
End Sub
‘Timer 控件用于控制时钟指针随着时间变化。
每次改变表示时钟指针Line控件的坐标位置,使指针走动起来,程序代码如下:
Private Sub Timer1_Timer()
Me.Caption = Time ‘读取当前系统时间Second Hand ‘获取当前秒钟数sdeg = Second(Time) * 6 ‘秒针旋转度数
srad = (3.14 / 180) * sdeg
Line2.X2 = Line2.X1 + (900 * Sin(srad)) ‘绘制秒针
Line2.Y2 = Line2.Y1 - (900 * Cos(srad))
Minute Hand ‘获取当前分钟数
Mdeg = Minute(Time) * 6 + (sdeg * 1 / 60) ‘分针旋转度数
mrad = (3.14 / 180) * Mdeg
Line1.X2 = (750 * Sin(mrad)) + Line1.X1 ‘绘制分针
Line1.Y2 = Line1.Y1 - (750 * Cos(mrad))
Hour Hand ‘获取当前小时数
hdeg = Hour(Time) * 30 + (Mdeg / 12) ‘时针旋转度数
hrad = (3.14 / 180) * hdeg
Line3.X2 = (500 * Sin(hrad)) + Line3.X1 ‘绘制时针
Line3.Y2 = Line3.Y1 – (500 * Cos(hrad))
End Sub
三、时间安排
指导教师签字:教研室主任签字:时间:2011-12-13。