![]() |
ParamStr(1) Pfad mit Leerzeichen funktioniert nicht???????
Hallo zusammen
Ich übergebe meinem Programm über die Funktion ParamStr(1) den Pfad einer Datei. Das funktioniert eigetlich einwandfrei, nur wenn der Pfad einen Lehrschlag enthält erhalte ich den Restpfad nicht mehr? z.B. D:\Logging\2004\Power Toys\Layoutversion so erhalte ich in meiner Applikation nur folgendes: D:\Logging\2004\Power an was kann das liegen? wie kann ich das beheben? Danke schon im Voraus viele Grüsse von ralph |
Re: ParamStr(1) Pfad mit Leerzeichen funktioniert nicht?????
Der Parameter muss dem Programm mit Anfuehrungszeichen uebergeben werden.
Das Leerzeichen ist nun mal der Trenner der Parameter. |
Re: ParamStr(1) Pfad mit Leerzeichen funktioniert nicht?????
Ganz einfach: Den Pfad in doppelte Hochkommas (") einschließen.
|
Re: ParamStr(1) Pfad mit Leerzeichen funktioniert nicht?????
Du musst die Parameter in doppelte Anführungszeichen einschließen ("Name der Datei")
|
Re: ParamStr(1) Pfad mit Leerzeichen funktioniert nicht?????
Klar, dass das passiert, das Leerzeichen dient ja zum Trennen von Argumenten.
Falls ein Parameter ein leerzeichen enthält, so muss dieser in doppelte Anführungszeichen eingeschlossen sein:
Code:
Anwendung "mein Parameter"
|
Re: ParamStr(1) Pfad mit Leerzeichen funktioniert nicht?????
So und nachdem nun dreimal die gleiche Antwort gekommen ist muss man natuerlich erklaeren wo das stattfindet.
Suche in der Registry die Zuordnung von Programm zu Extension. Dort steht so etwas wie MeinProgramm.exe %1 Das muss man in MeinProgramm "%1" aendern. |
Re: ParamStr(1) Pfad mit Leerzeichen funktioniert nicht?????
öhm....
das ist mir klar danke... nun habe ich aber folgendes Problem: ich übergebe den pfad einer Datei welche über ein Kontextmenü ausgewählt wird meiner applikation in meinem kontextmenühandler welcher meine applikation aufruft gebe ich als parameter mit... dieser hat allerdings den typ pchar. wie kann ich nun einen doppelten " mitgeben? hat mir dazu jemand eine idee? |
Re: ParamStr(1) Pfad mit Leerzeichen funktioniert nicht?????
hi,
zeig doch mal den code des kontextmenü-handlers. eigentlich sollte dort auch soetwas ähnliches wie in robert marquardts obigem post sein. dort solltest du einfach die " " mit einfügen können. Aenogym |
Re: ParamStr(1) Pfad mit Leerzeichen funktioniert nicht?????
Du kannst einfach einen String aus einem Paar doppelter Anführungszeichen und dem Dateinamen dazwischen zusammenbasteln, z.B. so:
Delphi-Quellcode:
... und schon hast Du einen Parameter in Anführungszeichen.
aPChar := PChar('"' + MeinDateiName + '"');
:coder: |
Re: ParamStr(1) Pfad mit Leerzeichen funktioniert nicht?????
super
danke es hat geklappt merci |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:47 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