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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

电子钟的程序的设计说明.docx

1、电子钟的程序的设计说明电子钟的程序设计 摘要如今计算机已普及到人们生活以及办公当中,那么电脑桌面电子钟也成为了必需,此次设计就是针对于使用计算机的人群,利用Visual basic设计桌面时钟、日历,运用了时钟控件、按钮控件等,并且各模块采用不同的算法,完善系统时间存在的一些弊端,以提醒使用电脑的人们合理利用时间,提高办事效率。可以通过鼠标完成时钟的所有控制,减少一些复杂的程序,并且添加了许多使用的功能,方便用户使用。关键词电子钟;Visual basic;控件;算法Abstract: The computer has now spread to people living and offic

2、e, then desktop electric clock become people daily life indispensable product.The design is based on the use of computers crowd, use of Visual basic design desktop clock, calendar, clock control using, button control, and each module use different algorithms. The desktop electric clock is used to re

3、mind the computer user reasonable using time, improve work efficiency, can complete all through the mouse clock control, reduce some of the complex procedures, and add many use function.Keywords: electric clock, Visual basic, controls, algorithm引言随着人类社会的进步和时代的发展,现代人们的生活节奏越来越快,时间对人们来说也越来越宝贵。然而工作的忙碌性和

4、繁杂性容易使人忘记当前的时间,遇到重大事情的时候,一旦忘记时间,就会给自己和他人造成很大的麻烦。公共场所中,火车要准点到达,航班要准点起飞;日常生活中,公司要求我们上班准时,约会、召开会议或者在教学过程中也必然要提及时间;工业生产中,很多环节都需要用时间来确定生产方式、进程来完成生产等等,这使得人们越来越重视时间观念1。而在无条件的情况下,随时准确的知道时间并合理利用时间,是我们在生活和工作中所难以实现的,所以我们需要一些设备来帮助我们。于是电子钟成为人们日常生活中不可缺少的必需品,它可以随时提醒忙碌中的人们,减少了一些不必要的麻烦以及严重后果的发生,给人们的生活、学习、工作、娱乐带来极大的方

5、便。当今社会中,各式各样的电子钟广泛存在,而且生产、生活对于电子钟的需求也越来越大,根据功能的不同,对于电子钟的体型、功能要求也各不相同,应用的领域也各不相同。如今计算机已普及到人们生活以及办公当中,那么桌面电子钟成为必要,但是由于桌面上系统时间存在一些弊端,例如数字较小,容易被忽略,调整时间必须进入系统文件才可以完成等等,此次设计就是以此为切入点,针对于使用计算机的人群,完善系统时间存在的一些弊端,为用户提供方便,并且推动电子行业的发展以适应用户的需求,同时锻炼自己的动手能力、编程能力以及学习能力,理论联系实际,为以后的工作奠定基础2。根据所设计电子钟的功能特点,此次运用了可视化高级程序设计

6、语言来设计桌面时钟、日历,以提醒使用电脑的人们合理利用时间,提高办事效率,可以即时修改时间,减少一些复杂的程序,并且可以根据需要设置倒计时以及闹钟,提高了所设计电子钟的实用性,方便用户使用。Visual basic作为一种可视化高级程序设计语言出现以来,使编程工作变得轻松快捷,使程序设计者摆脱了面向过程语言的许多细节,极大地提高了应用程序开发的效率,是在计算机技术发展历史上应用得最为广泛的语言3。本设计就是利用这种程序设计方法实现电子钟功能的应用程序,实现桌面电子时钟和日历等功能。本次设计的电子钟存在一些不足之处,如日历显示单调,不可以调整,若需要更改闹钟提醒音乐,只可以通过修改程序实现。1设

7、计方案从功能上看,目前使用Visual basic设计的电子钟程序大部分调用系统时间,如果对时间进行修改,只能打开系统时间修改界面,修改后改变了系统时间。从界面上看,现有的时钟界面用Visual basic语言编写,看起来非常单调,不美观。本次设计避免了现有设计的一些弊端,首先使用Photoshop软件对时钟以及日期显示界面的图像进行了处理,使其美观、大方。然后运用可视化高级程序设计语言Visual basic语言来编写, Visual basic简单易学,并且Visual basic可以通过对控件属性的直接设置,减少一些程序,使编程变得更加方便、快捷。刚开始运行时调用系统时间,如果需要进行修

