两个问题可以用一个方法解决,先定义为Public strtemp As String 当你按下暂停按钮时候设置个Boolean为true,继续为false,然后在每个for循环中添加判断这个Boolean是不是true,是的话就退出所有for循环。 继续就设置为false,并MySqlJM_Click,在MySqlJM_Click开头通过暂停前生成strtemp分别可以获得i1到i6在上次暂停前分别执行到了那个数值,并每个for中的1改成一个变量。
要实现楼上功能,需要在代码中添加 Doevents() 语句。
简单来说,你需要把循环变量保存下来.要做到这一点,需要声明一个数组变量,用以保存开始值:dim nStart(5) as long '如果想要从头开始,就把这个数组的内容初始化为1 dim bStop as booleanPrivate Sub MySqlJM_Click() Dim S() As String Dim strtemp As String S() = Split("a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9", ",") For i1 = nStart(0) To 36 For i2 = nStart(1) To 36 For i3 = nStart(2) To 36 For i4 = nStart(3) To 36 For i5 = nStart(4) To 36 For i6 = nStart(5) To 36 strtemp = S(i1 - 1) & S(i2 - 1) & S(i3 - 1) & S(i4 - 1) & S(i5 - 1) & S(i6 - 1) '组合长度 Text1.Text = Text1.Text & Chr(13) & Chr(10) & strtemp doevents if bstop=true then '弄个按钮为暂停,代码里把bstop=true就行了. nStart(0)=i1 nStart(1)=i2 nStart(2)=i3 nStart(3)=i4 nStart(4)=i5 nStart(5)=i6 goto exitfor end if Next Next Next Next Next Next exitFOR: MsgBox "尼玛隔壁,跑死老子了!!", vbCritical + vbOKOnly, "信息" End Sub
当你按下暂停按钮时候设置个Boolean为true,继续为false,然后在每个for循环中添加判断这个Boolean是不是true,是的话就退出所有for循环。
继续就设置为false,并MySqlJM_Click,在MySqlJM_Click开头通过暂停前生成strtemp分别可以获得i1到i6在上次暂停前分别执行到了那个数值,并每个for中的1改成一个变量。
要实现楼上功能,需要在代码中添加 Doevents() 语句。
dim bStop as booleanPrivate Sub MySqlJM_Click()
Dim S() As String
Dim strtemp As String
S() = Split("a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9", ",")
For i1 = nStart(0) To 36
For i2 = nStart(1) To 36
For i3 = nStart(2) To 36
For i4 = nStart(3) To 36
For i5 = nStart(4) To 36
For i6 = nStart(5) To 36
strtemp = S(i1 - 1) & S(i2 - 1) & S(i3 - 1) & S(i4 - 1) & S(i5 - 1) & S(i6 - 1) '组合长度
Text1.Text = Text1.Text & Chr(13) & Chr(10) & strtemp
doevents
if bstop=true then '弄个按钮为暂停,代码里把bstop=true就行了.
nStart(0)=i1
nStart(1)=i2
nStart(2)=i3
nStart(3)=i4
nStart(4)=i5
nStart(5)=i6 goto exitfor
end if
Next
Next
Next
Next
Next
Next
exitFOR:
MsgBox "尼玛隔壁,跑死老子了!!", vbCritical + vbOKOnly, "信息"
End Sub