Moin Daniel B,
ich hoffe ich verstehe Dich richtig:
Der erste Teil (bis zum -f...) ist ja der komplette Pfad eines Programmes.
Der kann nun auf zwei Arten vorliegen:
- Als Pfad, der, wie in Deinem Beispiel, nur Dateinamne ohne Blank enthält
- Als Pfad, der auch Blanks enthält
Angenommen, Du hast den Wert aus der Registry in die Variable sResult eingelesen.
Dann kannst Du alles bis zum Auftreten des ersten Blanks (incl.) in sResult löschen.
Code:
Delete(sResult,1,pos(' ',sResult));
Übrig bliebe -f...
Im zweiten Falle wäre der Pfad in " eingeschlossen. Hier wird es minimal aufwändiger. Erst mal das erste Zeichen (also ein ") löschen, dann wie vorher, nur dass jetzt nicht nach Blank sondern nach " zu suchen ist.
Und schon ist der Anfang weg, der Dich stört.
Da es sich bei dem von Dir gesuchten Teil auch um einen Pfad handelt wäre es wahrscheinlich nicht verkehrt diesen auf die gleiche Weise zu extrahieren (nachdem das -f weg ist), und anschliessend nur noch den Dateinamen abzuschneiden.