程序主体为:
for i=1 to 1000
    acll 程序包1    acll 程序包2    acll 程序包3    acll 程序包4
next i计数器s=0  '记录超时次数现在问题是:如果循环体执行一次时间超过3分钟则s=s+1并循环体执行下一次循环,如果在3分钟内一次执行完正常执行下一次。即,一次循环不能超过3分钟。详细举例说明:
如果程序在执行i=10时从 acll 程序包1 未执行到 next i 时间已经到了3分钟,那么就执行i=11
如果程序在执行i=100时从 acll 程序包1 执行到 next i 用了2分钟,那么继续执行下一个i

解决方案 »

  1.   


    Dim i As Integer, j As Integer
        j = 1
        Do
            For i = j To 1000
                acll 程序包1
                If 时间大于3分钟 Then j = i + 1: Exit For
                acll 程序包2
                If 时间大于3分钟 Then j = i + 1: Exit For
                acll 程序包3
                If 时间大于3分钟 Then j = i + 1: Exit For
                acll 程序包4
            Next i
        While i < 1000
      

  2.   


    For i = 1 To 1000
      For j = 1 To 4
        If 时间小于3分钟 Then 
          Select Case j
            Case 1: 
              acll 程序包1
            Case 2: 
              acll 程序包2
            Case 3: 
              acll 程序包3
            Case 4: 
              acll 程序包4
          End Select
        End If
      Next j
    Next i