8、改,双击表盘,弹出修改界面,使用鼠标或键盘对其进行修改以显示到桌面,不会影响到系统时间,保证了电子钟的实用性。2设计使用工具2.1 Visual basic语言“Visual”在字面上的意思是“看得、视觉的、用于看的”引申到计算机程序设计中,意思是:可视化程序设计,指的是开发图形用户界面(Graphic User Interface,GUI)的方法。使用这种方法,用户不需编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象拖放到屏幕上的一点即可。“BASIC”指的是BASIC语言,它是一种在计算机技术发展历史上应用得最为广泛的语言。Visual basic是在BASIC语言基础上发展

9、而来的,是由美国微软公司于1991年开发的一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,至今包含了数百条语句、函数及关键词,其中有很多和Windows GUI有直接关系,它的诞生标志着软件设计和软件开发的一个新时代的开始。使用Visual basic既可以开发个人或小组使用的小型软件,又可以开发多媒体软件、数据库应用程序、网络应用程序等大型软件,是国内外最流行的程序设计语言之一,也是学习开发Windows应用程序首选的程序设计语言。Visual basic语言是结构化程序设计语言,它具有高级程序设计语言的优点,丰富的数据类型、大量的内部函数、模块化的程序结构,符合结构化设计

10、思想语言,而且结构清晰、简单易学,此外作为一种设计语言,Visual basic还有许多独到之处。 2.2Visual basic集成开发环境Visual basic集成开发环境(Integrated Development Environment,IDE)是一组软件工具,它是集应用程序的设计、编辑、运行、调试等多种功能于一体的环境,为程序设计提供了极大的便利4。Visual basic经历了从1991年的1.0版至1998年的6.0版的多次版本升级,其主要差别是:更高版本的Visual basic能提供更多、功能更强的用户控件;增强了多媒体、数据库、网络等功能,使得应用范围更广。Visual

11、 basic6.0中文版是Microsoft公司最新推出的跨世纪的产品,适合于Windows95/98和Windows NT平台。它简单易用,适用面广,无论是通信、数据库,还是多媒体以及普通的Windows用程序都可以用Visual basic来进行开发,而且方便快捷。Visual basic6.0中文版是Microsoft公司在Visual basic5.0之后推出的最新版本,它有三种版本,各自满足不同的开发需要。(1)学习版。学习版使编程人员轻松开发Windows 95/98和Windows NT的应用程序。该版本包括所有的内部控件,连同Grid、Tab和Data_ Bound控件。(2)

12、专业版。专业版为专业编程人员提供了一整套进行程序开发的功能完备的工具。该版本包括了学习版的全部功能,以及ActiveX控件,还包括Internet控件和Crystal Report Writer。(3)企业版。企业版使得专业编程人员能够开发功能强大的组内分布式应用程序。该版本包括专业版的全部功能,以及自动化管理器、部件管理器、数据库管理工具、Microsoft Visual Source Saft(TM)面向工程版的控制系统等等。 Visual basic6.0不仅继承了以往版本的诸多优点,而且增加了许多新特性5。(1)具有基于对象的可视化设计工具。Visual basic采用了面向对象设计思

13、想,对象是一个抽象的概念,是将程序和数据封装起来的一个软件部件,是经过调试可以直接使用的程序单位。许多对象都是可视的。Visual basic的基本思路是把复杂的设计问题分解为多个能够完成独立功能且相对简单的对象集合。所谓“对象”就是个可操作实体,如窗体、窗体中命令按钮、标签、时钟、文本框等,面向对象编程就是指程序员可根据界面设计要求直接在界面上设计出窗口、菜单、按钮等类型对象,并为每个对象设置相应的属性值。这种“所见即所得”的方式极大的方便了程序员进行界面设计。(2)事件驱动的编程机制。在Windows环境下就是以事件驱动方式运行每个对象的,能响应多个区别事件,每个事件都能驱动一段代码事件过

