【精品】VC++多时区时钟软件的设计与实现(源代码+论文)
收藏
资源目录
压缩包内文档预览:(预览前20页/共31页)
编号:1639444
类型:共享资源
大小:2.02MB
格式:RAR
上传时间:2017-08-30
上传人:机****料
认证信息
个人认证
高**(实名认证)
河南
IP属地:河南
50
积分
- 关 键 词:
-
精品
vc
多时
时钟
软件
设计
实现
源代码
论文
- 资源描述:
-
【精品】VC++多时区时钟软件的设计与实现(源代码+论文),精品,vc,多时,时钟,软件,设计,实现,源代码,论文
- 内容简介:
-
= = of is a a of in of up at to a or is It is is a of of It ES be +to or to to to is an is as s is by +. in , of s is be +./to a a is + to of to or FC in a is in a s to + or it to ( If t do of I of in of 分类号: U D C: 007)6178 级:公 开 编 号: 2003032006 成 都 信 息 工 程 学 院 学 位 论 文 多时区时钟软件的设计与实现 论文作者姓名: 敬小平 申请学位专业: 网络工程 申请学位类别 : 工学学士 指导教师姓名(职称): 王永丽(副教授) 论文提交日期: 2007 年 6 月 9 日 多时区时钟软件的设计与实现 摘 要 进入 21 世纪以来,电脑用户数迅速增长,网上的跨国交流也越见频繁,由于时差的关系,不同国家的作息不同,因此需要经常进行时间的切换。 本系统主要论述如何利用 用程序开发环境和微软基础类库(设计与实现一个基于对话框的多时区时钟软件。该软件主要包括时钟显示,闹钟报时以及计时器功能。其中,时钟显示包含单时区时钟显示和多时区时钟显示,计 时器可实现倒计时与正常计时。利用 与定时器相关的函数,实现计时和时钟的定时刷新;运用模运算实现不同时区的时间转换;采用多线程技术使三个时钟同时运行。 关键词 :; 钟;多线程 1of of to to a +6.0 of of of of of to to of of to of at +; 目 录 论文总页数: 27 页 1 引 言 . 1 题背景及意义 . 1 题的研究方法 . 1 2 程序功能描述 . 1 钟显示 . 1 时钟显示 . 1 时钟显示 . 1 钟功能 . 1 时器 . 2 计时 . 2 常计时 . 2 发环境 . 2 发环境 . 2 + 介 . 2 3 主要开发技术 . 3 介 . 3 线程 . 3 线程概述 . 3 线程 . 4 4 程序功能实现 . 5 时钟 显示 . 5 时钟显示 . 10 钟报时 . 13 时器 . 17 计时 . 17 常计时 . 20 结 论 . 22 参考文献 . 23 附 录 . 24 致 谢 . 26 声 明 . 27 第 1 页 共 27 页 1 引 言 题背景及意义 随着社会的发展 ,进入 21 世纪 ,个人电脑已经进入千家万户 ,人们已习惯于以互联网的方式交流 ,学习和娱乐。网上跨国交流也越见频繁 ,由于时差的关系 ,人们在浏览国外新闻时经常需要进行时间的换算。不同地区作息时间的不同也影响到人们的交流。因此,一种能显示多个时区时间的时钟程序,将给人们的生活与交流带来极大地方便。 题的研究方法 通过对 可视化编程的学习以及各地区时间差的查询,本文主要采用件和多线程编程技术 ,以及三个与时间有关的函数 、 和 ,设计实现一个包含计时器功能和闹钟功能的多时区时钟程序。 2 程序功能描述 软件主要实现三个功能 :时钟显示 ,闹钟以及计时器。具体功能如下 钟显示 时钟显示 实现三个时区时钟(北京时间,纽约时间,伦敦时间)的单独显示。在程序的主界面上,有一个日历,一个指针式时钟,一个时间显示框,一个确定按钮和一个取消按钮。 时钟切换: 单击菜单 时钟显示 单时钟 -北京时间 /纽约时间 /伦敦时间。 整点报时 :当时间为整点时 ,扬声器 响相应次数。 日期显示 :在日历控件上显示相应地区的当前日期。 单击 关闭 按钮,关闭主程序。 时钟显示 实现三个时区时钟的同时显示及运行。 在主界面上,单击菜单 时钟显示 多时钟 ,弹出 多时钟显示 对话框。此对话框上有三个时钟同时运行,每个时钟有一个相对应的数字时间显示。 单击 关闭 按钮,将关闭此对话框。 钟功能 实现三个时区时钟的闹钟设置。 在主界面上单击 闹钟 菜单,将弹出 闹钟 对话框,此对话框有三个单选按钮,分别选择北京时间,纽约时间和伦敦时间,系统默认为北京时间 ,右边的指针式时钟以及数字时间随单选按钮而改变。在报时设置框中设置时间后,点击 确第 2 页 共 27 页 定 ,则闹钟设置完成。 点击 取消 ,可取消报时。 时器 实现以秒为单位的倒计时和正常计时功能。 计时 在主界面上单击菜单 计时器 -倒计时 ,将弹出 倒计时 对话框,在编辑框中输入计时长度,单击 开始计时 ,编辑框置成不可用状态,倒计时开始。在剩余时间 栏,将显示剩余时间。单击 重新计时 ,可取消倒计时,编辑框恢复可编辑状态。 常计时 在主界面上单击菜单 计时器 -正常计时 ,将 弹出 正常计时 对话框,点击 开始计时 按钮,在流逝的时间栏将显示时间数, 开始计时 按钮呈不可用状态,而 重新计时 可用。点击 重新计时 ,取消计时,并将时间设为零秒, 开始计时 可用。 发环境 发环境 + 000/ + 介 +是 司推出的功能最强大、最复杂的语言产品之一,它是目前为止在 W 环境下进行大型软件开发的首选。其具有如下特点。 +的语法符合 +标准,并在此基础上针对性 W 操作系统增 加了一些语句。 集成了 库, 装了 数和消息,使程序员可以使用 效率地开发各种应用程序。 提供了 方便地生成程序框架。 提供了基于 过它可以轻松地完成对各种 的使 用与维护。 +为 族中的一员 ,是微软公司推出的 以 C+语言为基础, 开发 用程序( 5/98/2000/T)的、面向对象的可视化集成工具。它的最大优点就是提供了功能强大的 库, 一个很大的 C+类层次结构,其中封装了大量的类及其函数,很多 序所共有的标准内容可以由 类来提供, 为这些内容提供了用户接第 3 页 共 27 页 口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓,这将简化编程工作,大大的减少程序员编写的代码数量,使编程工作变得更加轻松容 。 3 主要开发技术 程序主要采用 件和多 线程技术实现。 介 软基础类 (是微软提供的 ,用于在C+环境下编写应用程序的一个框架和引擎 ,是 开发人员使用的专业 C+ 业软件开发平台 ),是挂在它之上的一个输助软件开发包 ,是微软为 专配的 。 C+的结合 ,微软提供的 应用程序的编程语言接口 ,是一种软件编程的 规范 ,但不是程序开发语言本身 ,可以允许用户使用各种各样的第三方的编程语言来进行对 使这些被开发出来的应用程序能在 比如 C+,此用它们开发出来的应用程序都能工作在 消息机制里 。 一个很大的、扩展了的 C+ 类层次结构,它能使开发 用程序变得更加容易。 在整个 族中都是兼容的,也就是说,无论是 是 T,所使用的 兼容的。每当新的 本出现时, 会得到修改以便使旧的编译器和代码能在新的系统中工作。 会得到扩展,添加新的特性、变得更加容易建立应用程序。 线程 线程概述 进程和线程都是操作系统的概念。进程是应用程序的执行实例,每个进程是由私有的虚拟地址空间、代码、数据和其它各种系统资源组成,进程在运行过程中创建的资源随着进程的终止而被销毁,所使用的系统资源在进程终止时被释放或关闭。线程是进程内部的一个执行单元。系 统创建好进程后,实际上就启动执行了该进程的主执行线程,主执行线程终止了,进程也就随之终止。每一个进程至少有一个主执行线程,它无需由用户去主动创建,是由系统自动创建的。用户根据需要在应用程序中创建其它线程,多个线程并发地运行于同一个进程中。一个进程中的所有线程都在该进程的虚拟地址空间中,共同使用这些虚拟地址空第 4 页 共 27 页 间、全局变量和系统资源,所以线程间的通讯非常方便,多线程可以实现并行处理,避免了某项任务长时间占用 间。目前大多数的计算机都是单处理器( ,为了运行所有这些线程,操作系统为每个独立线程安排一 些 间,操作系统以轮换方式向线程提供时间片,好 像 这些线程都在同时运行。 线程 确区分两种线程: 用户界面线程 ( 工作者线程 (用户界面线程一般用于处理用户输入并对用户产生的事件和消息作出应答。工作者线程用于完成不要求用户输入的任务,如耗时计算。 线程的创建 1)创建用户界面线程 通过以下步骤创建一个用户界面线程: 从 生一个有动态创建能力的类。使用 来支持动态创建。 覆盖 一些虚拟函数,其中,函数 必须覆盖的, 常是要覆盖的。 使用 建 程对象和 程对象。如果创建线程时没有指定 开始执行线程。 如果创建线程是指定了 在适当的地方调用函数始执行线程。 2)创建工作者线程 程序员不必从 生新的线程类,只需要提供一个控制函数 ,由线程启动后执行该函数。然后,使用 建 程对象和 果创建线程时没有指定 建后挂起),则创建的新线程开始执行。如果创建线程是指定了 在适当的地方调用函数 始执行线程。虽然没有从 生类,但是 工作者线程提供了缺省的 象。 线程的结束 来结束调用它的线程: 它将清理本线程创建的 象和释放线程局部存储分配的内存空间;调用 虚拟函数 用“C” 的结束线程函数 _放分配给线程的资源,但是不关闭线程句柄。 缺省实现是:如果本线程的成员函数 调用 “C” 运算符号 毁 程对象自身( 这将导致线程对象的析构函数被调用。若析构函数检测线程句柄非空则调用闭它。 第 5 页 共 27 页 时器 在程序中我们经 常要使用定时刷新的功能, 供了定时器来完成这个功能。 在 和定时器相关的有三个函数: ); ; ; 函数功能: 来定义一个定时器的属性, 如改定时器的 新时间,处理函数。 际时系统定义消息用来响应 息,在这里可以实现对多定时器中的各个定时器分别响应,这里才时定时程序大展宏图的地方。 来结束一个定时器。 4 程序功能实现 时钟显示 创建一个基于对话框的工程 图 4 4 图 4 程序主对话框 (单时钟界面 )设计 第 6 页 共 27 页 表 4话框资源 件 说明文字修改 对话 框资源 修改后的 明文字 日历控件 分组框 按钮 1 静态文本框 分隔线( 件) 北京时间 关闭 型 色 图 4 4 图 4菜单界面设计 1 图 4菜单界面设计 2 表 4 菜单项属性设置 钟显示 单时钟 计时器 多时钟 北京时间 纽约时间 伦敦时间 闹钟 倒计时 正常计时 帮助 向导添加消息响应函数和成员变量 (表 4第 7 页 共 27 页 表 4 向对话框类 加消息响应函数 息的描述 函数名 间触发消息 菜单消息 菜单消息 菜单消息 菜单消息 菜单消息 4 向对话框类 加控件对应的成员变量 量名 变量种类 变量类型 粗体字部分为添加代码 ) ( 1)在 件中添加函数声明 /绘制时钟外观函数 DC /绘制时钟指针函数 DC ( 2)在 件中添加 : #数体 (函数体见附录 ) ( 3)在 件中添加 成员变量和函数 ( 4)在 件中添加功能代码 : /单时钟消息映射 /初始化时间变量 ,设置定时器 / : ,1000, / to a /单时钟菜单响应函数 ); : : ,1000, 北京时间 ); : : 4)%24; ) :000,500); 时间到 ); ); ; 北京时间 ); : ,1000, ); ; 纽约时间 ); : 4)%24; ,1000, 第 17 页 共 27 页 ); ; 伦敦时间 ); : 4)%24; ,1000, ( 3)在 件中添加 #() / ; 编译后运行效果 (如图 4时器 计时 右键单击文件夹,选择 入一个对话框, 建一个 派生类 2. 在对话框上添加控件资源并设置性 (如图 4 4向导添加消息响应函数和成员变量 (表 4第 18 页 共 27 页 图 4闹钟运行效果 图 4计时界面设计 表 4 对话框资源 件 说明文字修改 对话框资源 修改后的 明文字 分组框 1 分 组框 2 静态文本框 1 静态文本框 2 静态文本框 3 文本编辑框 1 文本编辑框 2 按钮 1 按钮 2 输入计时长度 剩余时间 秒 无 无 开始计时 重新计时 表 4 向对话框类 加消息响应函数 息的描述 函数名 间触发消息 单击控件 单击控件 4 向对话框类 加成员变量 量名 变量种类 变量类型 19 页 共 27 页 粗体字部分 ) ( 1)在 件 中添加 成员变量 ( 2)在 件中添加如下代码 (粗体字部分 ) / or if(0) %d 分 %d 秒 , (0),0)*60); ); :000,500); 0+ ,1000, ); T(); 第 20 页 共 27 页 ( 3)在 件中添加 #() ; 编译后运行效果 (如图 4图 4计时运行效果 常计时 右键单击文件夹,选择 入一个对话框, 建一个 派生类 2. 在对话框上添加控件资源并设置性 (如图 4 4向导添加消息响应函数和成员变量 (表 4图 4常计时界面设计 第 21 页 共 27 页 表 4 对话框资源 件 说明文字修改 对话框资源 修改后的 明文字 分组框 1 静态文本框 1 静态文本框 2 按钮 1 按钮 2 逝的时间 正常计时 : 始计时 重新计时 表 4 向对话框类 加消息响应函数 息的描述 函数名 间触发消息 单击控件 单击控件 4 向对话框类 加成员变量 量名 变量种类 变量类型 粗体字部分 ) ( 1)在 件 中添加 成员变量 ( 2)在 件中添加如下代码 /开始计时 / ; ,1000, ); ; %d 分 %d 秒 ,0,0); 第 22 页 共 27 页 ; %d 分 %d 秒 , (0),0)*60); ( 3)在 件中添加 #() / ; 编译后运行效果 (如图 4图 4常计时运行效果 至此一个多时区时钟程序完成了。 结 论 基于本次课题的研究和设计实现,可以发现,时钟的设计与实现的主要问题在于对 件的使用和消息机制的理解 ,以及多线程设计中全局函数的编写。其中 ,窗口类指针的调用,是一大难点 ,大多数错误发生的原因都因为指针的错误调用。 本次设计实现了一个显示三个不同时区时间的时钟和相应的闹钟以及一个第 23 页 共 27 页 以秒为计时单位的计时器。程序除指针式时钟显示外 ,还有相应的数字时间显示 ,主界面的日历也与显示时区的日期相对应。计时器可完成正常计时和倒计时功能 。在此基础上,通过添加、修改控件和代码,还可以添加更多新的功能,使界面显得更美观,使其更方便,发挥的作用更大。 参考文献 1 黄维通 + 面向对象与可视化程序设计 M华大学出版社 ,2003。 2 郑莉 ,董渊 语言程序设计 M华大学出版社 ,2001。 3 古槿 +30 例 M民邮电出版社 ,2004。 4 序设计 M 北京 大学出版社 ,1999。 5胡峪 ,刘静 +编程技巧与
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。