Hallo,
Folgendes: Ich will eine Datei Patchen mit Text eingabe von Edit2.Text! Es solten nur 8 Ziffern oder Zahlen möglich sein. Dieser Dateipatch funktioniert aber nur wenn neustring und altstring gleich groß sind! Sonst crach.
Wie kann ich es machen wenn jemand nur 6 oder 7 möglichkeiten eingibtd das bei altstring .data + #00#00 dazu in den String geschrieben wird?
Also altstring muß gleich groß sein.
Danke
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48:
| if RadioButton1.checked = true then begin if not (Edit1.Text = '') then begin altstring := '.data' +#00#00#00;
neustring := #00#00#00#00#00#00#00#00; neustring := Edit2.Text[1]; neustring := Edit2.Text[2]; neustring := Edit2.Text[3]; neustring := Edit2.Text[4]; neustring := Edit2.Text[5]; neustring := Edit2.Text[6]; neustring := Edit2.Text[7]; neustring := Edit2.Text[8];
showmessage(neustring); exit; datei := Edit1.Text; s := altstring; assignFile(f, datei); reset(f,1); for l := 0 to filesize(f)-length(altstring)-1 do begin Application.ProcessMessages; seek(f,l); blockread(f,altstring[1],length(altstring)); if altstring = s then begin seek(f,l); blockwrite(f,neustring[1],length(neustring)); CloseFile(f); messagebox(0,'Now you can protect this file with EXE Stealth.','Patched...',MB_OK); exit; end;
Application.ProcessMessages; end; closeFile(f); end else begin showmessage('Please select a file.'); exit; end; end; |