如果每行的字数固定,可以这样试试:
1.获得该文件的大小,比如,100字节
2.假如每行25字节的话,100 div 25=4行

解决方案 »

  1.   

    我看还是读到TStringList里去统计方便。
      

  2.   

    这样的方法行不行:AssignFile(AFile,'c:\myfile.dat');
    Reset(AFile, 1);
    FSize := FileSize(AFile)/5;
    BufferSize := 1024 * 64; // 缓存大小,当前设为 64K
    for Count := 1 to FSize do
    begin
      BlockRead(AFile, Buffer, SizeOf(Buffer), BufferSize);
      // 这里统计换行符个数
    end;
      

  3.   

    分段去读文件的内容还不如用TstringList控件一次读入来得快。
    文件你是必须读的,不见得你自己写的程序就比Borland的程序快多少。
    还是用控件吧。TstringList.count就解决问题了。
      

  4.   

    读到控件里虽然简单,但是耗内存
    用文件也不会太慢,不必用二进制文件方式,打开后不断的readln,并且累加,直到文件结束就可以知道行数了