Forum: Object-Pascal / Delphi-Language
Delphi
by Quick_silver,
2. Jul 2006
Ich hab nun sleber eine Lösung, ich denke es gibt auch shcnellere Lösungen, für Hinweise in die Richtung wäre ich dankbar. Auch wenn das Aktuelle für mich vollkommen ausreicht.
Dies hat mein Problem ersteinmal gelößt.
if filepos(f) > Length(workBuf) then
seek(f, filepos(f)-Length(workBuf));
Ausserdem habe ich noch andere "Bugs" behoben:
- Dateien können kleiner < buf bytes sein
Forum: Object-Pascal / Delphi-Language
Delphi
by Quick_silver,
1. Jul 2006
Nach vielem rumbasteln habe ich es gesschafft. Es gibt nur ein kleines problem. Der Code sieht so aus:
procedure TForm1.PatchFile(const path, searchFor, replaceWith:string);
var
r,i,j:integer;
f: file of byte;
offset:array of integer;
buf:array of byte; //Zu Testzwecken so kurz gehalten
workBuf:array of byte;
Forum: Object-Pascal / Delphi-Language
Delphi
by Quick_silver,
29. Jun 2006
Von: http://www.dsdt.info/tipps/?id=122
Ansonsten ist die Routine ja ganz gut. Aber wie schaffe ich es das der Stream auch die #0 mit nimmt?
Forum: Object-Pascal / Delphi-Language
Delphi
by Quick_silver,
28. Jun 2006
Guten Tag,
foglendes.. Ich habe eine .exe datei welche ich editieren will. Manuell habe ich sie im HexEditor geöffnet und darin rumgeschrieben. Genau das soll nun mein Delpiprogramm machen.
Wie frage ich in einer Datei bestimmte positionen (offsets) ab und wie editiere ich sie.
Wäre sehr dankbar wenn ich wenigstens Ansätze bekomme.
Güsse Quick_silver