Thema: Delphi AnsiPos Hilfe

Einzelnen Beitrag anzeigen

Linguini

Registriert seit: 19. Mai 2009
95 Beiträge
 
#5

Re: AnsiPos Hilfe

  Alt 6. Jun 2009, 16:23
Bzw. es klappt doch nicht so toll:

Dieses Programm:
Delphi-Quellcode:
AssignFile(f,'modme.exe');


Append(f);
Write(f,'beispiel');
 CloseFile(f);
 ShowMessage('done');
Hängt den String "beispiel" an das Ende des unteren Programmes an. Wenn ich es mit einem Hexeditor öffne, sehe ich den String dort auch.

Dieses Programm soll nun den angehängten String auslesen.

Delphi-Quellcode:

function File2String2(const FileName: string): string;
var
 Stream: THandle; Size,Bytes:Cardinal;
begin
 if length(FileName) = 0 then exit;
 Stream := CreateFile(pchar(FileName), GENERIC_READ,0, nil,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
 if Stream <> INVALID_HANDLE_VALUE then
  begin
    Size := GetFileSize(Stream,nil); SetLength(Result,Size);
    ReadFile(Stream,pchar(Result)^,Size,Bytes,nil);
    CloseHandle(Stream);
  end;
end;




procedure TForm1.FormCreate(Sender: TObject);


var
x,y :Integer;
inhalt:String;

begin

inhalt:=File2String(Application.ExeName);

x:=ansipos('beispiel',inhalt);
  showmessage(inttostr(x));
y:=posex('beispiel',inhalt,x+1);
  showmessage(inttostr(y));

end;
Wenn ich richtig denke müsste ja der String "beispiel" im obigen Programm mindestens 2x enthalten sein.
Einmal daher weil ich nach im Suche, und ein zweites mal weil ich ihn ja angehängt habe.

So Ansipos findet auch den String, aber PosEx leider nichtmehr...
Woran könnte das liegen?
Bzw. wie kann ich den angehängten String noch auslesen?
Filestream?

Danke
  Mit Zitat antworten Zitat