Warum so Kompliziert?
Probiere mal das...
So ein ähnliches Beispliel habe ich, um den Header einer AVI Datei nach Crash beim aufnehmen wiederherzustellen.
Der Code ist nicht getestet, Tippfehler möglich...
Delphi-Quellcode:
procedure OverrideBytes(const FileName:String; const Num:Byte);
var F:File;
PC:PChar;
begin
GetMem(PC, Num);
AssignFile(F, FileName);
Reset(F, 1);
Seek(F, 0); // 0 zum Anfang der Datei
BlockWrite(F, PC^, Num);
CloseFile(F);
FreeMem(PC);
end;
procedure RestoreBytes(const FileName, Header:String);
var F:File;
begin
AssignFile(F, FileName);
Reset(F, 1);
Seek(F, 0); // 0 zum Anfang der Datei
BlockWrite(F, PChar(Header), Length(Header));
CloseFile(F);
end;