vb中那种循环最快?我的代码要读取硬件采取数据信息,可是速度慢,怎么实现快速度读取,不丢失信息
具体代码:
 Do While TimeCount <= 1230
    ZT8344B_AIonce m_cardIndex, 2, m_saveData(0), 2, 0      
    'Text3.Text = Format(val(Text2.Text) / 200 - 50, "##0.000")     '1700公式
     
    Com8344data = Val(Format(Abs((m_saveData(0) - 2000) / 160 - 50), "##0.00"))
    Com8344data = Com8344data + Val(Format(Abs((m_saveData(1) / 200 - 50)), "##0.00"))
    Com7400Data = Enc7400_Get_Encoder(0)
    StatusBar1.Panels.Item(2).Text = "脉冲数实际" + Str(Com7400Data)
    If ((Com8344Data >= 1) And (Com8344Data <= 50)) Then'如果厚度在1到50mm之间允许记录数据
       Com7400Data = Enc7400_Get_Encoder(0)
       If Abs(Com7400Data - TempData) >= 100 Then
          TempData = Com7400Data
          TimeCount = TimeCount + 1
          DataX(TimeCount) = TimeCount * 0.5
          'DataY(TimeCount) = Val(Format(Com8344data, "##00.00"))
          StatusBar1.Panels.Item(3).Text = " 测量数据:" + Str(TimeCount)
          'StatusBar1.Panels.Item(4).Text = " 测量尺寸:" + Str(Com8344data) + " mm"
          'StatusBar1.Panels.Item(5).Text = "传感器实际:" + Format(m_saveData(0), "#00.00")
          End If
    'End If
    '************************************************************************
    If GetInputState() Then DoEvents
  Loop

解决方案 »

  1.   

    关键在于循环体内的代码,不在于循环语句。
    ——————————————————————————————————————————
    欢迎试用lgxgrid表格控件,内置强大的格式控制和打印功能,内置通过XML与WebService服务交换数据的便捷方法(开发基于B/S的WEB应用程序很有用),有详尽的中文帮助文档,有基于VB6、C#、ASP.net、VC++的例程!欢迎访问http://lgxyslldw.512j.com
      

  2.   

    慢在串的连接操作及Enc7400_Get_Encoder(0)(如果是个FUNCTION的话)上。
      

  3.   

    FOR循环最快.
    但是看到你的循环体中有那么多函数调用,特别是还有字符串操作,那再快的循环也是白搭.