VB textbox 读取文本文件错误

来源:百度知道 编辑:UC知道 时间:2024/05/19 07:16:16
sub command1.click()
commondialog1.showopen
txtR=commondialog1.filename
open txtR for input as #1
text1.text=input(lof(1),1)
close #1

我用这个代码读取文本文件时,如果文本全是数字就能打开,遇到文本有汉字就不行了,提示说“实时错误“62”,输入超出文件尾”,怎么回事,怎么修改?
另外,我是自学VB,对于用textbox打开文本文件感到迷茫,教材也看不懂,什么顺序、随机、二进制,搞不明白,麻烦高手解释一下,谢谢!

这里主要问题出在LOF(1)上,LOF(1)返回文件的长度,文件中的中文字符是两个字节,而VB读取的时候把中文字符当成1个字符,因此会超出文件尾。比如,文件中只有“大像”两个字,用LOF(1)返回的值是4,然后用VB读取4个字符,当然不行了,因为VB认为文件中是两个字。
因此你不应该用这种方法,通用的方法是用DO循环。
do while not eof(1)
line input #1 ,r
s=s+r+chr(13)+chr(10)
loop
text1.text=s