b) kurz: format baut mit Hilfe einer Formatierungs Anweisung und X Argumenten einen String zusammen
* formatierungsanweisung: "~a/~a.pkg"
* 1. Argument verz
* 2. Argument teil-basenamedas 1. Argument wandert in das erste konstrukt was mit ~ anfängt, das 2. ins 2. usw.
Heraus kommt beispielsweise:
--> c:/temp/cube42.pkg
nun koennte es aber sein das dein Verzeichnisname ein Blank enthält (das ist *immer* hässlich).. und mit
--> c:/Documente and Settings/Temporary files/cube42.pkg
würde das Dateisystem die Grätsche machen.. ok, nicht ganz.
Als Dateiname bräuchtest Du
--> "c:/Documente and Settings/Temporary files/cube42.pkg"
und das als LISP string im code (!) wuerde so aussehen
--> "\"c:/Documente and Settings/Temporary files/cube42.pkg\""
Beachte: die beiden \" sind BESTANDTEIL des strings.. da aber strings mit " umschlossen werden braucht es eine besondere Schreibweise: deswegen der \ davor. (Man spricht vom 'escapen eines char' : man hebt die Sonderbedeutung des Zeichen (hier anfang/ende eines Strings) auf und damit kann das Zeichen bestandteil des String werden.
Ufff... ;)
somit landen wir bei:
Code:
(format nil "\"~a/~a.pkg\"" verz (sd-inq-obj-basename teil)))
Bist Du bis zum Ende mit gesprungen?
Du hast da übrigens zwei Slashes zwischen verz und teilename gehabt. Das bring nix. GGF mal noch der Integration kit funktion sd-convert-filename-to-platform gucken. Die kuemmert sich um / \ . Aber die meisten OSD file operation funktionieren mit / ganz gut.
Wolfgang (mal wieder mit EDV-technischen-Smilie-Problem :-/
------------------
Korrekt gelesen ist 'verz' natuerlich das 3. Argument fuer format.. aber ich habs mal etwas vereinfacht.
------------------
● Seamonkey Firefox Thunderbird ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ●
[Diese Nachricht wurde von der_Wolfgang am 14. Jun. 2010 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP