电话:0731-83595998
导航

利用VFP制作可设定时间的倒计时器

来源: 2018-09-10 14:57

 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程序设计实例教程.重庆大学出版社. 

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端