probier das mal:
Delphi-Quellcode:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
function Replace(const aStr: string;
const aSearchStr: string;
const aReplaceChar: char): string;
var
l,x: integer;
c: PChar;
begin
setlength(result, length(aStr));
c := @aStr[1];
x := 0;
for l := 1 to length(aStr) do
begin
inc(x);
if pos(aSearchStr, c) = 1 then
begin
result[x] := aReplaceChar;
inc(c, length(aSearchStr));
end
else
begin
result[x] := c^;
inc(c);
end;
end;
setlength(result, x);
end;
begin
writeln(Replace('a&%68&%a4', '&%', #0));
readln;
end.
in der performance kann man da sicher noch was machen... sollte aber funzzen...
ansonsten, denk an
omata das ganze, kann nicht bei einem binärformat vernünftig funktionieren...
hierzu müsstest du schon beim lesen, z.b. in hexcode umwandeln, in hexcode editieren und beim speichern den hex wieder in die binärdarstellung bringen...
aber das wirst schon selbst noch merken ...