作者iop184 (gogogo)
看板Visual_Basic
标题[VB6 ] if else的问题
时间Fri Jun 20 18:21:10 2008
小弟新手要写VB程式 可是发现一个小问题 但是很严重囧
小弟的车子有超音波感测器三个 分别为左,前,右
val(txtLeft.Text)代表的是左边超音波sensor的值(数字)
小弟写了一个再简单不过的小程式
if val(txtLeft.Text)<50 Then '如果左边距离小於50cm
WirRobotSDK1.DcMotorPwmNonTimeCtrAll(23000,3000) '车轮左快於右
End if
if val(txtLeft.Text)>50 Then '如果左边距离大於50cm
WirRobotSDK1.DcMotorPwmNonTimeCtrAll(3000,23000) '车轮右快於左
End if
执行以後 一开始小弟把它放在靠左边的墙边
这时小於50公分 很自然 开始车轮左快於右(车往右方移动)
3秒之後 车已经离左边的墙大於50公分了
显示出来的左sensor也是大於50公分
VB却没有执行第二个程式 右快於左(车往左方移动)
也就是VB只读第一段程式 却不读第二段程式 囧
小弟也试过
if val(txtLeft.Text)<50 Then '如果左边距离小於50cm
WirRobotSDK1.DcMotorPwmNonTimeCtrAll(23000,3000) '车轮左快於右
Elseif val(txtLeft.Text)>50 Then '如果左边距离大於50cm
WirRobotSDK1.DcMotorPwmNonTimeCtrAll(3000,23000) '车轮右快於左
End if
VB一样不读第二段else的部分
不管怎样就是只读第一段
小弟实在找不出原因 恳请各位前辈解惑 thanks!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.121.130.185
1F:→ MrOrz:看起来像是这个Sub只执行了一次……@@ 06/20 20:46
2F:→ MrOrz:把这段code放在Timer里,Interval设1000呢? 06/20 20:47
3F:→ MrOrz:或是看看WirRobotSDK1有没有什麽触发事件可以用。 06/20 20:47
4F:→ iop184:果然只有读一次 谢谢Mr提点 感恩 06/21 11:45
5F:→ axbycz0123:也可以用Do...DoEvents...Loop 06/25 07:31