Si no te molesta crear un archivo a partir de este para agregar un fragmento al inicio, yo haría algo como:
Código Delphi
[-]
procedure CopyAppend(ASource, ADest: TFileName; Header: string);
var
fsSource,
fsDest: TFileStream;
begin
fsDest := TFileStream.Create(ADest, fmCreate);
try
fsDest.Write(Header[1], Length(Header));
fsSource := TFileStream.Create(ASource, fmOpenRead + fmShareDenyNone);
try
fsDest.CopyFrom(fsSource, 0);
finally
fsSource.Free;
end;
finally
fsDest.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
CopyAppend('C:\SOURCE.TXT', 'C:\DEST.TXT', DateTimeToStr(Now) + #13#10);
end;
Si lo que quieres es desplazar la información del archivo hacia atrás, y escribir en el mismo encabezado del archivo. Vas a tener que copiar el contenido a la memoria, escribirlo en la nueva posición (0+offset), y escribir lo que quieras en el encabezado.
Saludos!