vb中防止for循环死机

我用一个for循环但是循环的数量太多了,一运行,打开任务管理器,是未响应,CPU使用100%!!我想可能就是运行太快所导制的.能不能用一个时间控件来控制它的运行速度(就是... 我用一个for循环但是循环的数量太多了,一运行,打开任务管理器,是未响应,CPU使用100%!!我想可能就是运行太快所导制的.能不能用一个时间控件来控制它的运行速度(就是说让它在一秒内运行多少次才不会做假死机)让运行时不会假死机.不知道谁还会有更好的办法来控制它不让出现未响应.希望能给我写出来!!谢谢!!
代码:
Dim sz(16) As Integer
Dim i, j, k, l, m, n As Integer
sz(1) = 15
sz(2) = 58
sz(3) = 74
sz(4) = 59
sz(5) = 68
sz(6) = 62
sz(7) = 63
sz(8) = 64
sz(9) = 59
sz(10) = 12
sz(11) = 35
sz(12) = 57
sz(13) = 29
sz(14) = 28
sz(15) = 27
sz(16) = 75

For i = 1 To 16
For j = 1 To 16
For k = 1 To 16
For l = 1 To 16
For m = 1 To 16
For n = 1 To 16
If i = j Or i = k Or i = l Or i = m Or i = n Or j = k Or j = l Or j = m Or j = n _
Or k = l Or k = m Or k = n Or l = m Or l = n Or m = n Then
Else
Print sz(i) & sz(j) & sz(k) & sz(l) & sz(m) & sz(n); Spc(3);
x = x + 1
If x Mod 4 = 0 Then Print
End If
Next n
Next m
Next l
Next k
Next j
Next i
HBpcbar这们兄弟跟我说用这(doevents)个方法.在这个程序上用能行吗?怎么用?
展开
 我来答
百度网友5bb2ec692bb
2008-09-24 · 超过33用户采纳过TA的回答
知道答主
回答量:86
采纳率:0%
帮助的人:0
展开全部
多加几个doevents:

Private Sub Command1_Click()
Dim sz(16) As Integer
Dim i, j, k, l, m, n As Integer
sz(1) = 15
sz(2) = 58
sz(3) = 74
sz(4) = 59
sz(5) = 68
sz(6) = 62
sz(7) = 63
sz(8) = 64
sz(9) = 59
sz(10) = 12
sz(11) = 35
sz(12) = 57
sz(13) = 29
sz(14) = 28
sz(15) = 27
sz(16) = 75

For i = 1 To 16
For j = 1 To 16
For k = 1 To 16
For l = 1 To 16
For m = 1 To 16
For n = 1 To 16
If i = j Or i = k Or i = l Or i = m Or i = n Or j = k Or j = l Or j = m Or j = n _
Or k = l Or k = m Or k = n Or l = m Or l = n Or m = n Then
Else
Print sz(i) & sz(j) & sz(k) & sz(l) & sz(m) & sz(n); Spc(3);
x = x + 1
If x Mod 4 = 0 Then Print
End If
Next n
Next m
DoEvents
Next l
DoEvents
Next k
DoEvents
Next j
DoEvents
Next i

End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
金山毒霸
2024-10-31 广告
大部分系统错误,是因为某些DLL文件丢失造成的,比如未安装DirectX9或DirectX 9.0组件已损坏、缺少Visual C ++库、未安装.net库。解决方法如下:一、 手动解决方法1、先确定电脑操作系统是多少位的,现在的电脑一般都... 点击进入详情页
本回答由金山毒霸提供
HBpcbar
2008-09-24 · TA获得超过251个赞
知道小有建树答主
回答量:732
采纳率:0%
帮助的人:281万
展开全部
Dim sz(16) As Integer
Dim i, j, k, l, m, n As Integer
sz(1) = 15
sz(2) = 58
sz(3) = 74
sz(4) = 59
sz(5) = 68
sz(6) = 62
sz(7) = 63
sz(8) = 64
sz(9) = 59
sz(10) = 12
sz(11) = 35
sz(12) = 57
sz(13) = 29
sz(14) = 28
sz(15) = 27
sz(16) = 75

For i = 1 To 16
For j = 1 To 16
For k = 1 To 16
For l = 1 To 16
For m = 1 To 16
For n = 1 To 16
doevents '看看加在这里可以吗
If i = j Or i = k Or i = l Or i = m Or i = n Or j = k Or j = l Or j = m Or j = n _
Or k = l Or k = m Or k = n Or l = m Or l = n Or m = n Then
Else
Print sz(i) & sz(j) & sz(k) & sz(l) & sz(m) & sz(n); Spc(3);
x = x + 1
If x Mod 4 = 0 Then Print
End If
Next n
Next m
Next l
Next k
Next j
Next i
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pals
2008-09-24 · TA获得超过1043个赞
知道小有建树答主
回答量:1307
采纳率:0%
帮助的人:330万
展开全部
只要在第一个循环开始时加入 Doevents 就可以防止死循环。所以一楼的方法也可以,二楼多余。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lxz1969
2008-09-24 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8524
采纳率:33%
帮助的人:1.1亿
展开全部
一楼正解。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式