Autor Beitrag
Biarchiv
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 688



BeitragVerfasst: Do 03.03.05 17:22 
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:
ausblenden 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 user profile iconGausi: Code- durch Delphi-Tags ersetzt.
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: Do 03.03.05 17:24 
Biarchiv hat folgendes geschrieben:
t + $00h + e + $00h + s +$00h ...
Also ein 00h zwischen jedem Buchstaben einsezen. Da das so in Images gespeichert werden.

Widestrings sind genau in dem Format :)