主题:一断程序不能执行,急用!
ghlove
[专家分:10] 发布于 2012-09-24 11:36:00
.........
TjXs += "其他信息:" + vbCrLf
Dim B1 As Boolean = False
If Trim(Me.ComboBox9.Text) <> "" And Trim(Me.ComboBox10.Text) <> "" Then
i = Me.ComboBox9.Items.Count - 1
For I1 = 0 To i Step 1
If Trim(Me.ComboBox9.Text) = Me.ComboBox9.Items.Item(I1) And Trim(Me.ComboBox10.Text) = Me.ComboBox10.Items.Item(I1) Then
B1 = True
Me.ComboBox9.Focus()
Exit Sub
End If
Next
End If
If B1 Then
For I1 = 0 To i Step 1
T = Trim(Me.ComboBox9.Items.Item(I1))
TjXs += " 名称:" + T + vbCrLf
T = Trim(Me.ComboBox10.Items.Item(I1))
TjXs += " 内容:" + T + vbCrLf
TjXs += vbCrLf
Next
Else
TjXs += " 名称:" + Trim(Me.ComboBox9.Text) + vbCrLf
TjXs += " 内容:" + Trim(Me.ComboBox10.Text) + vbCrLf
TjXs += vbCrLf
For I1 = 0 To i Step 1
T = Trim(Me.ComboBox9.Items.Item(I1))
TjXs += " 名称:" + T + vbCrLf
T = Trim(Me.ComboBox10.Items.Item(I1))
TjXs += " 内容:" + T + vbCrLf
TjXs += vbCrLf
Next
End If
TjXs += "其他信息:" + Me.TextBox2.Text + vbCrLf
.........
红色部分不能执行,即使用使B1=true 变量TjXs也没有变化,到这一步蓝色部分也不执行;
但是如果是B1=False 一切都没有问题。
最后更新于:2012-09-24 11:48:00
回复列表 (共11个回复)
沙发
老大徒伤悲 [专家分:29120] 发布于 2012-09-24 18:07:00
1:
Dim B1 As Boolean = False
这似乎不是vb6.0的句式?
2:
i的值决定B1为真时
For I1 = 0 To i Step 1
……
next I1
的循环体是否被执行。
3:
要学会使用断点和但不运行来检查程序的流程。
4:
要学会使用
debug.print
来检查程序过程的值的变化。
板凳
yixiangd [专家分:0] 发布于 2012-11-06 14:49:00
Where you can order new 2012 style [url=http://www.timberlandbootshiking.com/timberland-roll-top-boots-c-9.html]Timberland Roll Top Boots[/url] for men & women size.Why not come to our website.You can find more
[url=http://www.timberlandbootshiking.com/timberland-chukka-boots-c-6.html]Timberland Chukka Boots[/url] high quality,factory price.
If you are looking cheapest [url=http://www.timberlandbootshiking.com/timberland-6-inch-boots-c-2.html]Timberland 6 Inch Boots[/url], the style of 6 inch timberland boots more durable,waterproof,comfortable.
3 楼
liuyh [专家分:310] 发布于 2012-11-07 16:23:00
看帖是学习,回帖更是礼貌!!!
4 楼
孙瑞 [专家分:590] 发布于 2012-11-08 23:16:00
[quote]1:
Dim B1 As Boolean = False
这似乎不是vb6.0的句式?
2:
i的值决定B1为真时
For I1 = 0 To i Step 1
……
next I1
的循环体是否被执行。
3:
要学会使用断点和但不运行来检查程序的流程。
4:
要学会使用
debug.print
来检查程序过程的值的变化。[/quote]
他这好像是VB.NET的语法。
5 楼
孙瑞 [专家分:590] 发布于 2012-11-08 23:16:00
我不得不说,你的代码没有排版,很难看懂。
6 楼
wdkshp [专家分:5490] 发布于 2012-11-14 13:38:00
[quote]
B1 = True
Me.ComboBox9.Focus()
[color=FF0000]Exit Sub[/color]
End If
[/quote]
当你B1 = True时,Exit Sub语句运行,那就意味着程序已结束该过程,换句话说,程序直接跳转到End Sub,那你的红色代码和蓝色代码当然不运行
当B1=False时,Exit Sub语句根本就没机会运行,那么你的蓝色代码和红色代码当然会运行。
我猜想你的本意, Exit Sub语句退出当前循环,退出循环好像是 Exit For语句
7 楼
老大徒伤悲 [专家分:29120] 发布于 2012-11-15 09:47:00
[quote][quote]
B1 = True
Me.ComboBox9.Focus()
[color=FF0000]Exit Sub[/color]
End If
[/quote]
当你B1 = True时,Exit Sub语句运行,那就意味着程序已结束该过程,换句话说,程序直接跳转到End Sub,那你的红色代码和蓝色代码当然不运行
当B1=False时,Exit Sub语句根本就没机会运行,那么你的蓝色代码和红色代码当然会运行。
我猜想你的本意, Exit Sub语句退出当前循环,退出循环好像是 Exit For语句[/quote]
完全同意你的看法。
8 楼
liuyh [专家分:310] 发布于 2012-11-24 17:05:00
看帖是学习,回帖更是礼貌!!!
9 楼
老大徒伤悲 [专家分:29120] 发布于 2012-11-25 10:12:00
但问题是发帖人不见了呢。
10 楼
xiaoaiwa [专家分:0] 发布于 2012-12-26 17:44:00
路过看看。。[url=http://www.176buding.com]背包透明补丁下载[/url]
我来回复