Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Registry-Pfad zum Teil auslesen (https://www.delphipraxis.net/499-registry-pfad-zum-teil-auslesen.html)

Daniel B 31. Jul 2002 22:13


Registry-Pfad zum Teil auslesen
 
Hi,

ich hbae aus der Reg folgenden Wert:
C:\WINDOWS\unin0407.exe -fC:\Programme\Muet\DigiRail\DeIsL1.isu -cC:\Programme\Muet\DigiRail\_ISREG32.DLL //Das Bold ist logischerweise von mir.

Nun möchte ich nur den Fettgedruckten Teil haben. Nach C:\ im Pfad kann ich ja nciht suchen, da ich ja am Anfang schon auf die Nase fallen würde.
Ich brauche im Prinzip den Pfad einer Anwendung. Nach estimmen Kriterien, komme ich eben auf diesen Schlüssel. Ich brauche also den Fettgedruckten teil um ihn dann nur noch um meineexe.exe zu ergänzen um das Programm dann mit ShellExecute zu Starten.
Vielen Dank.

Christian Seehase 31. Jul 2002 22:26

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:
  1. Als Pfad, der, wie in Deinem Beispiel, nur Dateinamne ohne Blank enthält
  2. 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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz