Hallo,
habe folgendes Problem.
In einer Memo1 Feld werden Dateinamen eigeben
ZB:
test.exe
test2.exe
So nun soll er aber aus dem test.exe folgendes machen:
t + $00h + e + $00h + s +$00h ...
Also ein 00h zwischen jedem Buchstaben einsezen. Da das so in Images gespeichert werden.
Danach soll er immer vom Anfangsbuchstaben 24 Positionen zurückspringen und ab da 3 Bytes ändern.
Danke schon mal für eure hilfe.
Folgender Code fehlt mir das mit den 00h einfügen:
Delphi-Quelltext
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:
| var filer : string; f : file; u : array[0..65535] of char; i, iRead, iWrite : integer; begin {$I-} AssignFile(f, Form1.Edit1.Text); Reset(f,1); for i := 0 to -1 do begin filer := Memo1.lines[i]; BlockRead(f,u,Length(filer),iRead); if (iRead = Length(filer)) then begin if(lstrcmp(u,PChar(dvdoption.Memo1.Lines[0])) = 0) then begin Seek(f, soFromCurrent - Length(filer) - Length(filer) - 24); fillchar(u,sizeof(u),$ffff01); BlockWrite(f,u,3,iWrite); end; end; end;
CloseFile(f); {$S+}
end; |
Moderiert von
Gausi: Code- durch Delphi-Tags ersetzt.