vb计算时间差

通过两个变量变为true时的时间差,并以秒显示在TEXT3.TEXT中Dima,b,cPrivateSubTimer1_Timer()IfVNumber1(1)=True... 通过两个变量变为true时的时间差,并以秒显示在TEXT3.TEXT中
Dim a, b, c
Private Sub Timer1_Timer()
If VNumber1(1) = True Then
a = a + 1
If a = 1 Then
a = Hour(Now) * 60 * 60 + Minute(Now) * 60 + Second(Now)
Text1.Text = a
End If
End If
If VNumber1(1) = False Then
a = 0
Text1.Text = ""
End If

If VNumber1(2) = True Then
b = b + 1
If b = 1 Then
b = Hour(Now) * 60 * 60 + Minute(Now) * 60 + Second(Now)
Text2.Text = b
End If
End If
If VNumber1(2) = False Then
b = 0
Text2.Text = ""
End If

If a <> "" And b <> "" Then
c =str(val( b) - val(a))
Text3.Text = c
End If
End Sub
当a和b的值没出来一个时TEXT3.TEXT是一个变值,两个都出来时可得出的TEXT3.TEXT值不准确。
展开
 我来答
网海1书生
科技发烧友

2014-12-25 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
貌似你这一大段代码可以用下面三行代码搞定:

Private Sub Timer1_Timer()
Text1.Text = IIf(VNumber1(1), Int(Timer), "")
Text2.Text = IIf(VNumber1(2), Int(Timer), "")
Text3.Text = IIf(VNumber1(1) And VNumber1(2), Val(Text2.Text) - Val(Text1.Text), "")
End Sub
追问
你写的脚本运行后TEXT1.TEXT和TEXT2.TEXT只是当前的时间(秒),而TEXT3.TEXT运算结果为0
追答
Private Sub Timer1_Timer()
Text1.Text = IIf(VNumber1(1) And Text1.Text = "", Int(Timer), "")
Text2.Text = IIf(VNumber1(2) And Text2.Text = "", Int(Timer), "")
Text3.Text = IIf(Text1.Text "" And Text2.Text "", Val(Text2.Text) - Val(Text1.Text), "")
End Sub
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式