AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Escapezeichen von Parametern

Ein Thema von xZise · begonnen am 30. Mär 2008 · letzter Beitrag vom 30. Mär 2008
Antwort Antwort
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

Escapezeichen von Parametern

  Alt 30. Mär 2008, 14:07
Hallo DP,
ich habe folgendes Problem:
Und zwar muss ich einen Registryeintrag erstellen. Dafür brauch ich Adminrechte.
Also kurz ein Programm geschrieben, welches das übernimmt.

Das Problem dabei ist nur: Ein Parameter beinhaltet die Anführungszeichen. Wie kann ich nun die Anführungszeichen der Parameter aber nicht wieder afulösen?

Also ich habe z.B. folgenden Parameterinhalt:
Zitat:
"C:\Users\xZise\Programs\MyProgram\MyProgram.e xe" %0
In diesen Falle sind die Anführungszeichen unnötig. Aber sobald man das unter XP macht hat man wieder zwei Leerzeichen:
Zitat:
"C:\Dokumente und Einstellungen\xZise\Programme\MyProgram\MyProgram. exe" %0
Jetzt muss ich aber als Parameter das schreiben:
Zitat:
""C:\Dokumente und Einstellungen\xZise\Programme\MyProgram\MyProgram. exe" %0"
Aber wie kann ich verhinden das er dann folgendes Interpretiert:
  • Parameter 1: Nichts ("")
  • Parameter 2: C:\Dokumente
  • Parameter 3: und
  • Parameter 4: Einstellungen\xZise\Programme\MyProgram\MyProgram. exe
  • Parameter 5: %0 (mit führenden Leerzeichen: " %0")

Nun eine Möglichkeit wäre das in die Parameter aufzuteilen. Aber das ist unnötige Arbeit, und mache ich erst, wenn es feststeht das es kein Escapezeichen dafür gibt.

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Escapezeichen von Parametern

  Alt 30. Mär 2008, 14:16
Wenn es dein eigenes Programm ist und du genau weißt, wer es aufruft, kannst du dir doch einfach den gesamten Aufruf geben lassen und den Dateinamen rausnehmen. Dann hast du automatisch alle Parameter in einem String stehen.

Was ist sonst mit \"?
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Escapezeichen von Parametern

  Alt 30. Mär 2008, 14:53
Hi Christopher,
der Backslash ist kein Escapezeichen.

Und was meinst du mit "den gesamten Aufruf geben lassen"?
Alle Parameter herausbekommen und dann den Dateinamen zusammenfrickeln?
Das wollte ich eigentlich umgehen, weil es nicht der einzige Parameter ist. Nebenbei habe ich noch 3 weitere.

Ich werde es dann wohl so machen müssen, dass ich den String in Dateiname und Parameter aufteilen lasse.
Wobei es dann nicht ganz so modular ist.

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  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 22:52 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