D7WS HOMEPAGE WORKSHOP NEUE XTRAS GALERIE WORKSHOP Automatic Translation LESERSERVICE BUCH NEWS

HowTo: Parameterübergabe mit "the commandline"

 

 

 

Home
Workshop-Seite

In früheren Director-Versionen war es nur durch die Verwendung eines Xtras wie z.B. BudApi (http://www.mods.com.au/budapi/) möglich, einem Windows-Projektor beim Start Parameter in der Kommandozeile zu übergeben. Director 7.0.2 bietet hier mit der undokumentierten Property the commandline einen einfacheren Weg. Wurde der Projektor mit einem oder mehreren, durch Leerzeichen getrennten Parametern aufgerufen, ist diese Information in the commandline enthalten, andernfalls enthält die Property eine leere Zeichenkette. Da der Aufruf von Windows-Programmen über die Kommandozeile, etwa im Dialog des Befehls "Ausführen" im Startmenü, nicht sonderlich komfortabel ist und sicher eher die Ausnahme darstellt, lohnt ein Blick auf die von the commandline ermöglichten Alternativen.




 

 

 

 

Drag and Drop
Unter Windows unterstützen Projektoren – anders als unter MacOS* – das Drag and Drop.
Um einem Projektor eine oder mehrere Dateinamen als Kommandozeilenparameter zu übergeben, ziehen Sie also einfach die Icons der Dateien auf das Icon des Projektors.
Der Projektor wird daraufhin gestartet und kann via the commandline auf die übergebenen Daten zugreifen. Mehrere Dateien werden durch ein Leerzeichen voneinander getrennt. Da Pfadangaben hier in der von DOS bekannten Kurzform verwendet werden (aus "c:\Eigene Dateien\ein test.txt" wird z.B. "c:\EIGENE~1\EINTES~1.TXT"), stellt dies kein Problem dar: definieren Sie das Leerzeichen als itemDelimiter, um gezielt auf einzelne Parameter zugreifen zu können.

(* Obwohl sich am Mac Dateien mit gleichem Creator-Code auf das Icon des Projektors ziehen lassen und der Projektor gestartet wird, enthält the commandLine hier immer eine leere Zeichenkette. Zum Glück gibt es jedoch PiMZs OpenDocsXtra )

 

Verknüpfung

Dieser Weg ist beispielsweise dann sinnvoll, wenn die Verknüpfung entweder von einem Installer generiert wird oder sich die verwendeten Parameter nicht allzu häufig ändern. Wenn Sie den oder die Parameter manuell in das Feld "Ziel" des Dialogs "Eigenschaften/Verknüpfung" eingeben, muß der Pfad zum Projektor – sofern es sich um einen "langen" Windows 95-Pfad handelt – in Anführungszeichen gesetzt werden. Andernfalls weist Windows den Pfad als ungültig zurück. Der oder die Parameter werden hier auch durch Leerzeichen getrennt angegeben.




 

 

 

 

Registrierung des Projektors

Um beim Doppelklick auf Dateien mit einer bestimmten Erweiterung (Extension) automatisch einen Projektor zu starten und diesem den Namen der angeklickten Datei(en) als Parameter zu übergeben, muß der Projektor und die entsprechende Dateierweiterung in die Windows-Registry eingetragen werden. Dies können Sie z.B. erreichen, indem Sie eine neue, bislang nicht verwendete Extension vergeben und die so umbenannte Datei per Doppelklick öffnen.
Windows findet dann kein assoziiertes Programm und bietet im Dialog "Öffnen mit" über den Button "Andere..." die Möglichkeit zum Registrieren des Projektors.
Eine so erfolgte Registrierung können Sie übrigens wieder entfernen, indem Sie in einem beliebigen Explorerfenster den Befehl "Ordneroptionen" im Menü "Ansicht" wählen und auf "Dateitypen" klicken. In diesem Dialog lassen sich auch neue Erweiterungen hinzufügen.
Dieser Weg ist selbstverständlich nicht für Consumertitel praktikabel; hier muß die Registrierung während der Installation bzw. beim ersten Start der Anwendung im Hintergrund erfolgen.
Mit Hilfe des Xtras BudApi ist die Registrierung einer Projektorpfad- / Dateierweiterungs-Paarung in Lingo kein Problem:

on regExt extension, program, fileType, comment
  --
  -- requires BudAPI (http://www.mods.com.au/)
  --
  if the paramcount <> 4 then
    alert "usage: regExt , , , "
    exit
  end if
  if length(extension) <= 3 then
    extension = "." & extension
  end if
  shortName = baShortFileName(program)
  --
  baWriteRegString(extension, "", FileType, "HKEY_CLASSES_ROOT")
  --
  baWriteRegString(fileType & "\Shell\Open\Command", "", ¬
shortName & QUOTE & "%1" & QUOTE, "HKEY_CLASSES_ROOT")

  baWriteRegString(fileType, "", comment, "HKEY_CLASSES_ROOT")
end

Nach erfolgreicher Registrierung bewirkt ein Doppelklick auf alle mit der registrierten Erweiterung versehenen Dateien den Start des Projektors. Der Pfad und Dateiname der angeklickten Datei wird dem Projektor über the commandline übergeben. Was der Projektor mit dieser Info anfängt, hängt allein von Ihrem Skripting ab...

Gerd Gillmaier




 


Directorworkshop.de ist © Joachim Gola & Gerd Gillmaier 1998-2002. Alle Rechte vorbehalten.