
08.11.2010, 23:39
|
Модератор
|
|
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
|
|
Я бы делал через поток.
Код:
var
F : TFileStream;
P : Pointer;
Pz, Sz : Integer;
D : String;
begin
F := TFileStream.Create('my_file.txt',fmOpenread Or fmOpenWrite);
Pz := F.Size div 2;
Sz := F.Size - Pz;
GetMem(P,Sz);
F.seek(Pz,soFromBegining);
F.ReadBuffer(P^,Sz);
F.seek(Pz,soFromBegining);
D := 'New data';
F.WriteBuffer(D[1],Length(D));
F.WriteBuffer(P^,Sz);
FreeMem(P,Sz);
F.Free;
end;
|