rewrite表示重新写文件,此时文件已经清空,所以eof当然要出错。
如果是读文件,应该是reset(filet);

解决方案 »

  1.   

    当我改变文件类型的定义后,却是可以通过的,为什么呢?
    如文件类型的定义改为:
    var filet:file of char;
    哪位前辈知道,望能告知。
      

  2.   

    运行时的错误分为以下三类:
    * I/O错误:错误编号为100-149
    编号 说明
    ---------------------------------------------------------
    100 磁盘读错误,若要对超过格式文件尾进行读取时
    101 磁盘写错误,若磁盘满时,由CloseFile,Write,Writeln或Flush报告
    102 没有指定文件,若文件变量没有由Assign或AssignFile赋值,由Reset,Rewrite,Append,Rename和Erase报告
    103 文件没有打开,若文件未打开,由CloseFile,Read,Write,Seek,Eof,FilePos,FileSize,Flush,BlockRead或BlockWrite报告
    104 输入文件未打开,由Read,Readln,Eof,Eoln,SeekEof或SeekEoln报告有关输入的文本文件未打开
    105 输出文件未打开,由Write和Writeln报告有关文本文件没有用Console应用程序生成
    106 无效的数据格式,由Read或Readln报告从文本文件读取的数据格式不正确
      

  3.   

    To:colacoca(我是一瓶倒过来的可口可乐) 
    谢谢你给的这么多注解,但是ReWrite()不是创建了新的文件吗?Eof()只不过是判断文件尾,应该不会出错才是吧?
    希望得到各位的指正。
      

  4.   

    If F is a text file, F becomes write-only.After calling Rewrite, Eof(F) is always True.