Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Anführungszeichen in ParamStr (https://www.delphipraxis.net/143310-anfuehrungszeichen-paramstr.html)

Hedge 13. Nov 2009 08:19


Anführungszeichen in ParamStr
 
Ich erzeuge eine Jumplist.
Wenn im Parameterblock der Items Anführungszeichen vorkommen dann gibt das ständig Ärger:

Ich hülle den ganzen Parameter-Block in Anführungszeichen, damit er nicht bei Leerzeichen abgetrennt wird.

z.B. gibts dann:

"-no-remote -P Web Entwicklung"

Da in Web Entwicklung ein Leerzeichen enthalten ist muss ich es ebenn in Anführungszeichen setzen:

"-no-remote -P "Web Entwicklung""

Wenn ich den Jumplist-Eintrag anklicke und den ParamStr(1) auslese dann schneidet er wegen der doppelten Anführungszeichen ab.
Das sieht dann so aus:

-no-remote -P Web

Was kann ich dagegen unternehmen?

himitsu 13. Nov 2009 08:23

Re: Anführungszeichen in ParamStr
 
Tja, dieses Zeichen ist einfach nicht in den Parametern erlaubt :zwinker:

Einziger Weg: du mußt dir dieses Zeichen irgendwie Codieren und nach dem Auslesen auch wieder decodieren.


Oder du mußt den Parameterblock selber auslesen/zerlegen.
MSDN-Library durchsuchenGetCommandLine


PS: Oder laß deine " weg und setze die Einzelparameter denn wieder zu einem String zusammen.

Hedge 13. Nov 2009 08:54

Re: Anführungszeichen in ParamStr
 
Na sowas :)

Delphi-Quellcode:
parameters:=StringReplace(parameters, '''', '"',[rfReplaceAll, rfIgnoreCase]);
scheint es zu tun :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:53 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