admin 管理员组文章数量: 1086019
2024年3月27日发(作者:气瓶与压力容器区别)
审冒 憾睛锄 譬 嚣
VB定时器控件的应用实例与研究
◆赵俊峰
(太原大学外语师范学院)
【摘要】VB中的定时器控件具有灵活多变、易于控制等特点,在应用程序的开发中,利用VB定时器控件可以实现时间控制、随机控制、动
画设计和游戏设计等制作。VB定时器控件和其他控件相结合,可以制作既灵活又实用的应用程序。
【关键词】VB 定时器控制Timer
VB中的定时器控件(Timer)是一个在程序运行时不可见的控件,在程
序运行时,每隔若干时间(通过Interval属性设置)执行一次Timer事件中的
x=MsgBox(”时间到II 11.,”提示”)
End If
相应代码。定时器控件最核心的属性是Enabled和Interval属性。利用En.
abled可以设置定时器控件是否可用,其取值只有逻辑值True和False两
种。利用Interval属性可以设置定时器控件激活Timer事件的时间间隔,其
单位为毫秒,其取值范围为0—65535,当取值为0时,定时器控件不可用。
由于定时器控件具有灵活多变、易于控制等特点。可以应用于时间控制、随
机控制、动画制作、游戏制作等应用程序的开发中。
一
、
时间控制
1.整点播时器
在实际工作中,有时需要利用计算机实现整点报时的功能,以提醒用
户及时知晓当前时间。整点播时器的功能是:若当前系统时间为整点时
(即当前时刻的分钟数和秒数均为0】,弹出对话框提示“现在是北京时间x
点整”。在设计整点报时器时,定时器控件Timerl的Interval属性应设置为
1000(1000毫秒=1秒),Timerl的timer事件代码如下:
Private Sub Timerl
_
Timer()
If Second(Time())=0 And Minure(Time())=0 Then
a=MsgBox(”现在是北京时间”+Str(Hour(Time()))+”点整”)
EndⅡ
End Sub
2.倒计时器
在实际生活中,有时需要通过倒计时的方法,让观众随时了解当前距
正式活动(比赛)的时间差。比如奥运会倒计时、开幕式倒计时等等。倒计
时器的功能是:先在文本框textl中输入倒计时的时间(形式为hh:mm:ss),
当单击“开始倒计时”按钮commandl时,每隔一秒钟,文本框textl中的时
间倒退一秒钟,直到时间为0(oo:0o:O0】时,弹出对话框提示“时间
到lI!”。在窗体中应添加按钮控件(eommand1)、定时器控件(timer1)和文
本框控件(text1)。定时器控件timerl的Interval属性应设置为1000,Ena.
bled属性应设置为False。相关代码如下:
Public h,m,S,Slim
Private Sub Commandl
一
(;lick()
Timer1.Enabled:True
End Sub
Private Sub Timerl Timer()
h=Val(Left(Text1.Text,2))
m=Val(Mid(Text1.Text,4,2))
s=Val(Right(Text1.Text。2))
sum=h 36()o+m 6O+s
sum ¥tlrrl一1
h=Slim\3600
m=(slim Mod 3600)\60
s=slimMod 60
h=III(h<10,”0”+Trim(Str(h)),Trim(Str(h)))
m:Ill"(m<10,”0”+Trim(Str(m)),Trim(Str(111)))
s:IIf(s<10,”0”+Trim(Str(s)),Trim(Str(S)))
Text1.Text=h+”:”+m+”:”+s
If sum=0 Then
Timer1.Enab】ed=False
80 12/2009
End Sub
二、随机控制
1.摇奖器
摇奖器功能是根据摇奖规则,从规定的数字范围内随机的选出规定个
数的随机号码。下面以体彩22选5为例介绍摇奖器的制作方法。单击命
令按钮控件commandl开始进行摇奖,标签控件Labe1]一Label5不断地随机
显示抽取出的五个幸运号码,单击命令按钮command2实现抽奖。eOlll-
mandl的Caption设置为“摇奖”,command2的Caption设置为“抽奖”,定时
器控件Timerl的Interval属性值为1O。相关代码如下:
Private Sub Commandl
—
Click()
Timer1.Enabled:True
End Sub
Private Sub Command2
Click()
Timer1.Enabled=False
While Not f Label1.Caption<>Label2.Caption And Label1.Caption<
>Label3.Caption And Label1.Caption<>Label4.Caption And Label1.Cap—
tion<>Label5.Caption And Label2.Caption<>Label3.Caption And La—
bel2.Caption<>Label4.Caption And Label2.Caption<>Label5.Caption
And Label3.Caption<>Label4.Caption And Label3.Caption<>Label5.
Caption And Label4.Caption<>Label5.Caption And J
Label1.Caption=Int(Rnd()¥22+1)
Label2.Caption=Int(tlnd(){22+1)
Label3.Caption=Int(Rnd【】 22+1)
Label4.Caption:Int(Rnd() 22+1)
Label5.Caption=Int(Rnd{)¥22+1)
Wend
End Sub
Private Sub TimerlJimer()
Label1.Caption=Int(Rnd()}22+1)
Label2.Caption=Int(Rnd()¥22+1)
Label3.Caption:Int(Rnd()¥22+1)
Label4.Caption:Int(Rnd() 22+1)
Label5.Caption:Int(Rnd() 22+1)
End Sub
其中,While Not(…)…Wend循环语句的目的是监测随机抽取的五
个号码是否有重复值,如果有重复值则重新抽取,直到五个号码各不相同
为止。
2.礼花绽放
礼花绽放的功能是随机地出现以窗体中心点为中心的随机颜色的线
条,以模拟礼花绽放效果。只需在窗体中添加定时器控件Timerl,设置其
Interval属性值为10,在定时器控件的Timer事件中利用窗体的line方法实
现礼花绽放效果,相关代码如下:
Private Sub Timerl
Timer()
eOlllOr=RGB(Rnd(】¥255,Rnd()}255,Rnd() 255)
X=Rnd() Fonn1.Width
Y=Rnd() Form1.Height
睁醉 栅 强 荨毒祷
Form1.Line(FormI.Width/2,Form1.Height/2)一(x,Y),coulor
四、游戏制作
End Sub
VB定时器控件和其他控件结合,可以制作简单的游戏。下面以“键盘
三、动画制作
输入测试”游戏为例进行介绍。此游戏的功能是:由应用程序随机抽取并
1.进度条 显示10个字母,等待用户依次输入。当输入正确时,抽取并显示下一个随
在VB应用程序设计中,有时需要通过进度条动画来表达一些对象的
机字母。直到抽取十个字母,并均输入正确为止。最后弹出对话框,显示
操作进度,如安装进度、下载进度、完成进度等等。下图为“进度条制作”的 输入速度。此程序需要用到3个公共变量,变量a来记录随机抽取出的字
运行界面。标签控件Labell用于显示进度比例,标签控件Label2用于显示 母的ASCII值,变量S用来记录游戏开始时的系统时刻(通过S=timer(),
标题“进度条的制作”,形状控件Shape2为进度框(其属性BackStyle的值为
使s赋值为从午夜算起已经过的秒数),变量n用来记录抽取字母的个数。
Transparent),形状控件Shapel为进度条(其属性Bordercolor的值
通过窗体的KeyDown事件来记录并检测按键所对应的字母是否正确,如果
&H00FFOOOO&,属性BackStyle的值为Opaque)。定时器控件的Interval属 正确,则设置定时器控件Timerl的Enabled属性值为True,即让定时器控件
性值为l0,其Timer事件代码如下:
Timerl继续下一个随机字母的抽取和显示。定时器控件Timerl的Interval
属性应设置为1。相关代码如下:
Public a,s,n
Private Sub Form
—
Ke:cDown(KeyCode As Integer,Shitf As Integer)
IfKeyCode:a Then
Timer1.Enabled=True
P=0
Private Sub Timer1
Timer()
EndⅡ
Shape1.Width=Shape1.Width+l0
End Sub
Label1.Caption:Str(Int(Shape1.Width/Shape2.Width}100))
Private Sub Form
—
Load()
+”%”
S:Timer()
If Shape1.Width>=Shape2.Width Then
End Sub
Timer1.Enabled=False
Private Sub Timerl Timer()
End If
Randomize
End Sub
a=65+Int(Rnd()}26)
2.滚动字幕
Label1.Caption=Chr(a)
在VB应用程序开发中,可以通过定时器控件(Timer)制作类似网页中
n=n+1
滚动字幕的效果。利用VB可以制作从左往右、从右往左、交替三种方式的
Timer1.Enabled=FalSC
滚动宇幕效果。下面以“交替”方式的滚动宇幕为例介绍滚动宇幕的制作
fI n=10 Then
方法。交替方式的滚动字幕就是宇幕不断地来回滚动,文字碰到页面边界
speed=Str(Int((Timer()一S)/10}60))
后就向相反方向滚动。在窗体中应添加标签控件(1bael1)和定时器控件
M。gBOX(”您的速度为”+speed+”宇/分钟”)
(timer1)。设置标签控件labell的caption属性为“欢迎使用本软件”,设置
End If
定时器控件的Interval属性值为1。定义全局变量a以控制滚动的方向,相
End Sub
关代码如下:
综上所述,VB定时器控件由于其具有功能灵活、易于控制、操作简单
Public a
等优点,在软件开发中有着广泛的应用价值。利用VB定时器控件不仅可
Private Sub Timerl
Timer()
以实现程序控制和动画设计的功能,还可以实现简单游戏的制作。
If a=0 Then
参考文献:
Label1.Left:Label1.Left+10
[1]林信成等.Visual Basic 6入门经典[M].北京:中国电力出版社,
Ifk出el1.Left>=Form1.Width—Label1.Width Then a=1
1999,10.
End If
[2]刘炳文.二级教程Visual Basic语言程序设计[M].北京:高等教育
If a=1 Then
出版社,2001,10.
Label1.Left=Label1.Left一10
[3]邱玉辉.Visual Basic语言程序设计[M].昆明:云南科技出版社,
If Label1.Left<=0 Then a=0
2002,8.
End If
本论文为太原大学外语师范学院“基于《计算机公共基础》的网络课程
End SUb
设计与研究”的课题成果。
一 一 ~
~一 一 , ~ ~ … v一
(上接第67页)
[5]金积令.汉英词序对比研究句法结构中的前端重量原则和末端重
参考文献:
量原则[J].外国语,1998,(1):28—35.
[1]邹智勇.左向移位结构及其语用功能[J].外语与外语教学,1998,
[6]陆俭明.现代汉语句法论[M].北京:商务印书馆,1993.
(12):8—1O.
[7]Greenberg,Joseph H1 Universals of Language[M].Mass Cambridge:
[2]Quirk,R.,S.Greenbaum,G.Leech,and J.Svartvik.A Corn-
M.1.T.Press,1963.
prehensivc Grammar of the English Language
[8]Prince.E.Toward a taxonomy of given/new information[A].Bimer,
[M].London:Longman,1985.
1994.
[3]Birner B J.Information Status and Word Order:an Analysis of Eng-
[9]徐盛桓.英语倒装句研究[J].外语教学与研究,1995,(4):28—37.
lish Inversion[J].Language,1994,70(2):233—259. [10]张克定.倒装旬的语用理据【J].外语学刊,2002,(1):68—721.
[4]邓奇.从功能主义视角看汉语口语中的倒装句[J.吉林省教育学院 [11]张克定.Verschueren的语用理论对语用句法研究的启示[J].外
学报,2008,(4):114一I16.
语教学,2002,(9):1—5.
12/2009 81
版权声明:本文标题:VB定时器控件的应用实例与研究 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1711526948a598403.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论