14、程,该代码决定了对象功能,各个动作之间不一定存在关联。这种机制就称为事件驱动的编程机制。事件驱动非常适合图形用户界面的编程方式。传统的编程方式是面向过程的,按程序事先设计的流程来运行的。但在图形用户界面的应用程序中,用户的动作(即事件)控制着程序的运行流向。事件驱动的编程机制可由用户操作触发,也可以由系统或应用触发,例如单击命令按钮就触发了按钮Click(单击)事件,该事件中代码就会被执行,若用户未进行任何操作(即未触发事件),则就处于等待状态,整个应用就是由彼此独立事件过程构成。这样的应用程序代码长度较短,既易于编写又易于维护,极大地提高了程序设计效率。(3)提供易学易用的应用程序集成开发环

15、境。Visual basic为编程提供了集成开发环境,在这个环境中编程者可设计界面、编写代码、调试程序、直接运行,直至把应用编译成可在Windows中运行的可执行文件,并为它生成安装Visual basic集成开发环境,为编程者提供友好的开发环境。 (4)强大数据库访问功能。Visual basic利用数据Control控件可以访问多种数据库Visual basic6.0提供ADO Control控件,不但可以用最少代码实现数据库操作和控制,也可以取代Data Control控件和RDO Control控件。 (5)支持对象链接和嵌入技术。Visual basic核心是对象链接和嵌入(OLE)

16、技术支持,它是访问所有对象的一种思路方法,利用OLE技术能够开发集声音、图像、动画、字处理、Web等对象于一体的功能强大的软件。 (6)网络功能。Visual basic6.0提供了Dlt TML(Dynamict TML)设计工具,利用这种技术可以动态创建和编辑Web页面使用户在Visual basic中开发多功能网络应用软件Software。(7)多个应用向导。Visual basic提供了多种向导如应用向导、安装向导、数据对象向导和数据窗体向导,通过它们可以快速地创建区别类型、区别功能应用。(8)支持动态交换、动态链接技术。通过动态数据交换(DDE)编程技术Visual basic开发应

17、用能和其他Windows应用之间建立数据通信,通过动态链接库技术在Visual basic中可方便地用C语言或汇编语言编写也可用Windows应用接口(API) 。(9)完备的联机帮助功能。与Windows环境下的其他软件一样,在Visual basic中,利用帮助菜单和F1功能键,用户可随时方便地得到所需要帮助信息,Visual basic帮助窗口中显示了有关举例代码,通过复制、粘贴操作可获取大量举例代码,为用户学习和使用提供了方便。综合以上特点, 我们可以看出Visual basic提供了开发Microsoft Windows应用程序的最迅速、最简捷的方法。不论是Microsoft Win

18、dows应用程序的资深专业开发人员还是初学者,Visual basic都为他们提供了整套工具,以方便开发应用程序。Visual basic6.0界面如下,进入Visual basic6.0出现如图2.1,窗口中列出了Visual basic6.0能够建立的应用程序类型。图2.1 进入Visual basic6.0窗口单击“新建”后,就可以创建该类型的应用程序了,本次设计中应选择“标准EXE”来实现。进入图2.2所示的Visual basic6.0应用程序集成开发环境。图2.2Visual basic6.0集成开发环境2.3 Photoshop Photoshop是Adobe公司旗下最为出名的图

19、像处理软件之一,集图像扫描、编辑修改、图像制作、广告创意,图像输入与输出于一体的图形图像处理软件。本次设计使用Photoshop主要进行图像的处理,使用橡皮擦工具、套索工具、五点修复画笔工具等等去除表盘和日历图像中不需要的部分,改变图像的尺寸以达到设计所需6。3电子钟的总体设计3.1功能介绍本次使用Visual basic语言编写电子钟程序,能够在计算机屏幕上显示当前的时间和系统日期并且可以进行校时。时钟界面,调时界面及日历界面的设计应符合用户的使用习惯,并且在运行时要浮在所有打开文件的最前端。双击时钟界面可以改变当前显示的时间而不影响系统时间,鼠标可以拖动时钟和日历放到适合的位置,如不需要桌

20、面时钟工具,可以随时关闭显示。闹铃设计要人性化,可以是乐曲提醒或者语音提醒。时钟和日历可单独使用,并且日历可以倒计时。本次设计的桌面时钟软件具有良好的实用性和操作性,可为使用者带来方便。3.2设计框图桌面电子钟包括时钟和日历两个部分,时钟部分可以校时、设定闹钟。日历部分显示当前系统日期。整体框架图如图3.1所示。图3.1 整体框架图4电子钟的模块设计4.1电子钟的时钟模块4.1.1算法时钟时针、分针、秒针走一圈是360度,即2,秒数将表盘分成60等分,则一秒所走的角度为6度,每分的间隔也是6度,但是分针是缓缓移动的,秒针每走一秒,分针的角度改变度,时针的角度算法相同,即分针每走一分,时针走度7

