readln确实是读一行数据的
你用memo1.lines.loadfromtext('test.c');
看读出来的是不是一行的,如果还是一行,
就是你的文件有问题。

解决方案 »

  1.   

    应该是文件行结束符不对,我想!
    但是你说#13#10好像没错!
    你把文件发给我吧,我试试:[email protected]
      

  2.   

    你试试看用一个listbox做实验
    listbox1.items.add(s);
    看显示出来的是不是一行,还是所有的文本内容?
      

  3.   

      Reset(F,'aaa.c');
      readln(f,s);
      Memo1.Text:=Memo1.Text+s;
      closeFile(F);
    试一试
      

  4.   

    别急,我前不久做文件耦合时也出现类似问题的,确实是读一行就把总个数据给读完了,那也不要紧,你读出总文件后,再用数组存储你人为的行(比如两个$0D$0A间就是一个行数据),先记住每个$0D$0A的位置,再用copy函数处理,虽然显得笨拙,但却实用就足够了……
      

  5.   

    根据我的经验,是你的Reset语句有问题。建议采用以下方式:
    var
      F:TestFile;
      S:string;
    begin
      AssignFile(F,'Test.c');
      Reset(F);
      Readln(F,S);
      CloseFile(F);
    end;