模拟时钟的VB程序讲解

  • 格式:doc
  • 大小:188.00 KB
  • 文档页数:16

下载文档原格式

  / 16
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

沈阳航空航天大学课程设计

学号2009040301055

班级94030102

姓名李超

指导教师刘学平

2010 年3 月15 日

沈阳航空航天大学

课程设计任务书

学院:航空宇航工程学院专业:飞行器制造班级:94030102

学号:2009040301055 题目:模拟时钟

一、课程设计时间

2011年3月7日~11日(第1周),共计1周。

二、课程设计内容

在窗体上演示一个正在工作的有时、分、秒指针的时钟,要求:可以对时钟的时间进行手工修正。

用户界面中的菜单(或命令按钮)至少应包括“运行时钟”、“修改时间”、“退出”3项。

三、课程设计要求

程序质量:

✧贯彻事件驱动的程序设计思想。

✧用户界面友好,功能明确,操作方便;可以增加其它功能或修饰。

✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。

课程设计说明书:

✧课设结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提

供的模板。

四、指导教师和学生签字

指导教师:________ 学生签名:________

五、成绩

六、教师评语

目录

一、需求分析 (4)

二、设计分析 (5)

三、关键技术 (7)

四、总结 (12)

五、完整的源程序 (14)

六、参考文献 (16)

一、需求分析

“模拟时钟”软件。在窗体上演示一个正在工作的有时、分、秒指针的时钟,要求:可以对时钟的时间进行手工修正。用户界面中的菜单(或命令按钮)至少应包括“运行时钟”、“修改时间”、“退出”3项。

①在VB窗体Form1中设计模拟时钟表盘,设计四个按钮:运行时钟、修改时间、应用、退出。在窗体Form2中设计填输入时间的位置和两个按钮:重新输入、确定。

②用运行时钟按钮使时钟从零点开始运行。

③利用修改时间按钮在Form2中输入合理时间,单击确定后单击应用使模拟时钟按所需时间开始运行。

④Form2中重新输入按钮可以使所有Text控件清空,可以进行时间的重新输入。

⑤程序可以实现时钟指针的转动。

二、设计分析

(1)基本原理:设计表盘,利用勾股定理实现时钟的转动,通过两个窗体的配合实现修改时间的功能,

使模拟时钟能像正常时钟一样运行。

(2)总体设计:

总系统

窗体1的功能设置窗体2的功能设置窗体1和窗体2的配合

图1 总体设计

(3)详细设计:

开始

创建工程

Form1的表盘设计Form2的界面设计Form1与Form2的连接

指针与表盘的组合设计读取所输入的时间对按钮的程序设计

图2 详细设计

(4)表盘设计:

图3 表格三、关键技术

1实现指针的转动

Private Sub Timer1_Timer()

Static s!, m!, h!

s = s + 1

m = s / 60

h = m / 60

LineS.X2 = LineS.X1 + a * Sin(s * 6 * pai / 180)

LineS.Y2 = LineS.Y1 - a * Cos(s * 6 * pai / 180)

LineM.X2 = LineM.X1 + b * Sin(m * 6 * pai / 180) LineM.Y2 = LineM.Y1 - b * Cos(m * 6 * pai / 180)

LineH.X2 = LineH.X1 + c * Sin(h * 30 * pai / 180)

LineH.Y2 = LineH.Y1 - c * Cos(h * 30 * pai / 180)

End Sub '使时钟从初始位置开始工作

图4

2 Form1与Form2的连接

(1)显示Form2

Private Sub Command2_Click()

Timer2.Interval = 0

Timer1.Interval = 0

Form2.Show '关闭定时器1、定时器2,对时间进行手工修改

End Sub

图5

(2)Form2隐藏

Private Sub Command1_Click()

If Val(Text1.Text) > 24 Or Val(Text1.Text) < 0 Or Val(Text2.Text) > 60 Or Val(Text2.Text) < 0 Or Val(Text3.Text) > 60 Or Val(Text3.Text) < 0 Then MsgBox "请输入合理时间": Text1.Text = "": Text2.Text = "": Text3.Text = "" '数据不合理时弹出提示Else

Form1.Show

Form2.Hide '读取到修改后的时间数据并关闭窗体2 End If

End Sub

注:输入的时间不合理会弹出提示,输入时间为空时也会弹出提示

图6

图7

3.修改的时间数据的读取与运行

Private Sub Command4_Click()

If Form2.Text1.Text = "" Or Form2.Text2.Text = "" Or Form2.Text3.Text = "" Then

MsgBox "请输入准确时间": Form2.Show '提示用户输入准确时间Else

Timer2.Interval = 1000: s = Form2.Text3.Text - 1 '激活定时器2 End If

End Sub

Private Sub Timer2_Timer()

s = s + 1

m = Form2.Text2.Text + s / 60

h = Form2.Text1.Text + m / 60

LineS.X2 = LineS.X1 + a * Sin(s * 6 * pai / 180)

LineS.Y2 = LineS.Y1 - a * Cos(s * 6 * pai / 180)

LineM.X2 = LineM.X1 + b * Sin(m * 6 * pai / 180)

LineM.Y2 = LineM.Y1 - b * Cos(m * 6 * pai / 180)

LineH.X2 = LineH.X1 + c * Sin(h * 30 * pai / 180)

LineH.Y2 = LineH.Y1 - c * Cos(h * 30 * pai / 180)

End Sub '使时钟在修改时间后开始