|
嘀哒作响的计时器是件有趣的小玩艺,想不想在计算机上也做一个,下面我们就来介绍如何用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
在项目管理器中连编可执行文件,并取好文件名。
至此,一个小巧的计时器便完成了。用鼠标点击启动它后,在屏住呼吸的同时回车开始,能在两分钟后再回车结束吗?测试一下你的潜水能力,也是蛮有趣的!
|