Fernsteuern von GEM-Applikationen mit GEMScript

Inhaltsverzeichnis Weitere GS-Kommandos

7 Parameter

Mehrere Parameter sind durch ASCII #0 getrennt, und das Ende der Kommandozeile ist mit ASCII #0#0 gekennzeichnet (siehe GS_COMMAND).

Wichtig: Parameter, die mit einem der ASCII-Zeichen #1 bis einschließlich #6 anfangen, sind für spezielle Zwecke reserviert. Derzeit sind nur #1 (leerer Parameter) und #2 (Hex-Codierung) definiert. Parameter, die mit ASCII-Zeichen #3 bis #6 anfangen, müssen also derzeit ignoriert werden.

Beispiel:

"Kommando\0Parameter 1\0\3Dies wird derzeit ignoriert\0Parameter 2\0\0"

7.1 Leere Parameter

Durch die Nullbyte-Trennung der Parameter mußte für den Sonderfall "leerer Parameter" eine Ausnahme eingeführt werden:

Leere Parameter werden durch das ASCII-Zeichen #1 gekennzeichnet, z.B.

"Kommando\0Gleich folgt ein leerer Parameter\0\1\0Gemerkt?\0\0"

Alle Zeichen, die dem #1-Zeichen folgen (aber noch zum leeren Parameter gehören) sind zu ignorieren, z.B.

"Kommando\0Gleich leerer Parameter\0\1dies ignorieren\0Dies nicht\0\0"

7.2 Hex-codierte Parameter

Um die Übergabe beliebiger ASCII-Zeichen zu ermöglichen (man denke an die reservierten Zeichen #1 bis #6), existiert folgende Hex-Codierung:

Beginnt ein Parameter mit dem ASCII-Zeichen #2, so sind die folgenden Zeichen als Hex-Codierung aufzufassen, d.h. es folgen Paare von Hexadezimal-Ziffern (0 bis F), die jeweils ein Byte beschreiben.

Beispiel:

"Kommando\0\2""010248414C4C4F\0\0"

Der erste Parameter nach dem Kommando "Kommando" besteht vorne aus den beiden ASCII-Zeichen #1 und #2 (codiert als "0102") und anschließend dem Text "HALLO" (codiert als "48414C4C4F"). Der Parameter wird also als "\1\2HALLO" interpretiert.

Anmerkung: Nicht von dem beiden eingefügten Anführungszeichen stören lassen, damit wird in der Programmiersprache C vermieden, daß die "0" als zur "2" gehörig erkannt wird, und somit fäschlicherweise das ASCII-Zeichen #20 in den String eingefügt würde.

Die Behelfsziffern "A" bis "F" können sowohl groß, als auch klein geschrieben werden!

7.3 Datei

Der Datei-Parameter bezeichnet einen Dateinamen (mit oder ohne Pfadangabe). Da einzelne Kommandos durch ASCII #0 getrennt werden, erfolgt kein (!) Quoting.

GEMScript-fähige Applikationen stellen i.d.R. mit einem solchen Parameter fest, welches Fenster von einem Kommando betroffen ist. Wenn ein direkter Vergleich von Kommando-Dateinamen und dem Fenster zugewiesenen Dateinamen keinen Erfolg bringt, sollte die Applikation nach einer möglichst großen Übereinstimmung von Teilstrings suchen.

7.4 Datei+Pfad

Dieser Parameter bezeichnet einen Dateinamen mit absoluter Pfadangabe.

7.5 Script

Dieser Parameter bezeichnet eine Script-Datei (für das Exec-Kommando). Es handelt sich um eine Datei-Angabe, wobei die Endung der konkreten Script-Datei auch weggelassen werden kann. Falls die absolute Pfadangabe fehlt, muß er Interpreter in der Lage sein, die Datei zu finden (z.B. weil sie im Verzeichnis des Interpreters liegt).


Inhaltsverzeichnis Weitere GS-Kommandos