Hallo,
Zitat von
ReVenGer:
... Die Datei wir in Hex eingelesen und im Memo angezeigt. Im Memo möchte ich diese Hexwerte nun editieren. ...
nach meiner Auffassung liest du eine Binär-Datei ein und willst sie an bestimmten Stellen patchen:
Delphi-Quellcode:
// Getippt und nicht getestet.
procedure TDemoForm.ButtonClick(Sender: TObject);
var
s: string;
fn: TFileName;
fs: TFileStream;
begin
fs := TFileStream.Create(fn, fmOpenReadWrite or fmShareDenyWrite);
SetLength(s, fs.Size);
fs.ReadBuffer(s[1], fs.Size);
if PatchString(s, #$3B#$00#$01#$00, #$02) then
begin
fs.Position := 0;
fs.WriteBuffer(s[1], Length(s));
end;
fs.Free;
end;
Dieses Code-Fragment überschreibt das Byte, welches deiner Byte-Signatur 3B 00 01 00 direkt folgt, mit dem Wert 02.
Freundliche Grüße