Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Anführungszeichen in Parameter?


Tower - Mi 24.09.03 08:24
Titel: Anführungszeichen in Parameter?
Hallo!

Ich will von einem Programm ein anderes aufrufen (einfach per ShellExecute), und dabei verschiedene Parameter übergeben. Weil auch Leerzeichen enthalten sein können, umschließe ich die Parameter mit Anführungszeichen.
Nun kann es ab und zu aber auch sein, dass Anführungszeichen mit übergeben werden müssen... was die Parameterauswertung natürlich ziemlich durcheinander bringt.

Gibt es eine Möglichkeit, das Problem zu lösen?

(an den Quellcode des aufzurufenden Programms komme ich übrigens nicht ran!)


mb - Mi 24.09.03 10:05

Mach mal ein konkretes Beispiel...
Akzeptiert das aufzurufende Programm denn Anführungszeichen?

Eigentlich geht es genau so wie mit Delphi-Quotes auch: einfach doppelt setzen.

Beispiel: (ein Batch-Programm)

Quelltext
1:
2:
@echo off
echo %1

Dieses kleine, feine Programm gibt einfach den ersten Parameter aus. Sagen wir das Programm heißt hello:

Der Aufruf hello abc xyz würde nur abc ausgeben,

der Aufruf hello "abc xyz" würde abc xyz ausgeben

und der Aufruf hello "abc xyz""" würde abc xyz"" ausgeben.

Das ist es doch was Du willst, oder?

:idea: Hat eigentlich gar nix mit Delphi zu tun ;-)


Tower - Mi 24.09.03 10:57

Alles klar, das hat's gebracht!

Zitat:
Hat eigentlich gar nix mit Delphi zu tun


Ach, deshalb bin ich da auch nicht selbst drauf gekommen... :wink:


Danke!