![]() |
AnsiPos Hilfe
Hallo,
Delphi-Quellcode:
Ich lese die Datei als String ein, und suche dann nach "Beispiel".
inhalt:=File2String(application.ExeName);
posi:=ansipos('Beispiel',inhalt); if posi>0 then showmessage('gefunden'); Aber da ich ja nach "Beispiel" suche, ist "Beispiel" ja immer in diesem String, gibt es eine Möglichkeit das 1. Ergebnis von AnsiPos zu ignorieren oder so? Grüße |
Re: AnsiPos Hilfe
Versuch es mal mit PosEx()
|
Re: AnsiPos Hilfe
Zitat:
Zitat:
|
Re: AnsiPos Hilfe
Danke mit PosEx klappt es wunderbar =)
|
Re: AnsiPos Hilfe
Bzw. es klappt doch nicht so toll:
Dieses Programm:
Delphi-Quellcode:
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.
AssignFile(f,'modme.exe');
Append(f); Write(f,'beispiel'); CloseFile(f); ShowMessage('done'); Dieses Programm soll nun den angehängten String auslesen.
Delphi-Quellcode:
Wenn ich richtig denke müsste ja der String "beispiel" im obigen Programm mindestens 2x enthalten sein.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; 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 |
Re: AnsiPos Hilfe
Zitat:
Strings sind keine "Array of Byte". Sondern Strings. Und wenn man sie missbraucht, dann rächt sich das irgendwann, insbesondere wenn sie konvertiert werden, was der Compiler über Compiler Magic macht, und man es somit nicht mitbekommt. |
Re: AnsiPos Hilfe
Naja, das ist bisher der einzige Weg der zumindest zu 50% funktioniert...
Wie könnte ich mein vorhaben den sonst realisieren? Ich probier da schon so lang rum, langsam verliere ich die Lust. |
Re: AnsiPos Hilfe
Was willst du den mit der Abfrage bewirken?
|
Re: AnsiPos Hilfe
Ich will einfach nur den angehängten String auslesen.
Ich hätte einfach vor den Daten einen Art Hinweisstring wie MYDATA hinterlassen, den dann gesucht und alles aus dem String geschnitten bis MYDATAEND. Nur leider klappt das auslesen nicht^^ Insgesamt will ich einfach nur Daten in einer exe speichern, die sie selbst später wieder auslesen kann. |
Re: AnsiPos Hilfe
Warum schreibst du diese dann nicht in eine (Text-)Ressource?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz