作者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