ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:43.55KB ,
资源ID:1356821      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-1356821.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(模拟时钟转动程序设计说明书.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

模拟时钟转动程序设计说明书.docx

1、模拟时钟转动程序设计说明书摘要 - 2 -1 引言 - 3 -1.1 选题背景 - 3 -1.2 任务与分析 - 3 -2 方案设计 - 4 -3 界面设计 - 5 -4 代码设计及程序调试 - 6 -总结与体会 - 10 -致谢 - 11 -参考文献 - 12 -摘 要随着计算机的不断更新发展,计算机图形操作和动画设计扮演着极为重要的角色, Windows环境下的Visual Basic提供了丰富的图形功能。本文主要通过对选题背景、方案设计、界面设计、代码编写及调试以及软件使用说明等的介绍,介绍了作者利用Visual Basic对“模拟时钟转动”程序的开发设计过程。关键词:Visual Ba

2、sic 模拟时钟转动 程序设计 1 引 言 1.1 选题背景 通过一年来对Visual Basic 高级语言程序设计的学习,我已经掌握了一些常用的控件的使用方法,对简单的程序设计的常用算法也有了一定的了解,还掌握了对图形和动画的一些基本操作。为了进一步加深理解、验证、巩固课堂教学内容,加深对可视化编程思想的理解,强化Visual Basic对程序流程控制、常用控件的属性、事件、方法的理解和使用;为了进一步提高编程能力、程序的调试能力,理论联系实际的能力;巩固所学的这些程序设计的方法,为了达到后续课程对实际编程计算能力的要求,特选定“模拟时钟转动程序设计”这个寓教于乐的小题目作为课程设计实践教学

3、环节的题目,有助于培养综合运用所学知识解决实际问题的能力,可以充分发挥想象力和创新能力;有助于提高独立思考能力,自学能力和团队协作能力。1.2 任务与分析 任务的具体内容:设计一个类似于Windows“时钟”的程序,并用数字显示时间。在界面显示一个活动时钟,能模拟机械钟表行走,还要准确的利用数字显示时间。任务具体要求:要求遵循面向对象和结构化程序设计的编程思路,设计合理的界面,设置所需控件及其属性,编写相应的事件过程,并上机调试程序,在基本要求达到后,进行一定创新设计。并编写规范的设计说明书一份。软件的预期功能:实现石英钟表式的能够有指针运动的时钟显示。 2 方案设计 显示一个动画时钟,该时针

4、随着每一秒而动态变化。与其他图形动画技术一样,每隔0.1秒(100毫秒)触发Timer事件下的过程,首先利用PSET,LINE,CIRCLE绘图方法绘制时钟的表盘。然后再绘制三个指针的位置,计算指针的坐标,设计各个指针的转动角度和时间,这样就实现了每秒走时的电子钟。主要思路:(1)绘图方法中的Line,Circle方法进行表盘的设计 将Form大小确定为50000*5000, 通过Form大小的确定可以确定出表盘圆心的位置,即( BaseX = Me.ScaleWidth / 2 , BaseY = Me.ScaleHeight / 2),以及圆的半径大小R = BaseX * 0.8 (2)

5、绘图方法中的line来绘制指针通过圆心的确定就能确定指针的起点坐标,从而设计指针的长度和两端点坐标,起点坐标为(BaseX + (R - 15) * Sin(i * PI / 180), BaseY - (R - 15) * Cos(i * PI / 180)),终点坐标为( BaseX + R * Sin(i * PI / 180), BaseY - R * Cos(i * PI / 180)) (3)利用Timer控件来控制指针的绘制和运动将Timer控件的Interval属性设为100毫秒,即是1秒触动一次时间,从而通过调用DrawClock, Biaopan子过程每一秒画一次表盘(4)

6、子过程,子函数在程序中通过DrawClock, Biaopan子过程来画表盘和指针,每一次调用子过程,画出下一秒的指针,以及用背景色为白色色上一秒的指针线掩盖原来的指针。3界面设计简易时钟设计程序的模拟时钟运行界面如图所示 程序运行界面将Form窗口设计为5000*5000的正方形,所取的圆的直径为窗体宽度的0.8倍,在界面中就可以依次设计出112数字label的位置,秒针每转动一格指针转过的角度为6度,就可以计算出秒针末端的坐标(BaseX + R * Sin(i * PI / 180), BaseY - R * Cos(i * PI / 180)4 代码设计及程序调试第一步,先新建一个工程

7、,然后用“工具箱”中的工具加入一个Timer1,将Timer1的属性interval改为100。定义变量的代码如下:Const PI = 3.1415926 Dim BaseX As Integer, BaseY As Integer, R As IntegerDim r1 As Integer, r2 As Integer, r3 As Integer第二步,绘制表盘的的代码,首先寻找圆心,将整个圆周先分为360份,每30份为1次绘制小时,再利用三角函数计算出每一分钟的刻度应该的坐标,画线,再沿分钟的刻度用circle函数边缘画出表盘的圆圈。Private Sub biaopan()Dim

8、i As Integer BaseX = Me.ScaleWidth / 2 BaseY = Me.ScaleHeight / 2 If BaseX BaseY Then R = BaseX * 0.8If BaseX BaseY Then R = BaseY * 0.8以上语句是用于确定表盘的大小和表盘圆心的位置 For i = 0 To 360 Step 6 For i = 0 To 360 Step 6 If i Mod 90 = 0 Then Me.DrawWidth = 6 DrawLine BaseX + (R - 15) * Sin(i * PI / 180), BaseY -

9、(R - 15) * Cos(i * PI / 180), BaseX + R * Sin(i * PI / 180), BaseY - R * Cos(i * PI / 180), 3 End If通过一个if语句结构,如果在for循环中如果i能够被90整出则画出3、6、9、12数字label所对应的表盘刻度 If i Mod 30 = 0 Then Me.DrawWidth = 6 DrawLine BaseX + (R - 15) * Sin(i * PI / 180), BaseY - (R - 15) * Cos(i * PI / 180), BaseX + R * Sin(i *

10、PI / 180), BaseY - R * Cos(i * PI / 180), 4 End If通过一个if语句结构,如果在for循环中如果i能够被30整出则画出1、2、4、5、7、8、10、11数字label所对应的表盘刻度 Me.DrawWidth = 5Me.Circle (BaseX, BaseY), R, vbBlue 上面两句用于画出表盘的圆,圆心为(BaseX, BaseY)第三步,绘制时钟的指针,先将系统时间中间的秒,分钟,小时提出作为1个参数,再用这个参数带入三角函数的运算,计算出时针,分针,秒针各自时间内应该走过的角度,利用划线的函数画出各个指针。 Me.DrawWid

11、th = 1 DrawLine BaseX, BaseY, BaseX + (R - 8) * Sin(Second * PI / 30), BaseY - (R - 8) * Cos(Second * PI / 30), 0用于画出秒针的线条 DrawLine BaseX, BaseY, BaseX + R * 0.8 * Sin(Minute * PI / 30), BaseY - R * 0.8 * Cos(Minute * PI / 30), 1用于画出分针的线条 DrawLine BaseX, BaseY, BaseX + R * 0.6 * Sin(Hours + Minute /

12、 60) * PI / 6), BaseY - R * 0.6 * Cos(Hours + Minute / 60) * PI / 6), 2用于画出时针的线条第四步,画线函数,用line函数,将坐标定于为静态变量,将上一次的画线颜色设置为背景颜色,并且设置画线的宽度。Private Sub DrawLine(x1 As Integer, y1 As Integer, x2 As Integer, y2 As Integer, Flag As Integer)Static OldSX1 As Integer, OldSX2 As Integer, OldSY1 As Integer, OldS

