我想实现这个目的,以读得的这个数据为纵坐标,以读这个数据的次数为横坐标,比如第一次读得10、第二次读得11,画曲线坐标为(1,10)(2,11).........
附代码:
Private Sub Timer2_Timer()Dim i As Integer
Dim m As Integer
Dim j As Integer
Dim ss As Integer
Dim s As String
Dim file_Name As String
Dim V As String m = 1
i = 3
nZTUSB.lCode = gain * 4096 + 2 * 256 + usb7360AB * 128 + 0 * 64
nZTUSB.nCh = i
Call USB7360AI(nZTUSB)
Text1(i - 1) = nZTUSB.lData
Text3.Text = Text1(i - 1)
N_I = Val(Text4.Text)
file_Name = V
Open App.Path & "\" & "测试记录库\" & N_I & ".xls" For Output As #1
Nn = Val(Text3.Text)
s = stI + Str(Nn) + vbCrLf
stI = s
Print #1, s
Close #1
Call drawline
Command5_Click
End Sub
......
Picture4.ForeColor = &HFF0000
Picture4.Line (0, 0)-(100, 5000), vbYellow
Picture4.Line (0, 2)-(100, 5100), vbRed
Picture4.Line (2, 0)-(100, 4900), vbRed
Picture4.CurrentX = 0
Picture4.CurrentY = sData(0) Mod 5000
For k = 1 To 100
m=Val(Text3.Text)
Picture4.Line -(k, m)
Next k
End Sub
附代码:
Private Sub Timer2_Timer()Dim i As Integer
Dim m As Integer
Dim j As Integer
Dim ss As Integer
Dim s As String
Dim file_Name As String
Dim V As String m = 1
i = 3
nZTUSB.lCode = gain * 4096 + 2 * 256 + usb7360AB * 128 + 0 * 64
nZTUSB.nCh = i
Call USB7360AI(nZTUSB)
Text1(i - 1) = nZTUSB.lData
Text3.Text = Text1(i - 1)
N_I = Val(Text4.Text)
file_Name = V
Open App.Path & "\" & "测试记录库\" & N_I & ".xls" For Output As #1
Nn = Val(Text3.Text)
s = stI + Str(Nn) + vbCrLf
stI = s
Print #1, s
Close #1
Call drawline
Command5_Click
End Sub
......
Picture4.ForeColor = &HFF0000
Picture4.Line (0, 0)-(100, 5000), vbYellow
Picture4.Line (0, 2)-(100, 5100), vbRed
Picture4.Line (2, 0)-(100, 4900), vbRed
Picture4.CurrentX = 0
Picture4.CurrentY = sData(0) Mod 5000
For k = 1 To 100
m=Val(Text3.Text)
Picture4.Line -(k, m)
Next k
End Sub
m=Val(Text3.Text)
Picture4.Line -(k, m)
Next k
这里的循环速度远远快于timer2的速度,所以你的text3值,也是m的值将没有变化,所以你最多也就能看到一条直线。
我是参照你的材料做的,但是就是不能实现测量时的实时曲线。
这样也可以每记录一个m值,另外一个变量执行加一也可以。
我记录的m值,都是保存在excel中的 ,见上面的代码
我的坐标(k,m1)(k+1,m2)(k+2,m3)........