多时区时钟软件的设计与实现
摘 要
进入21世纪以来,电脑用户数迅速增长,网上的跨国交流也越见频繁,由于时差的关系,不同国家的作息不同,因此需要经常进行时间的切换。
本系统主要论述如何利用VC++6.0应用程序开发环境和微软基础类库(MFC),设计与实现一个基于对话框的多时区时钟软件。该软件主要包括时钟显示,闹钟报时以及计时器功能。其中,时钟显示包含单时区时钟显示和多时区时钟显示,计时器可实现倒计时与正常计时。利用MFC中与定时器相关的函数,实现计时和时钟的定时刷新;运用模运算实现不同时区的时间转换;采用多线程技术使三个时钟同时运行。
关键词:VC++;MFC;时钟;多线程目 录
1 引 言 1
1.1课题背景及意义 1
1.2 课题的研究方法 1
2 程序功能描述 1
2.1 时钟显示 1
2.1.1 单时钟显示 1
2.1.2 多时钟显示 1
2.2闹钟功能 1
2.3计时器 2
2.3.1 倒计时 2
2.3.2 正常计时 2
2.4 开发环境 2
2.4.1 开发环境 2
2.4.2 Visual C++ 6.0简介 2
3 主要开发技术 3
3.1 MFC简介 3
3.2 MFC的线程 3
3.2.1多线程概述 3
3.2.2 MFC的线程 4
4 程序功能实现 5
4.1单时钟显示 5
4.2多时钟显示 10
4.3闹钟报时 13
4.4计时器 17
4.4.1倒计时 17
4.4.2正常计时 20
结 论 22
参考文献 23
附 录 24
致 谢 26
声 明 27
1 引 言
1.1课题背景及意义
随着社会的发展,进入21世纪,个人电脑已经进入千家万户,人们已习惯于以互联网的方式交流,学习和娱乐。网上跨国交流也越见频繁,由于时差的关系,人们在浏览国外新闻时经常需要进行时间的换算。不同地区作息时间的不同也影响到人们的交流。因此,一种能显示多个时区时间的时钟程序,将给人们的生活与交流带来极大地方便。
1.2 课题的研究方法
通过对VC++可视化编程的学习以及各地区时间差的查询,本文主要采用MFC控件和多线程编程技术,以及三个与时间有关的函数SetTimer()、OnTimer()和KillTimer(),设计实现一个包含计时器功能和闹钟功能的多时区时钟程序。
2 程序功能描述
软件主要实现三个功能:时钟显示,闹钟以及计时器。具体功能如下
2.1 时钟显示
2.1.1 单时钟显示
实现三个时区时钟(北京时间,纽约时间,伦敦时间)的单独显示。在程序的主界面上,有一个日历,一个指针式时钟,一个时间显示框,一个确定按钮和一个取消按钮。
时钟切换:单击菜单[时钟显示]->[单时钟]->北京时间/纽约时间/伦敦时间。
整点报时:当时间为整点时,扬声器响相应次数。
日期显示:在日历控件上显示相应地区的当前日期。
单击[关闭]按钮,关闭主程序。
2.1.2 多时钟显示
实现三个时区时钟的同时显示及运行。
在主界面上,单击菜单[时钟显示]->[多时钟],弹出[多时钟显示]对话框。此对话框上有三个时钟同时运行,每个时钟有一个相对应的数字时间显示。
单击{关闭}按钮,将关闭此对话框。