人求助关于VB编写小闹钟的程序。
发布网友
发布时间:2022-05-12 04:38
我来回答
共2个回答
热心网友
时间:2022-06-23 11:14
修改完毕,并添加了注释
-------------------------------------------
Option Explicit
Dim AlarmTime '申明变量(这个样子定义变量行吗?是什么类型?)
'将AlarmTime申明为变体型(Variant)
Private Sub Command1_Click()
Call dialog '调用dialog子程序
End Sub
Private Sub Form_Load()
Command3.Enabled = False '初始化时command3为不可用的
AlarmTime = "" '(这样的话不就是当成字符串的形式了么?
'此时AlarmTime为字符串型(String)
End Sub
Private Sub Command2_Click()
'AlarmTime = InputBox("请输入你想设定的时间,例如(19:12:00)", "小闹钟").
AlarmTime = InputBox("请输入你想设定的时间,例如(19:12:00)", "小闹钟")
'此时AlarmTime为字符串型(String)
'If AlarmTime = "Then Exit Sub"
If AlarmTime = "" Then Exit Sub
If Not IsDate(AlarmTime) Then
MsgBox "你所输入的不是时间格式,请重试!", , "Wrong"
Else
AlarmTime = CDate(AlarmTime)
'此时AlarmTime为日期型(Date)
End If
'判断输入的是否可转换成time格式
'isdate函数是判断输入的是否可转换成date格式
End Sub
Private Sub Command3_Click()
Call deng
'调用deng子程序
End Sub
Private Sub Form_Click()
frmabout.Show
'显示关于对话框
End Sub
Private Sub Form_Resize()
If WindowState = 1 Then
Call mintime
Else
Caption = "小闹钟"
End If
'如果窗口被最小化,则调用mintime程序
End Sub
Private Sub mintime()
Caption = Format(Time, "long Time")
'使用长时间格式来显示时间
End Sub
Private Sub Timer1_Timer()
If lbltime.Caption <> CStr(Time) Then
lbltime.Caption = Time
End If
'显示时间每秒钟的变化
If Time >= AlarmTime Then
Call deng
End If
'判断如果现在的时间超过了设定的时间,则调用deng子程序
If WindowState = 1 Then
If Minute(CDate(Caption)) <> Minute(Time) Then
mintime
End If
End If
'最小化时显示时间每分钟的变化
End Sub
Sub dialog()
CommonDialog1.Flags = cdlCFBoth
CommonDialog1.ShowOpen
Label1.Caption = CommonDialog1.FileName
'If Label1 <> " Then
If Label1 <> "" Then
Command3.Enabled = -1
Else
Exit Sub
End If
'把打开的文件名给于label1
'如果label1不为空时,则command3即可用
End Sub
Sub deng()
Dim ss
ss = Shell(Label1.Caption, 1)
End
'启动指定的文件,并且结束小闹钟程序
End Sub
热心网友
时间:2022-06-23 12:32
1.“(这个样子定义变量行吗?是什么类型?) ”
Dim AlarmTime 这样定义等价于 Dim AlarmTime as Variant 是定义了一个变体类型的变量。
2.“这样的话不就是当成字符串的形式了么? ”
这样这个变量的内容的确是个字符串,但是因为它是变体类型的变量,所以它也可以用来存储其它类型的值。
3.If AlarmTime = "Then Exit Sub"
这里不对吧? 是不是 If AlarmTime = "" Then Exit Sub 这样子。
4.If Label1 <> " Then
这里也不对吧,是不是 If Label1 <> "" Then 。