7,762
社区成员
发帖
与我相关
我的任务
分享
Sub yunsuan() '主程序
for i=1 to 100
for j=1 to 100
Do While Abs(a(i) - b(i)) < 0.00000000001
b(i) = a(i)
a (i)= 复杂的运算 '第n+1次与第n次迭代计算误差小于给定值
DoEvents
'在这里判断timer才会暂停程序,但怎么和 Command1_Click联系
Loop
next
next
End Sub
谢谢cbm666大神的程序,不知如何关联yunsuan
Private Sub Form_Load()
Command1.Caption = "开 始"
Timer1.Interval = 100
Timer1.Enabled = False
End Sub
Private Sub Command1_Click()
Timer1.Enabled = Not Timer1.Enabled
Select Case Command1.Caption
Case Is = "暂 停"
Timer1.Enabled = False
Command1.Caption = "继 续"
Call MySleep(10)
Case Is = "继 续"
Timer1.Enabled = True
Command1.Caption = "暂 停"
ForceStop = True
Case Else
Timer1.Enabled = True
Command1.Caption = "暂 停"
End Select
End Sub
Private Sub Timer1_Timer()
i = i + 1
End Sub
Sub MySleep(Delaytm&)
Command1.Caption = "继 续"
ForceStop = False
Starttm = Timer
Do
DoEvents
If ForceStop Then Exit Do
Loop Until Timer - Starttm >= Delaytm
Command1.Caption = "开 始"
Command1_Click
End Sub
Dim BO As Boolean
Dim X As Long
Private Sub DoNext() '循环的公用过程
I = X '这里赋值循环的初值
Do
I = I + 1
If Not BO Then
Text1.Text = I '文本框显示循环的情况,I 的值的变化
DoEvents
Else
X = I
Exit Do
End If
'在这写循环中要执行的功能代码
Loop While I < 500000 '设置要循环的次数,修改500000的值就可以
End Sub
Private Sub Command1_Click() '按钮控制循环的暂停与开始
BO = Not BO ' 改变DO对象的值
DoNext
End Sub
Private Sub Form_Load()
BO = True 'BO对象初值
X = 0
End Sub
已经调试过一个没有问题。