Database 版 (精华区)

发信人: mengy (LEAR DLLS 命令时,将从内存中清除), 信区: Database
标  题: VFP做一个小巧的计时器
发信站: 哈工大紫丁香 (2000年12月30日18:24:34 星期六), 转信


一个小巧的计时器 

  嘀哒作响的计时器是件有趣的小玩艺,想不想在计算机上也做一个,下面我们
就来介绍如何用Visual FoxPro做一个计时器。


  一、新建一个表单

  打开VFP 新建一个项目时取名timer.pjx,在项目中新建一个表单取名为
timer.frm,并为这个表单准备一张漂亮的图片。


  二、为表单添加控件及方法


  在表单中依次添加五个标签(Label)、四个文本框(Text)、三个命令按钮
(Command)和一个计时器(Timer)。

  五个标签的Caption属性分别为跑表、时、分、秒、百分秒;Autosize属性设
为 .T.;Tabstop属性设为 .F.;Backstyle属性设为 0。

  文本框是用来显示时间的,只需把Readonly属性设置为.T.;Tabstop属性设为
 .F.。

  三个命令按钮的Caption属性分别设置为开始、结束、退出;Tabindex属性分
别为 1、2、3。

  计时器的Enabled属性设为.F.;Interval属性设为50。

  在Command1的Click事件加入如下语句:

  thisform.timer1.enabled=.T. &&打开计时器

  publ basetime,resultime,seconds1 &&设定三个变量

  basettime=ctot(time())

  seconds1=seconds()

  thisform.text1.value=0

  thisform.text2.value=0

  thisform.text3.value=0

  thisform.text4.value=0 &&为清零做好准备

  在Command2的Click事件中加入如下语句:

  thisform.timer1.enabled=.F.

  在Command3.的Click事件中加入如下语句:

  release thisform

  clear events

  quit

  在Timer1的Time事件中加入以下语句:

  seconds2=int((seconds()-seconds1)*100)

   if seconds2<100

   thisform.text4.value=seconds2

  else

  thisform.text4.value=seconds2-int(seconds2/100)*100

  endif &&上面的条件语句用来计算百分秒并显示 

  resultime=ctot(time())

  result=0

  result=(resultime-basetime)

  if result<60

  thisform.text3.value=result &&确定秒

  else

  if thisform.text2.value<60

  thisform.text2.value=int(result/60)

   &&确定分

  else

  thisform.text1.value=int(thisform.text2.value/60)

   &&确定小时

  thisform.text2.value=thisform.text2.value-int(thisform.text2.
value/60)*60  &&确定分

  endif

  thisform.text3.value=result-int(result/60)*60 

   &&确定秒

  endif


  三、设置表单属性


  为timer.frm设置属性如下:

  Name :Form1 Caption:跑表 ShowWindow:2

  AutoCenter:.T. ShowTips:.T. BorderStyle:1

  WindowState:0 MaxButton:.F. Picture:自定义

  Closable:.F. Controlbox:.F. MinButton :.F.

  Movable:.F.


  四、连编执行程序


  最后写两句主程序:

    do form timer.frm

    read events 

  在项目管理器中连编可执行文件,并取好文件名。

  至此,一个小巧的计时器便完成了。用鼠标点击启动它后,在屏住呼吸的同时
回车开始,能在两分钟后再回车结束吗?测试一下你的潜水能力,也是蛮有趣的
!
 
返回首页
 

 

  
--

       大海无边天做岸
               山登绝顶我为风

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.227.121]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.273毫秒