我有一个处理文件的程序, 处理从各个软件开发商提供的文本文体.   s:string;
   tmpfile:textfile;   assignfile(tmpfile, "XXXXXX");
   reset(tmpfile);   while not(eof(tmpfile)) do
      
            readln(tmpfile,s);问题就在于这个readln读出的结果不是我要的, 有一个文本文件中不规范, 每行的回车换行中的0D,0A中少了一个0A, 结果整个文件都被一次性全部读出, 而不是一行一行地读出, DELPHI5没有问题, DELPHI6, DELPHI7都有问题, DELPHI的BUG还是故意? 望高人指点!
PS, 我一向痛恨BORLAN的东西, :)现在没有办法, 改别人的程序! 高手们别生气!!!:)

解决方案 »

  1.   

    这不是 Bug 是因为 Delphi6 和 Delphi7 中要兼顾 Linux 中的文本文件, Linux 中的文件文件是标准的回车换行作为行结束符, 所以会有这个问题.解决办法就是使用 TStringList 类, 然后再使用 LoadFromFile 方法, 这样得到的行既可以使用回车做行结束符, 也可以使用回车换行做行结束符.
    也可以使用 TFileStream 类和 TStringList 类结合, 然后再使用 LoadFromStream 方法.
      

  2.   

    你既然这么痛恨Borland,这Delphi不用也罢