模拟时钟的VB程序剖析(共15页).doc

上传人:飞****2 文档编号:16801264 上传时间:2022-05-19 格式:DOC 页数:15 大小:166KB
返回 下载 相关 举报
模拟时钟的VB程序剖析(共15页).doc_第1页
第1页 / 共15页
模拟时钟的VB程序剖析(共15页).doc_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《模拟时钟的VB程序剖析(共15页).doc》由会员分享,可在线阅读,更多相关《模拟时钟的VB程序剖析(共15页).doc(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上沈 阳 航 空 航 天 大 学 课程设计学 号 55班 级 姓 名 李超指导教师 刘学平2010 年 3 月 15 日专心-专注-专业沈阳航空航天大学课程设计任务书学院:航空宇航工程学院 专业:飞行器制造 班级:学号:55 题目:模拟时钟一、课程设计时间2011年3月7日11日(第1周),共计1周。二、课程设计内容在窗体上演示一个正在工作的有时、分、秒指针的时钟,要求:可以对时钟的时间进行手工修正。用户界面中的菜单(或命令按钮)至少应包括“运行时钟”、“修改时间”、 “退出”3项。三、课程设计要求程序质量: 贯彻事件驱动的程序设计思想。 用户界面友好,功能明确,操作方

2、便;可以增加其它功能或修饰。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书: 课设结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、成绩六、教师评语目 录一、需求分析“模拟时钟”软件。在窗体上演示一个正在工作的有时、分、秒指针的时钟,要求:可以对时钟的时间进行手工修正。用户界面中的菜单(或命令按钮)至少应包括“运行时钟”、“修改时间”、 “退出”3项。在VB窗体Form1中设计模拟时钟表盘,设计四个按钮:运行时钟、修改时间、应用、退出。在窗体Form2中设计填输入时间的位置和两个按钮:重新输入、确

3、定。用运行时钟按钮使时钟从零点开始运行。利用修改时间按钮在Form2中输入合理时间,单击确定后单击应用使模拟时钟按所需时间开始运行。Form2中重新输入按钮可以使所有Text控件清空,可以进行时间的重新输入。程序可以实现时钟指针的转动。二、设计分析(1) 基本原理:设计表盘,利用勾股定理实现时钟的转动,通过两个窗体的配合实现修改时间的功能,使模拟时钟能像正常时钟一样运行。(2) 总体设计:总系统窗体1的功能设置窗体2的功能设置窗体1和窗体2的配合图1 总体设计(3) 详细设计:开始创建工程Form1的表盘设计Form2的界面设计Form1与Form2的连接指针与表盘的组合设计读取所输入的时间对

4、按钮的程序设计图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 *

5、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)显示Form2Private Sub Command2_Click() Timer2.Interval = 0 Timer1.Interval = 0 Form2.Show 关闭定时器1、定时器2,对时间进行手工修改End Sub 图5 (2)Form2隐藏Private Sub C

6、ommand1_Click() If Val(Text1.Text) 24 Or Val(Text1.Text) 60 Or Val(Text2.Text) 60 Or Val(Text3.Text) 0 Then MsgBox 请输入合理时间: Text1.Text = : Text2.Text = : Text3.Text = 数据不合理时弹出提示 Else Form1.Show Form2.Hide 读取到修改后的时间数据并关闭窗体2 End IfEnd Sub 注:输入的时间不合理会弹出提示,输入时间为空时也会弹出提示 图6 图73.修改的时间数据的读取与运行Private Sub C

7、ommand4_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 IfEnd SubPrivate Sub Timer2_Timer() s = s + 1 m = Form2.Text2.Text + s / 60 h = Form2.Text1.Text + m / 60 Line

8、S.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 使

9、时钟在修改时间后开始四、总结 本次课程设计我的任务是运用VB设计一个模拟时钟,包含运行时钟、修改时间、应用、退出等功能。程序需要两个窗体、两个Timer控件以及四个按钮控件:运行时钟、修改时间、应用、退出。可实现与正常时钟相同的运行速度。可以进行手动的修改、运行时钟。还可以对用户输入的时间数据进行判断。 在此次课设过程中,设计界面使我了解到手工绘图方面的一些控件,现在可以进行熟练的运用。Timer控件的运行方法让我用尽了心思,对于指针的初始位置的设置,我运用到了控件的尺寸,指针的长度设置我运用到了勾股定理,为了美观和人性化处理对各个功能之间的显示与切换我下个很大功夫。 VB的设计过程让我深刻认

10、识到知识的有用之处,这是一个即动手又动脑的一次实习。让我意识到VB的魅力所在,它使我们能形象的了解到生活中的一些具体事物,使我们锻炼了自己的动手能力,发挥了自己的智慧。让我们发现自己的不足,认识到更多我们所没有触及的知识。虽然这次设计出现很多困难的,但是在老师和学生的帮助下我终于做出来了,我感到很开心,毕竟是自己的劳动成果。很高兴可以完成这次课设,它让我懂得只有努力才有收获。五、完整的源程序Private Sub Command3_Click() End 结束程序End SubPrivate Sub Command4_Click() If Form2.Text1.Text = Or Form2

11、.Text2.Text = Or Form2.Text3.Text = Then MsgBox 请输入准确时间: Form2.Show 提示用户输入准确时间 Else Timer2.Interval = 1000: s = Form2.Text3.Text - 1 激活定时器2 End IfEnd SubPrivate Sub Form_Load() LineS.X1 = Shape1.Left + Shape1.Width / 2 LineS.Y1 = Shape1.Top + Shape1.Height / 2 LineS.X2 = LineS.X1 LineS.Y2 = Shape1.T

12、op + 150 设置秒针初始位置 LineM.X1 = LineS.X1 LineM.Y1 = LineS.Y1 LineM.X2 = LineM.X1 LineM.Y2 = Shape1.Top + 260 设置分针初始位置 LineH.X1 = LineS.X1 LineH.Y1 = LineS.Y1 LineH.X2 = LineH.X1 LineH.Y2 = Shape1.Top + 500 设置时针初始位置 a = Sqr(LineS.X1 - LineS.X2) 2 + (LineS.Y1 - LineS.Y2) 2) b = Sqr(LineM.X1 - LineM.X2) 2

13、 + (LineM.Y1 - LineM.Y2) 2) c = Sqr(LineH.X1 - LineH.X2) 2 + (LineH.Y1 - LineH.Y2) 2) 设置指针长度 LineS.BorderColor = vbBlack LineS.BorderWidth = 1 LineM.BorderColor = vbBlue LineM.BorderWidth = 2 LineH.BorderColor = vbRed LineH.BorderWidth = 3 设置指针的颜色和粗细End SubPrivate Sub Timer1_Timer() Static s!, m!, h

14、! 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 -

15、 c * Cos(h * 30 * pai / 180) 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 使时钟在修改时间后开始工作六、参考文献1 刘瑞新Visual Basic程序设计教程.北京:机械工业出版社,20032 龚沛增.Visual Basic程序设计教程.清华大学出版社,20043 吴凤翔.Visual Basic程序设计教程.中国林业出版社,2002-11

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