利用VFP制作可设定时间的倒计时器
1 前言
VFP(即Vsiual Foxpro的简称)是在微型计算机上广泛使用的小型数据库管理系统,它以强大的功能,友好的界面,丰富完整的工具和高效的数据管理方式而受到用户的欢迎。VFP提供了一个集成化的系统开发环境,把传统的命令方式执行方式扩充为以界面操作为主、以命令方式为辅的交互式执行方式;把单一的面向过程的结构化程序设计扩充为既有结构化、又有面向对象程序设计的可视化程序设计。随着计算机的普及,VFP编程爱好者越来越多。利用VFP中计时器控件制作倒计时器应用于各种比赛计时具有良好的效果,比如在各项演讲比赛、辩论赛等场合都会使用倒计时器。
2 界面概述
该软件主要利用表单中的标签(Label)、按钮(CommandButton)、计时器(Timer)、文本框(TextBox)等控件来制作。在程序的运行时,首先在文本框中输入要进行倒计时的时间再单击开始,否则提示重新输入;利用一个重置按钮可将程序整个运行过程重新开始,供多次重复使用。同时,在进行到最后30秒时软件显示时间的字体会自动增大,以提示参与者时间。
3 窗体设计(如图一)
图一
(1)在属性窗口中设置Form的Picture属性来设置背景图片。
(2)添加两个文本框text1和text2,用来输入活动的倒计时时间(即分和秒)。
(3)添加5个标签控件,分别设置显示活动主题Label1的Caption为“希望之声”演讲赛、倒计时(Label2)、提示信息Label3的Caption为“请设置演讲时间”、活动时间显示Label4和Label5的Caption分别为“分”和“秒”。
(4)添加三个按钮,用作“开始”、“重置”、“退出”命令。
(5)设置一个timer控件,用来控制倒计时。
4 编写程序
4.1表单加载
设置form的Init事件代码:
Thisform.label2.caption="" 程序运行时,使Label2的显示为空串。
4.2“开始”按钮
设置“开始”按钮的Click事件代码:
thisform.label2.fontsize=9
thisform.label2.fontbold=.f.
public ss,mm
ss=val(thisform.text1.value)
mm=val(thisform.text2.value)
if ss=0 and mm=0
未输入倒计时时间就开始的提示信息
messagebox("请重新输入倒计时时间!",1,"提示信息")
endif
if ss>=0 and mm>0
thisform.timer1.enabled=.t.
endif
thisform.label3.visible=.f.
thisform.label4.visible=.f.
thisform.label5.visible=.f.
thisform.text1.visible=.f.
thisform.text2.visible=.f.
4.3“重置”按钮
设置“重置”按钮的Click事件代码:
thisform.timer1.enabled=.f.
thisform.text1.value="0"
thisform.text2.value="0"
thisform.label3.visible=.t.
thisform.label4.visible=.t.
thisform.label5.visible=.t.
thisform.text1.visible=.t.
thisform.text2.visible=.t.
4.4计时器控件
设置计时器控件的Interval为1000。
设置计时器控件的timer事件代码:
if ss=0 and mm=0
thisform.timer1.enabled=.f.
endif
mm=mm-1
thisform.label2.caption=allt(str(ss))+"分"+allt(str(mm))+"秒"
if mm<0
mm=59
ss=ss-1
thisform.label2.caption=allt(str(ss))+"分"+allt(str(mm))+"秒"
endif
if mm<10
thisform.label2.caption=allt(str(ss))+"分"+"0"+allt(str(mm))+"秒"
endif
if ss=0
thisform.label2.caption=allt(str(mm))+"秒"
endif
if ss=0 and mm<30最后30秒,显示字体改变
thisform.label2.fontsize=20
thisform.label2.fontbold=.t.
thisform.label2.caption=allt(str(mm))
endif
if ss=0 and mm=0倒计时结束
thisform.timer1.enabled=.f.
thisform.label2.caption="时间到"
thisform.text1.value="0"
thisform.text2.value="0"
endif
4.5“退出”按钮
设置“退出”按钮的Click事件代码:
thisform.release退出程序
5 运行
图二 开始界面
将所编写好的程序进行保存。也可以将所做的表单文件加入到一个项目管理器中,连编成一个可执行文件。然后将这个文件打包成一个小软件,这样就可以将打包好的文件安装到任何一台计算机上都可以运行了。
启动此倒计时程序时可按活动要求输入所用倒计时时间,运行的界面如图二~图三所示。
图三 最后6秒钟
6 结束语
利用VFP制作的可设定时间倒计时器基本上能应用于学校组织的各项活动中。其最大的特点就是它可以自定义、可重复输入多次使用。但同时也有一些不足需要改进的地方,例如可以在程序中添加Activex控件来制作更加人性化的报警器,所以本软件还有待进一步完善。
参考文献:
[1]王利.Visual Foxpro程序设计.高等教育出版社.
[2]张小莉.Visual Foxpro程序设计实例教程.重庆大学出版社.
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>