这个vb的程序哪里错了?说对的给10分

来源:百度知道 编辑:UC知道 时间:2024/06/23 08:07:02
我的意思是到18:19分就出来"123"
为什么到了时间就出不来呢?
谢谢
Private Sub Form_Load()
t = Time
t = CDate(Time)

If DateDiff("n", t, "18:19") >= 0 Then
MsgBox "123"
End If

End Sub

建一个时间控件(工具栏 左排第七个)
代码如下:

Private Sub Form_Load()
Timer1.Interval = 1000
End Sub

Private Sub Timer1_Timer()
Cls
t = CDate(Time)
Print t
If DateDiff("n", t, "18:19: 00") = 0 Then
MsgBox "123"
End If
End Sub

----------------------------------------------------------------------------------------
点评一下你的程序
Private Sub Form_Load()'窗体载入时触发
t = Time't里面存的是当前时间格式18:00:00
t = CDate(Time) 't里面存的是当前时间格式18:00:00(这句和上句作用一样。。。 这句CDate(Time)返回的值把t原值覆盖了 第一句没用)

If DateDiff("n", t, "18:19") >= 0 Then'
MsgBox "123"
End If‘(18:19应为"18:19:00" 语法才没错误)但语义有问题 这句的意思是 当t里面存的时间超过18:19:00时 MsgBox "123"

End Sub

综上
你的代码作用是 当窗体载入的一瞬间(Form_load事件) 系统时间如果超过18:19:00, 则MsgBox "123"

Private Sub Form_Load()

更改为 Private Sub Form_Load{} <