‘循环扫描哪个通道的值为1
    i = 0
    Do Until zt8403dibit(m_cardNO, i + 1) = 1
        i = i + 1
        If i = m_chCount Then i = 0
    Loop
    iRecord = i
然后需要延时再做如上循环,并和上一个iRecord进行比较,判断iRecord的值是否有变化,如果有变化再延时,循环,再和上一个iRecord进行比较,判断iRecord的值是否有变化,直到iRecord的值相同为止。

解决方案 »

  1.   

    用GOTO语句,没有别的什么好的方法。楼主是不是做有关语音卡的程序?
      

  2.   

    我是楼主的同学,做的是中泰的8493采集卡,我帮她想了想,各位大虾帮我看看这样对不对。Public Sub collect()
        i = 0
        Do Until zt8403dibit(m_cardNO, i + 1) = 1
            i = i + 1
            If i = m_chCount Then i = 0
        LoopEnd SubPrivate Sub doloop()
        Call collect
        iRecord = i
    lp:
        sleep 1000
        Call collect
        iAgain = i
        If iAgain = iRecord Then
            ledDI(iAgain).Value = 1
            ledDO(iAgain).Value = 1
        Else
            iRecord = iAgain
            GoTo lp
        End If
    End Sub
      

  3.   

    修改楼上的
    Private Sub doloop()
        Call collect
        iRecord = i
      do while true
        sleep 1000
        Call collect
        iAgain = i
        If iAgain = iRecord Then
            ledDI(iAgain).Value = 1
            ledDO(iAgain).Value = 1
            exit do
        Else
            iRecord = iAgain
        End If
      loop
    End Sub