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
具体代码:
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
——————————————————————————————————————————
欢迎试用lgxgrid表格控件,内置强大的格式控制和打印功能,内置通过XML与WebService服务交换数据的便捷方法(开发基于B/S的WEB应用程序很有用),有详尽的中文帮助文档,有基于VB6、C#、ASP.net、VC++的例程!欢迎访问http://lgxyslldw.512j.com
但是看到你的循环体中有那么多函数调用,特别是还有字符串操作,那再快的循环也是白搭.