var MyStream: TMemoryStream; begin MyStream:=TMemoryStream.Create; MyStream.Loadfromfile(...); //然后用流的一些方法、属性操作。 end;
应该只能这样吧,我想不出别的方法。 先将文件建立内存影射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;
MyStream: TMemoryStream;
begin
MyStream:=TMemoryStream.Create;
MyStream.Loadfromfile(...);
//然后用流的一些方法、属性操作。
end;
先将文件建立内存影射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;