第三天、定时闹钟程序
小蘑菇:叮当姐姐,你知道Windows中的计划任务工作原理吗?它能够在指定的时间开始相应的工作,蛮方便的呢。
小叮当:不要认为它很神秘,其实用VB来设计这样一个程序是非常容易的事。不如今天就教你怎样制作一个简单的定时闹钟程序?这样可以在指定的时间到达之后自动运行设置好的程序,你看怎么样?
小蘑菇:好呀,好呀,赶紧开始吧。
小叮当:首先要添加程序所需要的控件。
1、新建一个工程,将Form1的startupposition属性设置为“2-centerscreen”,同时将maxbutton属性设置为“False”。这样程序运行之后窗口出现在屏幕中间,而且最大化按钮处于无效状态。
2、在Form1窗口中添加三个Command Button,分别将它们的Caption属性更改为“预设文件”、“设定时间”、“即时启动”和“退出”。
3、在“预设文件”按钮后面放置一个Label控件用于显示预设的文件路径和名称,并且将它的Caption属性设置为空。
4、在“设定时间”按钮后面放置三个Label控件,其中Label2和Label4的Caption属性设置为空,Label3控件的Caption属性设置为“当前时间:”。
5、添加一个common dialog控件,不过别忘记需要从部件添加窗口里添加到工具箱中哟。
6、添加一个Timer控件,并将它的interval属性设置为500。
所有控件添加设置完成后应该如图所示。
小蘑菇:就这么简单的几个控件可以实现定时闹钟的功能吗?
小叮当:别小瞧了VB的功能,看完下面的代码再说吧。 1、双击Form1窗口,并选择“通用”对象,输入下面的通用代码:
Option ExplICit
Dim AlarmTime /申明变量
2、双击“预设文件”按钮并输入下面的代码:
Private Sub Command1_Click()
Call dialog /调用dialog子程序
End Sub
3、双击“设定时间”按钮并输入下面的代码:
Private Sub Command2_Click()
AlarmTime = InputBox("请输入你想设定的时间,例如(19:12:00)", "小闹钟")
If AlarmTime = "" Then
Exit Sub
If Not IsDate(AlarmTime) Then /isdate函数是判断输入的是否可转换成date格式
MsgBox "你所输入的不是时间格式,请重试!", ,"Wrong" Else AlarmTime = CDate(AlarmTime)
End If /判断输入的是否可转换成time格式
End Sub
4、双击“即时启动”按钮并输入下面的代码:
Private Sub Command3_Click()
Call deng /调用deng子程序
End Sub
5、双击“退出”按钮并输入下面的代码:
Private Sub Command4_Click()
end
End Sub
6、双击Form1窗口,选择“Click”事件,并输入下列代码:
Private Sub Form_Click()
frmAbout.Show /显示关于对话框
End Sub
7、双击Form1窗口,选择“Load”事件,并输入下列代码:
Private Sub Form_Load()
Command3.EnabLED = 0
AlarmTime = "" /初始化时command3为不可用的
End Sub
8、双击Form1窗口,选择“Resize”事件,并输入下列代码:
Private Sub Form_Resize()
If WindowState = 1 Then
mintime /如果窗口被最小化,则调用mintime程序
else
caption="小闹钟"
End If
End Sub 9、编写mintime子程序:
Sub mintime()
Caption = Format(Time, "long Time") /使用长时间格式来显示时间
End Sub
10、双击Timer1控件并输入下列代码:
Private Sub Timer1_Timer()
?f Label2.Caption <> CStr(Time) Then
Label2.Caption = AlarmTime
Label3.Caption = Time /显示时间每秒钟的变化
End If
If Time >= AlarmTime Then
Call deng /判断如果现在的时间超过了设定的时间,则调用deng子程序
End If
If WindowState = 1 Then
If Minute(CDate(Caption)) <> Minute(Time) Then
mintime /最小化时显示时间每分钟的变化
End If
End If
End Sub
11、编写dialog子程序:
Sub dialog()
CommonDialog1.Flags = cdlCFBoth
CommonDialog1.ShowOpen
Label1.Caption = CommonDialog1.filename /把打开的文件名给于label1
If Label1 <> “" Then
Command3.Enabled = -1 /如果label1不为空时,则command3即可用
Else
Exit Sub
End If
End Sub
12、编写deng子程序
Sub deng()
Dim ss
ss = Shell(Label1.Caption, 1) /启动指定的文件,并且结束小闹钟程序
End
End Sub
好了,现在试着运行程序看看。先点击上部的“预设文件”按钮添加一个定时自动运行的程序,然后通过“设定时间”按钮设置好一个时间,这样当时间到达的时候就会自动运行你所需要的这个程序了。
小蘑菇:这倒不错,以后我用电脑学习一段时间之后就可以通过这个程序来定时运行游戏,这样就不会错过休息娱乐的时间了,哈哈。
小叮当:不会吧,我教你做的这个程序就用来定时玩游戏?我真是服了你!不管怎么样,好好研究一下这个程序,虽然很小巧,但的确是非常实用的!