热情软件屋

 

实时错误“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循环中检测是否到了文件尾,如果到了就退出循环。这个问题与延时器无关。

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio