实时错误“62”输入超出文件尾
编号:QA000621
建立日期: 1999年3月11日 最后修改日期:1999年3月11日
所属类别:
涂海宁:
vb5.0中文企业版
Windows98
如果我想在DO WHILE NOT EOF(1)----LOOP语句中将一个文本文件以一页一页的方式显示,如下 :
Private Sub Command1_Click()
Open "e:\t01.txt" For Input As #1
Texta.FontSize = 15
Texta.FontName = "楷体_GB2312"
Do While Not EOF(1)
For i = 0 To 24
Line Input #1, aspect$
whole$ = whole$ + "" + aspect$ + Chr$(13) + Chr$(10)
Texta.Text = whole$
Next i
aspect$ = ""
whole$ = ""
Loop
End Sub
却报:实时错误“62” 输入超出文件尾。我想除了没有延时器,我实在是想不出还有什么问题,请指教 !!!另: 延时器若用一个空循环是不是有用,若没有用那该怎么做?
回答:
除非你读的文件的行数是24的倍数,否则你的程序肯定会出错。你在Do喜欢时检查了文件是否到文件尾,但在For循环中却没有检查是否到了文件尾。假设文件有12行,一开始加入Do循环,没有到文件尾。但For循环执行到一半就读完了,自然要出错了。解决的办法是在For循环中检测是否到了文件尾,如果到了就退出循环。这个问题与延时器无关。
此问题由李海回答。
| |
|
|
| |
|
|