procedure TForm1.Button2Click(Sender: TObject);
var sl : TStringList;
    ii: Integer;
begin
  sl := TStringList.Create;
  sl.LoadFromFile('c:\111.txt');
  ShowMessage(IntToStr(sl.Count));
  for ii := 0 to sl.Count - 1 do
  begin
    ShowMessage(sl.Strings[ii]);
    //处理你自己的东西
  end;
  sl.Free;
end;

解决方案 »

  1.   

    其实delphi的demo下有一个关于文本数据库的例程,你可先安装例程的组件再看demo,很好用的!
      

  2.   

    //先定义自己的记录结构
    TMyRecord=Record
                 RecordNo:integer;
                 RecordContent:array [0..30] of char;
              end;      
    .....
    Procedure ReadRecord();
    var
      iFileHandle: Integer;
      iFileLength: Integer;
      iBytesRead: Integer;
      Buffer: PChar;
      i:integer;
      tmpRecord:TMyRercord; 
    begin
       try
          iFileHandle := FileOpen('c:\mydata.txt', fmOpenRead);
          iFileLength := FileSeek(iFileHandle,0,2);
          FileSeek(iFileHandle,0,0);
          Buffer := PChar(AllocMem(iFileLength + 1));
          iBytesRead = FileRead(iFileHandle, Buffer, iFileLength);
          FileClose(iFileHandle);
          for i:=0 to trunc(iFileLength/sizeof(TMyRecord)) do
             begin
                tmpRecord:=TMyRecord(buffer[i*SizeOf(TMyRecord)]);
                ......
             end; 
       except
          ShowMessage('读取记录数据出错!');
       end;
       FileClose(iFileHandle);  
    end;
    ......
      

  3.   

    如果记录都是一条条写入文本,那么你可以试一下如下的方法:
       fileinput:textfile;
       str:string; 
       counter:integer;
       assignfile(fileinput,YouFileName);
       reset(fileinput);                  //       打开文件// 判断记录的条数
         while not Eof(fileinput) do
          begin
           readln(fileinput,str);
           inc(counter);
          end;                        //此时文件的指针已指向文件的末尾,
       closefile(fileinput);       //关闭文件
      

  4.   

    是记录文件吗?FileSize(文件句柄)/SizeOf(记录类型)