关于VB goto 和if else的问题

liangchaoxi 2012-03-04 08:49:15
If Not mode Then
COM1.InputLen = 14
COM1.InBufferCount = 0
COM1.Output = outData
tl = timeGetTime
...........
Else
toNext:
COM1.InputLen = 1
Do Until COM1.InBufferCount > 13
DoEvents
Sleep 2
Loop
…………
End If


Else 后面没有什么东西了,直接跟着toNext: ,难道else 之后执行的就是toNext: 里面的程序吗? 不是只有goto才能进入到toNext:里吗?

看清我的提问:我是问,为什么 Else 后面没有东西了而是跟着toNext: 然后才是end if 难道else之后直接执行toNext:里的内容?


下面还有一段程序,同样是困惑:如果说chkagain:只有goto指过去才能执行,那么可以看到下面的程序,goto 在chkagain:之下,也就是说,进去了才有可能执行到:If SetWenda Then GoTo chkagain 然后返回来chkagain:,所以我要问的是,是不是程序执行到chkagain:处,会当做一般的程序,继续执行chkagain:以下的内容,然后如果有goto 指向过来,也可以直接跳过来?

If COM1.PortOpen = True Then COM1.PortOpen = False

comSetting = Combo1.Text & ",n,8,1 "
COM1.Settings = comSetting
COM1.CommPort = Val(Combo1)
COM1.InputLen = 14
COM1.PortOpen = True

chkagain: COM1.InBufferCount = 0

Sleep 150 '延时150ms
If COM1.InBufferCount > 10 Then '>10说明开始有数据返回
If SetWenda Then GoTo chkagain
If False Then
Label1 = "BROADCAST "

ExBtn3.Enabled = False
bOnline = True
mode = True
' ExBtn5.Enabled = False
ExBtn6.Enabled = False
ExBtn7.Enabled = False
ExBtn9.Enabled = False
' ExBtn12.Enabled = False
' ExBtn13.Enabled = False
' ExBtn14.Enabled = False
MMButton_MACE1.Enabled = True
MMButton_MACE2.Enabled = True
End If
Else

...全文
476 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
贝隆 2012-03-05
  • 打赏
  • 举报
回复
GoTo 语句示例
本示例使用 GoTo 语句在一个过程内的不同程序段间作流程控制,不同程序段用不同的“程序标签”来区隔。

Sub GotoStatementDemo()
Dim Number, MyString
Number = 1 ' 设置变量初始值。
' 判断 Number 的值以决定要完成那一个程序区段(以“程序标签”来表式)。
If Number = 1 Then GoTo Line1 Else GoTo Line2

Line1:
MyString = "Number equals 1"
GoTo LastLine ' 完成最后一行。
Line2:
' 下列的语句根本不会被完成。
MyString = "Number equals 2"
LastLine:
Debug.Print MyString ' 将“"Number equals 1"”显示在“立即”窗口。
End Sub

liangchaoxi 2012-03-05
  • 打赏
  • 举报
回复
自己解决了,但是内心还是非常感谢大家的回答!!
zfl2k 2012-03-04
  • 打赏
  • 举报
回复
标签本身是不影响程序的正常往下运行的,调用是只有goto可以
不过第一段的那个写法让人看了很乱
刘付 2012-03-04
  • 打赏
  • 举报
回复
if 完了之后 加上END if 就好了
worldy 2012-03-04
  • 打赏
  • 举报
回复
toNext:
只是一个位置标签,表示位置,你可以在程序的任何位置加入位置标签,但该标签只有goto语句有用,不使用也没关系

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