VB中select case 语句的用法
我在VB中编写了如下代码PrivateSubCommand1_Click()RandomizeDimTimeAsDateTime=Time+RndPicture1.Pri...
我在VB中编写了如下代码
Private Sub Command1_Click()
Randomize
Dim Time As Date
Time = Time + Rnd
Picture1.Print "今天 " & Time
Select Case Time
Case Is > Now
Picture1.Print "距现在还有" & Format(Now - Time, "HH时MM分SS秒")
Case Else
Picture1.Print "到现在已经过了" & Format(Time - Now, "HH时MM分SS秒")
End Select
End Sub
Private Sub Form_Load()
Label2 = Time
End Sub
我是要产生今天的一个随机时间然后与现在的时间比较,可是我随机出来都是“到现在已经过了多少多少,不会显示距现在还有多少多少,明明应该显示后者的还是显示的前者,我不知道问题出在哪里,求高手解答, 展开
Private Sub Command1_Click()
Randomize
Dim Time As Date
Time = Time + Rnd
Picture1.Print "今天 " & Time
Select Case Time
Case Is > Now
Picture1.Print "距现在还有" & Format(Now - Time, "HH时MM分SS秒")
Case Else
Picture1.Print "到现在已经过了" & Format(Time - Now, "HH时MM分SS秒")
End Select
End Sub
Private Sub Form_Load()
Label2 = Time
End Sub
我是要产生今天的一个随机时间然后与现在的时间比较,可是我随机出来都是“到现在已经过了多少多少,不会显示距现在还有多少多少,明明应该显示后者的还是显示的前者,我不知道问题出在哪里,求高手解答, 展开
3个回答
展开全部
不能用“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”。。
展开全部
换用if...then....else....endif试试嘛.
另,你的 Rnd 只是0.几而已。而刚定义的Time是2000年之前的日期吧?
也就是Time+ Rnd是以前的时间。
如果在Time = Time + Rnd前加一条语句:Time=now()可能会是以后的。
或者把Time = Time + Rnd改为Time = Time + Rnd*100
另,你的 Rnd 只是0.几而已。而刚定义的Time是2000年之前的日期吧?
也就是Time+ Rnd是以前的时间。
如果在Time = Time + Rnd前加一条语句:Time=now()可能会是以后的。
或者把Time = Time + Rnd改为Time = Time + Rnd*100
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这道题还没看完先写2个明显的问题
Time你虽然定义为Command1过程的变量,但是对系统时间还是有危险性。Time语句是直接设置系统时间的函数。
Format的格式,切记,【分是nn 不是mm】【yyyy是年 mm是月 dd是日】
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询