AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi ParamStr(1) Pfad mit Leerzeichen funktioniert nicht???????
Thema durchsuchen
Ansicht
Themen-Optionen

ParamStr(1) Pfad mit Leerzeichen funktioniert nicht???????

Ein Thema von ralph · begonnen am 3. Jan 2005 · letzter Beitrag vom 3. Jan 2005
Antwort Antwort
ralph

Registriert seit: 13. Okt 2004
18 Beiträge
 
#1

ParamStr(1) Pfad mit Leerzeichen funktioniert nicht???????

  Alt 3. Jan 2005, 13:40
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
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#2

Re: ParamStr(1) Pfad mit Leerzeichen funktioniert nicht?????

  Alt 3. Jan 2005, 13:42
Der Parameter muss dem Programm mit Anfuehrungszeichen uebergeben werden.
Das Leerzeichen ist nun mal der Trenner der Parameter.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#3

Re: ParamStr(1) Pfad mit Leerzeichen funktioniert nicht?????

  Alt 3. Jan 2005, 13:43
Ganz einfach: Den Pfad in doppelte Hochkommas (") einschließen.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: ParamStr(1) Pfad mit Leerzeichen funktioniert nicht?????

  Alt 3. Jan 2005, 13:43
Du musst die Parameter in doppelte Anführungszeichen einschließen ("Name der Datei")
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: ParamStr(1) Pfad mit Leerzeichen funktioniert nicht?????

  Alt 3. Jan 2005, 13:43
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"
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#6

Re: ParamStr(1) Pfad mit Leerzeichen funktioniert nicht?????

  Alt 3. Jan 2005, 13:55
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.
  Mit Zitat antworten Zitat
ralph

Registriert seit: 13. Okt 2004
18 Beiträge
 
#7

Re: ParamStr(1) Pfad mit Leerzeichen funktioniert nicht?????

  Alt 3. Jan 2005, 14:01
ö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?
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: ParamStr(1) Pfad mit Leerzeichen funktioniert nicht?????

  Alt 3. Jan 2005, 14:06
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
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Alfons_G

Registriert seit: 7. Jun 2002
Ort: München
296 Beiträge
 
Delphi 2007 Architect
 
#9

Re: ParamStr(1) Pfad mit Leerzeichen funktioniert nicht?????

  Alt 3. Jan 2005, 14:06
Du kannst einfach einen String aus einem Paar doppelter Anführungszeichen und dem Dateinamen dazwischen zusammenbasteln, z.B. so:aPChar := PChar('"' + MeinDateiName + '"'); ... und schon hast Du einen Parameter in Anführungszeichen.

Alfons Grünewald



Alfons Grünewald
  Mit Zitat antworten Zitat
ralph

Registriert seit: 13. Okt 2004
18 Beiträge
 
#10

Re: ParamStr(1) Pfad mit Leerzeichen funktioniert nicht?????

  Alt 3. Jan 2005, 16:13
super

danke es hat geklappt

merci
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:26 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