问题描述:
我从网上下载了一个代码看看,地址是:bc-/Article/kfyy/vb/bcsl/200512/2466我把代码弄上去之后发现有一些错误,最关键的是其中的隐租“AlarmTime”这个变量的类型以及格式问题。请大家帮忙看一下该怎么改?
代码如下;
Option Explicit
Dim AlarmTime '申明变量(这个样子定义变量行吗?是什么类型?)
Private Sub Command1_Click()
Call dialog '调用dialog子程序
End Sub
Private Sub Form_Load()
Command3.Enabled = False '初始化时mand3为不可用的
AlarmTime=""(这样的话不就是当成字符串的形式了么?
End Sub
Private Sub Command2_Click()
AlarmTime = InputBox("请输入你想设定的时间,例如(19:12:00)", "小闹钟").
If AlarmTime = "Then Exit Sub"
If Not IsDate(AlarmTime) Then
MsgBox "你所输入的不是时间格式,请重试!", , "Wrong"
Else
AlarmTime = CDate(AlarmTime)
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
Command3.Enabled = -1
Else
Exit Sub
End If
'把打开的文件名给于label1
'如果label1不为空时,则mand3即可用
End Sub
Sub deng()
Dim ss
ss = Shell(Label1.Caption, 1)
End
'启动指定的文件,并且结束小闹钟程序
End Sub
括号里面的都是错误的地方,希望各位帮我看看怎么错了谢谢啊。
解析:
修改完毕,并添加了注释
-------------------------------------------
Option Explicit
Dim AlarmTime '申明变量(这个样子定义变量行吗?是什么类型?)
'将AlarmTime申明为变体型(Variant)
Private Sub Command1_Click()
Call dialog '调用dialog子程序
End Sub
Private Sub Form_Load()
Command3.Enabled = False '初始化时mand3为不可用的
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不为空时,则mand3即可用
End Sub
Sub deng()
Dim ss
ss = Shell(Label1.Caption, 1)
End
'启动指定的文件,并且结束小闹钟程序
End Sub
做一个简单的闹钟程序很简单的。我颂唤这里不用if语句。首先我们在窗体上添加一个标腔绝签控件,再画一个“闹钟”,将闹钟得interval属野圆凯性改为1000,双击闹钟,进入闹钟的代码视图,编写代码private
sub
timer1_timer()
label1.caption
=
time
end
sub就行了。谢谢采纳
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)