13、Y2 As Integer Select Case Flag Case 0 Me.DrawWidth = 1 Me.Line (OldSX1, OldSY1)-(OldSX2, OldSY2), BackColor Me.Line (x1, y1)-(x2, y2), vbBlue OldSX1 = x1 OldSX2 = x2 OldSY1 = y1 OldSY2 = y2在子过程中用Static函数确定下来原来的指针坐标,下一秒画线的时候将原来的指针掩盖第五步,调用子过程,显示现在时间。Private Sub Timer1_Timer() Call DrawClock Call DrawC

14、lockEnd Sub Timer每触动一次,调用一次DrawClock 和DrawClock子过程,画出当前时间的指针位置 。总结与体会本段具体内容为本次课程设计整体上的总结与体会,可包含所设计软件的优点和不足的分析,遇到的困难及解决方法等。在这个简易时钟设计的过程中,我是对时钟的表盘设计和时针的设计。在课设创作的过程中,我学会了基本的VB编程技能,对软件制作也有了初步的了解。同时也遇到了种种困难,体验到了编程的艰辛。在实现“时钟指针运动”的过程中,指针运动的坐标难以计算,无法实现指针的机械转动。无法实现对时钟的时间进行修改。后来,我们通过相互讨论及查询相关资料,细心检查语句。不断使逻辑和格

