var
str:TMemoryStream;
fileok:TMemoryStream;
beginstr:=TMemoryStream.Create;
str.LoadFromFile('c:\55.dat');fileok:=TMemoryStream.Create;
fileok.LoadFromFile('c:\123.exe');
fileok.Position:=100;
fileok.Write(str,str.size);
fileok.SaveToFile('c:\234.exe');
ShowMessage('Save OK!');
fileok.Free;
STR.Free;
end;fileok.Write(str,str.size);
//这句有问题,我存取出来的234.exe的文件,长度会变长,并且没有复盖到123.exe指针100以后的数据.请问如何才能复盖123.exe指针100以后的数据.
str:TMemoryStream;
fileok:TMemoryStream;
beginstr:=TMemoryStream.Create;
str.LoadFromFile('c:\55.dat');fileok:=TMemoryStream.Create;
fileok.LoadFromFile('c:\123.exe');
fileok.Position:=100;
fileok.Write(str,str.size);
fileok.SaveToFile('c:\234.exe');
ShowMessage('Save OK!');
fileok.Free;
STR.Free;
end;fileok.Write(str,str.size);
//这句有问题,我存取出来的234.exe的文件,长度会变长,并且没有复盖到123.exe指针100以后的数据.请问如何才能复盖123.exe指针100以后的数据.
var
ff,ts:TFileStream;
begin
ff:=TFilestream.create('test.dat',fmOpenReadWrite);
ts:=Tfilestream.create('test1.dat',fmOpenReadWrite); ff.Seek(100,sofrombeginning);/////定位test.dat到1024的位置
ts.Seek(0,sofrombeginning);
ff.CopyFrom(ts,ts.Size);///////把test1.dat的数据添加到test.dat的1024位置的后面,
形成的文件test.dat是文件test.dat的100的头部,以及test1.dat的文件体。 ff.free ;
ts.free;
end;
str:TMemoryStream;
fileok:TMemoryStream;
beginstr:=TMemoryStream.Create;
str.LoadFromFile('c:\55.dat');fileok:=TMemoryStream.Create;
fileok.LoadFromFile('c:\123.exe');
fileok.Position:=100;
fileok.CopyFrom(str,str.size);
fileok.SaveToFile('c:\234.exe');
ShowMessage('Save OK!');
fileok.Free;
STR.Free;
end;