VB 错误 超出文本尾

来源:百度知道 编辑:UC知道 时间:2024/06/03 19:14:07
Dim a(1 To 13, 1 To 7), b(1 To 13, 1 To 7), c(1 To 13, 1 To 7), d(1 To 13, 1 To 7), e(1 To 13, 1 To 7), f(1 To 13, 1 To 7), g(1 To 13, 1 To 7)
Dim i, j as Integer
-----------------------------------------------------------

Private Sub Form_Load()
Open App.Path & "\12.txt" For Input As #1
For i = 1 To 13
For j = 1 To 7
Input #1, a(i, j), b(i, j), c(i, j), d(i, j), e(i, j), f(i, j), g(i, j)
Next
Next
Close #1
End Sub

12.txt如下
0 1.039 1.04 0.815 1.859 0.607 1.004
100 1.04 1.042 0.866 1.873 0.636 1.006
200 1.043 1.046 0.91 1.894 0.662 1.012
300 1.049 1.054 0.949 1.919 0.687 1.019
400 1.057 1.063 0.983 1.948 0.708 1.028
500 1.066 1.075 1.013 1.978 0.724 1.039
600 1.076 1.086 1.04 2.009 0.737 1.05
700 1.087 1.093 1.064 2.042 0.754 1.061
800 1.097 1.109 1.085 2.075 0.762 1.071
900 1.108 1.12 1.104 2.11 0.775 1.081
1000 1.118 1.13 1.122 2.

吧 Input #1, a(i, j), b(i, j), c(i, j), d(i, j), e(i, j), f(i, j), g(i, j)
改成:
Input #1, a(i, j)
如果按你原来写得,文件里面的数据太少 并且存储混乱!

另外不明白你为什么定义那么多数组,一个二维数组就够了! 或者用七个一维数组(1 to 13),放每一列【其实这样很麻烦,所以不推荐】写法是:
Dim a(1 To 13), b(1 To 13), c(1 To 13), d(1 To 13), e(1 To 13), f(1 To 13), g(1 To 13)
Dim i, j as Integer
-----------------------------------------------------------

Private Sub Form_Load()
Open App.Path & "\12.txt" For Input As #1
For i = 1 To 13
Input #1, a(i), b(i), c(i), d(i), e(i), f(i), g(i)
Next i
Close #1
End Sub

到文件尾要加判断
if eof then

end if