15、式趋于完善。最终,问题得以解决。软件的制作是一件辛苦而费力的工作,但在同学的努力下,我们不但按时完成,而且从中学到了许多课本上没有的东西,首先是团队的合作精神。现代软件的制作不是一个人可以完成的,个人始终需要集体的支持。在确定制作项目之后,我们进行了分工,每个人都有任务。但分工不等于对其余人的工作放手不管,在遇到困难时,大家集中在一起进行分析讨论,共同解决。其次是学习与实践的关系。在课本上学到了VB程序的基础知识。但在实践中,需要大量的拓展知识。我们在理解书本知识的基础上,查阅了大量的书籍,不仅找到了问题的解决方法,而且优中取优,尽量选取最简方法,从而促进了我们VB知识的提高。在设计中会遇到很

16、多的困难,其主要的原因如下:(1)对所学过的相关知识不是很熟练,不会灵活应用;(2)缺乏实践经验,不会理论联系实际;(3)思维不是很灵活;(4)在设计的时候不够认真仔细;(5)知识面不够广;(6)画图的经验不足,不会应用简单的方法;(7)对VB编程不是很熟练,有很多的方法不会应用。通过本次的VB程序简易时钟设计,要吸取一定的经验,在以后的学习和工作当中就要更加的认真仔细,尽量不让不该发生的错误发生,也更应该增加实践经验和灵活的思维方法,当然,努力学习还是首要的任务,因为只有有了很牢固的知识后才能让我们做什么事都游刃有余,胸有成竹。这次的VB程序设计的计算能力,绘图能力,应用VB编程的能力,应用

17、资料、手册、标准的能力都得到了很大的提高。虽然,在设计的过程中遇到了很多的问题,最后每个问题都得到解决的时候,有种如释重负的感觉,心里充满了成就感。此外,我还得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。 致 谢这次能够顺利的完成这次课程设计,首先我要感谢在课程设计辅导我的张诗波老师,是他在我每次感到困难的时候给予我很大的帮助,还要感谢那些在设计的时候向我提供意见的同学们,当然还要感谢学校提供这么好的学习环境,让我们能够顺利的完成这次课程设计,感谢我的父母和朋友们给与我的物质精神上的鼓励和支持。【参考文献】1 杨明广.王秀华. Visual Basic程序设计教程M.北京:中国科学技术出版社,20062 王秀华.余建坤. Visual Basic程序设计上机和级考实训教程M.北京:中国科学技术出版社,20063 郭瑞军.Visual Basic数据库开发实例精粹M.北京:电子工业出版社,20034 曾强聪,新编visual basic程序设计教程,清华大学出版社,20045 刘瑞新,visual basic 程序设计教程(第二版),电子工业出版社,2003

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2