在你不知道内容的文件中是否存在你要找的关键字的时候,用流操作,怎么样从一个文件如(.dat、.txt)中找到你想找的关键字。
是要先把Buffer读出来一个个与你要找的关键字比较呢?还是怎么做?高手可以把代码贴上来看一下。大家帮着顶!

解决方案 »

  1.   

    var
     MyStream: TMemoryStream;
    begin
     MyStream:=TMemoryStream.Create;
     MyStream.Loadfromfile(...);
     //然后用流的一些方法、属性操作。
    end;
      

  2.   

    应该只能这样吧,我想不出别的方法。
    先将文件建立内存影射buffer然后再find
    function find(buffer,data:array of byte;long:integer):integer;
    var
    i,j:integer;
    begin
    result:=-1;
    i:=0;
    while i<=count-long do
    begin
      j:=0;
      while (buffer[i+j]=data[j]) do
      begin
        inc(j);
        if j=long then
        begin
          result:=i;
          exit;
        end;
      end;
      inc(i);
    end;
    end;