21、。程序运行时先将系统的时间赋值给三个变量H、M、S,即时、分、秒,由于每秒的间隔是6度,每分的间隔是6度,每小时的间隔是30度,以12的位置为0度,则计算当前秒针所走角度:当前秒数乘以6;当前分针所走角度:当前分数乘以6,加上秒带来的分针间隔差;当前时针所走角度:当前时数乘以30,再加上分带来的时针间隔差。将所得到的角度转换成弧度,即角度乘以。算法流程图如图4.1所示。图4.1 时钟算法流程图4.1.2界面设计打开Visual basic6.0开发环境,新建“标准EXE”文件,便出现对象窗口,根据所要实现的功能添加相应的控件,时钟界面需要的控件主要有时钟(Timer)、直线(Line)、命令按

22、钮(Command Button)、形状(Shape)。时钟对象窗口如图4.2所示。图4.2 时钟对象窗口(1)窗体属性设置窗体和控件的属性有很多,以下只列出本次设计主要使用到的属性8。Auto Redraw属性为是否自动刷新或重画窗体上所有图形,本次设计选择Ture,即自动重绘,以清除时针、分针、秒针在表盘上走过的痕迹。Border Style属性为设置边界属性,设置选项有6种:0None(无边界框架,窗体无法移动和改变大小)、1Fixed Single(窗体为单线边框,可移动,不可以改变大小)、2Sizable(窗体为双线边框,可移动并可以改变大小)、3Fixed Dialog(窗体为固定

23、的对话框,不可以改变大小)、4Fixed Tool Window(窗体外观与工具条相似,又关闭按钮,不可以改变大小)、5 Sizable Tool Window(窗体外观与工具条相似,有关闭按钮,能改变大小)。默认值为2,但是为了保证美观,本次设计选择0None,窗体不显示边框Enabled为是否把鼠标和键盘事件发送给窗体,选择Ture,以执行鼠标和键盘事件。Left和Top属性设置运行时窗体出现的位置,时钟界面的窗体运行的初始位置在计算机屏幕的左上角。Picture属性为窗体的背景图片,将实现用Photoshop软件处理好的表盘图片插入窗体中,以直接显示时钟界面,以避免使用图形框控件的复杂。

24、Width和Height属性用来设置窗体的宽度和高度,即窗体的大小。(2)时钟(Timer)时钟(Timer)以一定的时间间隔产生Timer事件从而执行相应的事件过程。在运行期间,时钟(Timer)不显示在屏幕上。时钟(Timer)的主要属性为Enable属性和Interval属性。时钟(Timer)产生Timer事件的两个前提条件是:Enable属性为Ture,Interval属性为非0。Enable属性:当Enable属性为False时,定时器不产生Timer事件。默认值为Ture。在程序设计时,利用该属性可以灵活地启用或停用Timer事件。Interval属性:Interval属性决定两

25、个Timer事件之间的时间间隔,其值以ms(0.001s)为单位,介于064767ms之间,所以最大的时间间隔大约为1min。默认值为0。如果希望0.5s产生一个Timer事件,那么Interval属性应设为500,这样,每隔500ms,定时器发生一个Timer事件,从而执行相应的Timer事件过程。如果Interval属性为0,时钟不产生Timer事件。本次设计只要将其设置为1000,以每秒产生一个Timer事件。(3)直线(Line)时钟界面的设计需要三个直线(Line)控件,分别表现为时针、分针、秒针,其属性设置如下。Border Color为画线的颜色,Line1设置为黑色,为时针;L

26、ine2设置为黑色,为分针;Line3设置为蓝色,为秒针。Border Style为画线的风格,共有7种:0Transparent(无线)、1Solid(实线,此为默认值)、2Dash(虚线)、3Dot(点线)、4Dash-Dot(单点划线)、5Dash-Dot-Dot(双点划线)、6Inside Solid(内部实线),设计时应选择1。Border Width为画线的宽度,为使图像更清晰,将Line1设置为4,Line2设置为3,Line3设置为2。(4)命令按钮(Command Button)在Visual basic应用程序中,命令按钮的应用十分广泛。在程序运行期间,当用户选择某个命令按

