下标越界如何解决
Dim Lines() As String
Dim mCurrent As Long
Private Sub Form_Load()
Open "c:/Gyro.txt" For Binary As #1
Dim L As Long
Dim D() As Byte
L = LOF(1)
If L = 0 Then
MsgBox "文件长度为0"
Exit Sub
End If
ReDim D(L - 1)
Get 1, , D
Dim s As String
s = StrConv(D, vbUnicode)
Lines = Split(s, vbCrLf)
end sub
Private Sub Timer2_Timer()
mCurrent = mCurrent + 1
If mCurrent > UBound(Lines) Then mCurrent = 1
Dim D() As String
D = Split(Lines(mCurrent), " ")
Text14.Text = D(0)
gx = D(0)
Text15.Text = D(1)
gy = D(1)
Text16.Text = D(2) 'd(0),d(1),d(2) 既为每行的三个数,你自己决定怎么使用这三个数吧
gz = D(2)
end sub
这个程序运行时会弹出下标越界的提示,如何解决呢??循环读取文件什么的都可以只要不出错就好
[解决办法]
If mCurrent > UBound(Lines) Then mCurrent = 1
If UBound(Lines) = 0 Then mCurrent = 0
[解决办法]
用循环就不会出错。如果是想动态显示数据的话,加一个API函数Sleep,时间5秒钟。
- VB code
Dim D() As Stringfor mCurrent=1 to UBound(Lines) D = Split(Lines(mCurrent), " ") Text14.Text = D(0) gx = D(0) Text15.Text = D(1) gy = D(1) Text16.Text = D(2) 'd(0),d(1),d(2) 既为每行的三个数,你自己决定怎么使用这三个数吧 gz = D(2) Sleep(5000)next