vb 运行时错误 '62' 输入超过文件尾

If AutoStat = "Auto" Then
Open "C:\Documents and Settings\Administrator\桌面\HotShot\Data\UserSettings\Load_UserInformations.dat" For Input As #1
For i = 1 To 1 '3 为您想要的那一行,想提取第四行就用4.
Line Input #1, Second '放第三行数据的变量
User = Second
Next
For i = 1 To 2
On Error Resume Next
Line Input #1, First ‘在这一行错了额
Form1.Scores = Val(First)
Next
Close #1
End If
好不容易把 第一个问题搞好了 ,First又出问题了
User 和 AutoStat 都是全局变量

1、打开VB6.0,新建一个工程,在窗体中添加一个命令按钮,caption分别改为“调用函数”,将窗体Form1的caption属性改为“VB6.0自定义函数”。

2、双击窗体Form1,进入代码编辑窗口,单击左侧下拉三角形,选择通用。

3、在通用段输入代码,并将Form_Load事件删除。

4、双击“调用函数”命令按钮,进入代码编辑窗口,输入如下代码。

5、关闭代码窗口,按下F5运行程序,就完成了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-13

输入超出文件尾(错误 62)

不能对文件尾位置后进行读入。此错误有以下原因和解决方法:

1)Input # 或 Line Input #
语句要到已读完文件或空文件中读入数据。

在 Input # 语句之前直接使用 EOF
函数来测试是否处在文件的结尾。

2)在以 Binary 访问所打开的文件上使用 EOF 函数。

EOF 只能用在顺序 Input 访问所打开的文件上。在
Binary 访问所打开的文件上使用 Seek 和 Loc。

EOF 函数,返回一个 Integer,它包含 Boolean 值 True,表明已经到达为 Random
或顺序 Input 打开的文件的结尾。

EOF 函数示例

本示例使用 EOF 函数来检测文件尾。示例中假设 MYFILE
为有数个文本行的文本文件。

Dim InputData
Open "MYFILE" For Input As #1   ' 为输入打开文件。
Do While Not EOF(1)   ' 检查文件尾。
   Line Input #1, InputData   ' 读入一行数据。
   Debug.Print InputData   ' 在立即窗口中显示。
Loop
Close #1   ' 关闭文件。

Seek 函数,返回一个 Long,在
Open 语句打开的文件中指定当前的读/写位置。

Loc 函数,返回一个 Long,在已打开的文件中指定当前读/写位置。

第2个回答  推荐于2017-09-18
1、按行读取要有判断语句判断是否读取完 了,如下:
Dim FileNumber1 Str As String
FileNumber1 = FreeFile
Open "D:\123.txt" For Input As #FileNumber1
While Not EOF(FileNumber1)
Line Input #FileNumber1, Str
Wend
Close #FileNumber1
2、On Error Resume Next 不要随便用,尤其在调试阶段。否则容易掩盖一些致命的错误。
3、Form1.Scores 这个是什么东西?追问

一个Public变量

追答

还没解决吗?输入超过文件尾就是因为没有那么多行。
给你分析下就知道了:
For i = 1 To 1
Line Input #1, Second 这里执行后 读取第一行
User = Second
Next
For i = 1 To 2 这里因为上面你已经读取一行了,而且又没有关闭文件,所以这里是从低二行开始读的,也就是说这个for循环读取的是第二和第三行的数据。而你文件只有两行所以出错了。
On Error Resume Next
Line Input #1, First ‘在这一行错了额
Form1.Scores = Val(First)
Next
你说说你的文本里面的内容,和你的需求。肯定有其他办法的。

追问

已经解决了,我把一个Txt的内容分到2个Txt。
两个 Open

追答

其实没必要这样的吧?

本回答被提问者采纳
第3个回答  2013-01-21
文件指针问题
在第一个for循环后,指针已经移到第3行
接着的第二次循环读取
指针从第四行开始
这就需要看你的文件有多少行数据了,如果小于5行,就会报错
第4个回答  2013-01-21
纯粹经验值撸过。。。。追问

啊啊啊?
大汗。无语

相似回答