27、钮就会发生相应的事件过程。本次设计主要用此控件执行“关闭”事件。其主要属性如下。Height和Width设置相应的大小。Enabled用于设定是或对事件产生响应,取值为:True可用;False不可用,在执行程序时,该对象用灰色显示,并且不响应任何事件。Picture属性为设置命令按钮上的图片,插入经常使用的关闭按钮的图片,以方便于用户了解。Style设置对象的外观形式, 取值为:0Standard(标准,标准风格);1Graphical(图形,带有自定义图片),此时Picture、Disabled Picture和Down Picture属性起作用。设计时应设置为1,才能显示按钮上的图片。T

28、ool Tip Text设置该对象的提示行,将其设置为“关闭”,当用户将鼠标移动到该按钮上,便会出现“关闭”的字样,以方便用户了解按钮的用途。(5)形状(Shape)形状(Shape)控件可以在窗体上插入图形,但是不可以执行事件,在时钟界面中,它作为一个辅助对象,起到优化美观的作用,即在时针、分针、秒针三条线的连接处插入一个圆形的图形。属性设置如下。Fill Color填充颜色,当Fill Style属性为不时有效。可从弹出的调色板选择。本次设计选择白色。Left和Top设置其位置。Shape指定控件的外观,有6种可选:0矩形、1正方形、2椭圆、3圆、4圆角矩形、5圆角正方形。此处设置为3。

29、4.1.3程序设计根据算法和流程图,首先定义常量、变量,加载窗体后,将系统时间赋值给分别代表时、分、秒的变量H、M、S,将窗体背景设为表盘背景,设置好合适的大小后,设定坐标系,将三条线的起点设置在坐标原点,即窗体的中心,一秒启动一次Timer事件。为了保证美观,窗体设计为透明色,即RGB(66,66,66)。Timer事件程序代码实现了时针、分针、秒针的动作。主要程序设计如下:Const PI =3.1415926Const RAD =PI/180定义了一个常量,这个常量的值为1度的弧度值Dim rtn&Dim X0, Y0 As IntegerPrivate Sub Form_Load()H

30、=Hour(Now) M=Minute(Now)S= Second(Now)Form1.Scale(-1390,1470)-(1455,-1475)len_1=Sqr(Line1.Y2-Line1.Y1)2+(Line1.X2-Line1.X1)2)秒针长度len_2=Sqr(Line2.Y2-Line2.Y1)2+(Line2.X2-Line2.X1)2)分针长度len_3=Sqr(Line3.Y2-Line3.Y1)2+(Line3.X2-Line3.X1)2)时针长 Form1.AutoRedraw = True 窗体自动重绘Timer1.Interval=1000 计时器间隔 1秒执行

31、一次 Timer 事件Timer1.Enabled=True 启动计时器Me. Back Color =RGB(66,66,66)rtn=Get Window Long(hwnd, GWL_ EXSTYLE)rtn =rtn Or WS_EX_LAYEREDSet Window Long hwnd,GWL_EXSTYLE,rtnSet Layered Window Attributes hwnd,RGB(66,66,66),0,LWA_COLORKEY将RGB(66,66,66)颜色设置为透明的rtn=Set Window Pos(Form1.hwnd,-1,0,0,0,0,3)设置窗体总在最

32、前面,如果将上面语句中的-1改为-2则取消窗体总在最前面End SubPrivate Sub Timer1_Timer() 计时器的Timer事件过程Dim Sr, Mr,Hr As Integer 定义了三个变量S=S+1M=M+1/60H=H+1/3600If S=60ThenS=0If M=60ThenM=0If H=12ThenH=0Sr=S*6获取当前秒数,并转换成相应的角度 每秒的间隔是6度Mr=M*6+S/60获取当前分数,并转换成相应的角度 每分的间隔是6度,同时加上秒针带来的分针的间隔差Hr=(H Mod 12)*30+M/12同上,计算时针的角度Mod 12是因为每12小时一圈,后面的是重复Line1.X2=400*Sin(RADHr)Line1.Y2=400*Cos(RAD*Hr)Line2.X2=600*Sin(RAD*Mr)Line2.Y2=60

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1