VB中select case 语句的用法

2025-02-25 07:31:50
推荐回答(3个)
回答1:

不能用“Time”关键字做变量名称。还有“Now”包括了时间和日期,而前面随机生成的时间不包括日期,会导致判断错误。代码可改为:

Private Sub Command1_Click()
Randomize
Dim rTime As Date
rTime = rTime + Rnd
Picture1.Print "今天 " & rTime
Select Case rTime
Case Is > Time
Picture1.Print "距现在还有" & Format(Time - rTime, "HH时MM分SS秒")
Case Else
Picture1.Print "到现在已经过了" & Format(rTime - Time, "HH时MM分SS秒")
End Select
End Sub

Private Sub Form_Load()
Label2 = Time
End Sub

以上代码主要是把之前的“Time”的变量名改成了别的名称,还有后面的“Now”改成了“Time”。。

回答2:

换用if...then....else....endif试试嘛.
另,你的 Rnd 只是0.几而已。而刚定义的Time是2000年之前的日期吧?
也就是Time+ Rnd是以前的时间。
如果在Time = Time + Rnd前加一条语句:Time=now()可能会是以后的。
或者把Time = Time + Rnd改为Time = Time + Rnd*100

回答3:

这道题还没看完先写2个明显的问题

  1. Time你虽然定义为Command1过程的变量,但是对系统时间还是有危险性。Time语句是直接设置系统时间的函数。

  2. Format的格式,切记,【分是nn 不是mm】【yyyy是年 mm是月 dd是日】