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

vb 运行时错误 '62' 输入超过文件尾,第1张

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

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

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

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

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

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

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

Input # 或 Line Input #

语句要到已读完文件或空文件中读入数据。

在 Input # 语句之前直接使用 EOF

函数来测试是否处在文件的结尾。

在以 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 语句打开的文件中指定当前的读/写位置。

Seek 函数示例

本示例使用 Seek 函数来返回当前文件位置。示例中假设 TESTFILE

文件内含有用户自定义数据类型 Record 的记录。

Type Record   ' 定义用户自定义数据类型。

   ID As Integer

   Name As String * 20

End Type

'如果以随机方式打开文件,Seek 返回下一个记录的编号。

Dim MyRecord As Record   ' 声明变量。

Open "TESTFILE" For Random As #1 Len = Len(MyRecord)

Do While Not EOF(1)   ' 循环至文件尾。

   Get #1, , MyRecord   ' 读入下一个记录。

   Debug.Print Seek(1)   ' 在立即窗口中显示记录号。

Loop

Close #1   ' 关闭文件。

'如果不以 Random 方式打开文件,则 Seek 返回下一个 *** 作会发生的位置。假设 

TESTFILE 文件内含有文本数据。

Dim MyChar

Open "TESTFILE" For Input As #1   ' 打开输入文件。

Do While Not EOF(1)   ' 循环至文件尾。

   MyChar = Input(1, #1)   ' 读入下一个字符。

   Debug.Print Seek(1)   ' 将下一字符的位置显示在立即窗口。

Loop

Close #1   ' 关闭文件。

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

Loc 函数示例

本示例使用 Loc 函数来返回在打开的文件中当前读写的位置。 本示例假设

TESTFILE 文件内含数行文本数据。

Dim MyLocation, MyLine

Open "TESTFILE" For Binary As #1   ' 打开刚创建的文件。

Do While MyLocation < LOF(1)   ' 循环至文件尾。

   MyLine = MyLine & Input(1, #1)   ' 读入一个字符到变量中。

   MyLocation = Loc(1)   ' 取得当前位置。

' 在立即窗口中显示。

   Debug.Print MyLine : Tab : MyLocation

Loop

Close #1   ' 关闭文件。

你想读取文件?还行穗是将数据保存到文件,将数据保存到文件你应该肢敬用output。这个是不会超出文件尾的。但是你要是从文件中读取数据的话。由于历带慎文件的长度肯定是有限的,所以有可能回超出文件尾。若是这样,你可以加入 on error goto 或者on error resume next 语句。就不会发生错误了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12221001.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存