vb循环语句导致类似死机的状态,用do loop写的,为什么?

我是想在输入一串可识别的字符就跳出,可是循环开始后界面不可操作

VB中 do...loop 循环本身没有结束循环条件,无论循环中代码执行何种运算,只要没有语法错误,它就一直执行,如果它的执行速度过高,则会一直占用CPU,导致死机等系统问题;
对 do loop的应用,需要在循环内部添加结束循环的条件语句,除此之外,还需要为循环设置一定间隔时间,比如使用延时类“ delay 500 ”之类语句;保证CPU有足够响应时间,如果用户需要高速执行某些代码,添加代码 delay 1(也就是延时1毫秒(1毫秒=1/1000秒)),比未添加的效果要更好。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-06-21
正是因为只用do while,循环开始后界面不可操作,所以加上DoEvents ,加上后就可以操作了。
Do While wait
DoEvents

------------------------
改成这样虽然还是不停的循环,但是你只要在form2的Text2里输入"endusb"就可以结束循环。
**************************************************************
*注意:是你的代码里打的是"endusb",而不是"endsub",不要打错字*
**************************************************************

Private Sub usbopration_Click()
Dim wait As Boolean
wait = True
Slider1.Enabled = False
Do While wait
DoEvents
If form2.Text2.Text = "endusb" Then
Slider1.Enabled = True
wait = False
Exit Do
End If
Loop
wait = True
End Sub本回答被提问者采纳
第2个回答  2008-01-25
死循环了呗.
要加上循环退出条件以及退出循环的语句.
第3个回答  2008-01-25
死循环,
Dim i As Ingter
For i 1 To 2
<循环体>
Next
我一般就用它
Do ___ Loop的我就不用

参考资料:一本书

第4个回答  2008-01-25
在循环体内加入DOEVENTS,释放系统控制权

vb循环语句导致类似死机的状态,用do loop写的,为什么?
VB中 do...loop 循环本身没有结束循环条件,无论循环中代码执行何种运算,只要没有语法错误,它就一直执行,如果它的执行速度过高,则会一直占用CPU,导致死机等系统问题;对 do loop的应用,需要在循环内部添加结束循环的条件语句,除此之外,还需要为循环设置一定间隔时间,比如使用延时类“ del...

VB循环结构DO??LOOP的作用是什么?
exit do ‘如果大于20,则跳出循环(exit do)end if '不是,则绕出判断语句,继续执行循环 loop ’循环往复 Visual Basic(简称VB)是Microsoft公司开发的一种通用的基于对象的程序设计语言,为结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。是一种...

“vb”中“do”、“until”、“loop”的用法是什么?
Do循环由Do和Loop构成,但如果只有Do和Loop的话将不停地执行Do和Loop之间的语句块,所以需要使用可选的关键字While或Until以及Eixt Do来指定循环的条件以及退出循环.\\x0d\\x0a关键字While是指当条件为True时执行循环,而Until则是在条件变为True之前重复,就你的例子来说,用关键字Until给出了X=-1这个...

关于vb中do loop的问题 急!
Do Until 5 n = n + 1 Loop End Sub 循环停止条件为 5,就是真 所以执行了一次就停止了 Private Sub Command1_Click()Dim n As Integer Do Until 0 n = n + 1 Loop 你这个循环停止条件为 0,就是假,也就是说这是个无限循环,当然会溢出 循环应该写成 这样 Private Sub Command1_Click(...

VB程序中,什么情况下用Do while...loop什么时候用...loop until求高手详...
while 的英文解释是“当。。。时”所以肯定是DO WHILE LOOP是当型的啦 until 的英文解释是“直到。。。才”所以呢 DO LOOP UNTIL是直到型的啊 你在界面上添加一个按钮控件,命名为cmd ,就是name属性改为cmd 双击进入代码区 当型代码 添加以下代码:dim n as integer ,k,as long n=0:k=0'...

VB中在do循环语句中强制进行下一次循环的是什么
退出Do循环用Exit Do Do循环跳转用GoTo(这个要慎用,有时会陷入死循环,一定要设好跳转条件哦),比如:NewDo:Do While i < 10 i = i + 1 If i = 5 Then GoTo NewDo Print i Loop

死循环,死递归和死锁对CPU的消耗有什么异同点
一、死循环。例如在VB语言程序中,下列语句:Do While i=1 print "*"Loop 就是一个死循环,运行它将无休止地打印*号。不存在一种算法,对任何一个程序及相应的输入数据,都可以判断是否会出现死循环。因此,任何编译系统都不做死循环检查。在设计程序时,若遇到死循环,我们可以通过按下Ctrl+Pause\/...

关于vbs do while...loop 的问题
vb里确实不太行 因为按行执行 loop重复出现 所以无法循环 建议使用for next (标记)循环 有区别的标记 可以循环嵌套 或者是while和for嵌套 或者是while和do loop的嵌套 一般for循环是比较好的

vb 关于 For…Next循环和Do…Loop循环的问题~~请高手指教!!
if rr(i)>e then e=rr(i)if rr(i)<f then f=rr(i)s=s + rr(i)next msgbox("最大值" & e & " 最小值" & f & " 总和" & s)2、dim a ,n do while 1 n=n+1 a=int(rnd*100+1)if a=100 then msgbox("共运行了" & n & "次")exit do end if loop ...

vb中,do……loop while 语句中,比如下面 do print "#" i=i+1 lo_百...
C死循环,一直输出 D输出4个 因此答案是B 这里要分辨的是循环条件写在哪里,是先判断后循环,还是先循环后判断。另外,需要注意的是while 和 until的区别,一个是当,一个是直到。当while条件中,满足条件则循环,until条件中,满足条件同循环结束。还应注意的是当a<b,即while ab,until a>b,有...

相似回答