本帖最后由 bcrun 于 2012-08-20 20:01:24 编辑

解决方案 »

  1.   

    两个问题可以用一个方法解决,先定义为Public strtemp As String
    当你按下暂停按钮时候设置个Boolean为true,继续为false,然后在每个for循环中添加判断这个Boolean是不是true,是的话就退出所有for循环。
    继续就设置为false,并MySqlJM_Click,在MySqlJM_Click开头通过暂停前生成strtemp分别可以获得i1到i6在上次暂停前分别执行到了那个数值,并每个for中的1改成一个变量。
      

  2.   


    要实现楼上功能,需要在代码中添加 Doevents() 语句。
      

  3.   

    简单来说,你需要把循环变量保存下来.要做到这一点,需要声明一个数组变量,用以保存开始值: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