《数据库应用》课程设计题目:2012年元旦倒计时二零一一年十一月摘要:本文介绍了利用VisualFoxPro6.0设计2012年元旦倒计时器,并给出了程序;同时结合VisualFoxPro中日历控件及定时器控件的使用,介绍如何实现动态显示系统时间。关键词:倒计时器;VisualFoxPro;程序设计;日历控件1.利用计时器控件和设置计数变量设计倒计时器程序中用一个计数变量t来实现计时,在表单的Init事件中给t赋初值(本例中倒计时时间设t为“元旦时间-当前时间”,单位为s)。程序中用到一个计时器控件,设置计时器控件的Interval属性为1000(即1秒),则它每秒钟被触发一次。在计时器的Timer事件代码中加入t=t-1,则每隔1秒钟t递减1;当减到0之后会显示“新年到!HappyNewYear!”(实际演示中看不到此效果)。程序中还用到4个变量td、th、tm、ts,分别用来表示倒计时时间的天、时、分、秒,用于将倒计时时间t用天时分秒的格式显示。在表单的Init事件代码中包含“thisform.timer1.enabled=.f.”,再在“开始”按钮的Click事件代码中加入代码:“thisform.timer1.enabled=.t.”。这样当单击“开始”按钮时才开始计时。2.程序清单1)表单Form1的Init事件代码:thisform.timer1.enabled=.f.publictdNewyear=datetime(year(date())+1,1,1)dNow=datetime()t=dNewyear–dNow2)标签Label1的属性Caption:2012年元旦倒计时3)标签Label2的属性Caption:(不需要填任何文字,只需调整好大小即可)4)标签Label3的属性Caption:当前时间5)标签Label4的属性Caption:日历6)计时器Timer1的属性Interval:1000计时器Timer1的timer事件代码:ift=0messagebox(新年到!HappyNewYear!)elsetd=int(t/86400)th=int((t-td*86400)/3600)tm=int((t-td*86400-th*3600)/60)ts=t-td*86400-th*3600-tm*60thisform.label2.caption=str(td,2)+天+str(th,2)+时+str(tm,2)+分+str(ts,2)+秒endift=t-17)命令按钮Command1的属性Caption:开始命令按钮Command1的Click事件代码:thisform.timer1.enabled=.t.8)命令按钮Command2的属性Caption:退出命令按钮Command2的Click事件代码:releasethisform9)日历控件显示当前系统的年月日及星期在表单上添加日历控件日历控件不是VisualFoxPro的基本控件,它属于ActiveX控件。其建立过程如下:从表单控件工具栏中选定ActiveX控件按钮,在表单中单击鼠标,屏幕上弹出一个插入对象对话框,其中包括“新建”、“由文件创建”、“创建控件”三个选项按钮,“创建控件”按钮用于向表单中添加一个ActiveX控件。选定“创建控件”选项按钮,插入对象对话框中将显示“添加控件”按钮,单击该按钮,弹出“浏览”对话框,指定VisualFoxPro安装目录下的文件FPOLE.OCX,然后选择打开对象类型列表中出现大量控件选项,选定“日历控件12.0”后按确定按钮,日历控件出现在表单上。为日历控件编写代码。要想表单运行后,日历控件显示的时间随着当前系统日期而变化,还要为Olecontrol1控件的Init事件添加如下代码:this.year=year(date())this.month=month(date())this.day=day(date())10)利用定时器Timer2控件显示系统日期时间要显示系统的当前日期、时间利用定时器控件比较容易实现,在表单上添加文本框及定时器控件,文本框用于显示当前系统日期时间,每隔1秒。定时器的Interval属性:1000Time2事件代码:thisform.text1.value=datetime()3.表单运行结果本表单包含两个命令按钮,运行结果如下图所示:参考文献:[1]罗志高等.数据库原理与应用教程广州:中山大学出版社[2]张洪举.VisualFoxPro6.0~9.0解决方案与范例大全北京:人民邮电出版社[3]郝峰、何曙光VisualFoxPro6.0/7.0命令与函数大全北京:电子工业出版社[4]胡明.VisualFoxPro中日历、时钟的动态显示.农业网络信息2007年第8期[5]百度文章网,