
可以尝试将
for(a=0a<=na++)//运用枚举法筛选
修改成
for(a=0fib(a)<=na++)//运用枚举法筛选
虽然整个程序可优化的地方很多,但是这样改应该可以足够通过一般的评测了。
while前可以不加do,但是循环格式为while......wend,而不再是loop如果你要监视,可以在做判断的时候while后面加上开关,另外用Timer计时,时间到后则关闭开关,循环自动跳出
例子:
添加1个command控件(command1),1个timer控件(timer1)
窗体代码:
Dim k As Boolean '循环开关
Dim a As Long '循环次数
Private Sub Command1_Click()
Timer1.Enabled = True
While a >= 0 And k = True
a = a + 1
DoEvents
Wend
MsgBox "循环已跳出!" &vbCrLf &"循环次数:" &CStr(a)
End Sub
Private Sub Form_Load()
k = True
a = 0
Timer1.Interval = 1000
Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
Static t As Integer
t = t + 1
If t >= 3 Then
k = False
End If
End Sub
大家可以测试下自己机器性能,在3秒内用这个程序循环的次数达到多少次....
整体监视还没想出来...要么每次循环前把timer归0,恩,很麻烦..继续想
可以考虑用这个:
Private Declare Function IsHungAppWindow Lib "user32.dll" (hWnd As Long) As Boolean
但是这是判断程序是否停止响应的.....
原因是,客户端已经找到了这台服务器,并且可以进行连接,不过是由于连接的时间大于允许的时间而导致出错.
这种情况一般会发生在当用户在Internet上运行企业管理器来注册另外一台同样在Internet上的服务器,
并且是慢速连接时,有可能会导致以上的超时错误.有些情况下,由于局域网的网络问题,也会导致这样的错误.
要解决这样的错误,可以修改客户端的连接超时设置.
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)