扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
定义一个公有布尔值变量 flag,初始值 False。
我们提供的服务有:网站设计制作、网站制作、微信公众号开发、网站优化、网站认证、乌拉特前ssl等。为数千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的乌拉特前网站制作公司
循环里最开始 If 判断一下 flag,如果为 True 就 Exit Do 跳出循环,否则继续循环。
然后在别的函数控制 flag 的值就可以了。
P.S. 你这段代码是死循环,直到程序占用内存越来越大溢出进而程序崩溃为止……
VB中用 Exit 语句可以直接退出 For 循环、Do 循环、子过程或函数过程。Exit 语句的语法很简单:Exit For 在 For 循环中出现的次数没有限制,Exit Do 在 Do 循环中出现的次数也没有限制。
Exit For 和 Exit Do非常有用,因为它有时适于立即退出循环,而且不再执行循环中的任何进一步迭代或者语句。例如,在前面的打印屏幕和打印机共有字体的例子中,程序不断将打印机字体和给定的屏幕字体作比较,甚至在已经找到了一个相符的打字机字体后还在继续寻找。对这个函数有一个效率更高的改进版,在此,只要找到相匹配的字体后就立即退出循环:
Private Sub Form_Click()
Dim SFont, PFont
For Each SFont In Screen.Fonts()
For Each PFont In Printer.Fonts()
If SFont = PFont Then
Print SFont
Exit For '退出内圈循环。
End If
Next PFont
Next SFont
End Sub
退出本次循环(而不是退出循环)
VB中没有continue语句,那是C语言的
方法一:
if XXX then goto 标号(标号标在next前或者loop前视循环类型而定)
例如(下例跳过6):
for i = 1 to 10
if i = 6 then goto lin0
print i
lin0: next
方法二(利用if语句,在条件不成立时什么也不执行):
例如(下例跳过6):
for i = 1 to 10
if i 6 then
print i
end if
next
方法三:(利用循环变量的值跳过)这种方法对do...loop循环不行
例如(下例跳过6):
for i = 1 to 10
print i
if i = 5 then i=i+1
next
ctrl+break或ctrl+c,有时要多按几下,然后结束所运行的程序保存即可。另copy外,建议你点击菜单工具--选项,选择环境选项卡,选中“启动程序时”“提示保存改变”,这样可zhidao以提醒你在运行前保存程序。
最完美的做法是使用多线程,其他方式都要付出性能代价。
可以放一个checkbox上去,默认check状态是false
在循环中放入一句
doevents
Halt: if checkbox.value=1 then goto Halt
如果被勾选了,就死循环在这里,直到取消勾选。
这种方法非结构化,而且不能精确定位和调试程序,我建议你设定断点,或者条件断点。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流