Fernsteuern von GEM-Applikationen mit GEMScript

Inhaltsverzeichnis Nachstarten eines GS-Interpreters

5 Standard-GS-Kommandos

Die Standard-Kommandos sind als Vorschläge zur Implementierung in Applikationen gedacht. Sie sind keinesfalls als verbindlich anzusehen, und falls sie implementiert werden, sind auch die Parameter nicht verbindlich. Nicht jedes Programm eignet sich für bestimmte Standard-Kommandos, oder aber es machen bestimmte Fähigkeiten eines Programmes eine abweichende Erweiterung eines Standard-Kommandos sinnvoll.

5.1 AppGetLongName

Kommando: AppGetLongName
Parameter: keine
Rückgabe: String

Liefert den "langen" Namen des Programmes zurück, da der Prozeß-Name, den man über das System ermittelt aus historischen Gründen meist nur 8 Zeichen lang ist. Dieser längere Name kann z.B. von Programmen verwendet werden, die alle laufenden Applikation anzeigen, wie z.B. MultiStrip oder AppLine. Als Rückgabe ist auch ein Leerstring erlaubt (nicht jedoch NULL). Damit wird angezeigt, daß der Prozeß in oben genannten Programmen nicht angezeigt werden will. Dies ist z.B. bei nebenläufigen Threads sinnvoll. In den langen Namen sollten keine Versions-Informationen oder ähnliches stehen, da das meist nicht der Übersichtlichkeit dient.

5.2 CheckCommand

Kommando: CheckCommand
Parameter: Kommando-Name
Rückgabe: "1" oder "0" (bzw. "" oder NULL)

Dieses Kommando liefert "1" zurück, wenn die Applikation das als Parameter übergebene Kommando unterstützt.

Eine Applikation die beispielsweise das Kommando "Open" kennt, das Kommando "Save" jedoch nicht, liefert bei "CheckCommand\0Open\0\0" den String "1\0\0" und bei "CheckCommand\0Save\0\0" den String "0\0\0" zurück.

Achtung: Statt "0" kann optional auch entweder ein Leerstring "" oder sogar ein Nullzeiger (NULL) zurückgeliefert werden!

5.3 Close

Kommando:  Close
Parameter: Datei (optional)
Rückgabe:  keine

Schließt das der Datei entsprechende Fenster. Wenn keine Datei übergeben wurde, wird das oberste Fenster geschlossen. Das Kommando darf auch so implementiert sein, daß mehrere Datei-Parameter auf einmal übergeben werden können.

5.4 Copy

Kommando:  Copy
Parameter: Datei (optional)
Rückgabe:  keine

Kopiert die Selektion der angegebenen Datei auf das Klemmbrett. Wenn keine Datei angegeben ist, wird die Selektion des obersten Fensters verwendet.

5.5 Cut

Kommando:  Cut
Parameter: Datei (optional)
Rückgabe:  keine

Schneidet die Selektion der angegebenen Datei aus und schreibt sie auf das Klemmbrett. Wenn keine Datei angegeben ist, wird die Selektion des obersten Fensters verwendet.

5.6 Delete

Kommando:  Delete
Parameter: Datei (optional)
Rückgabe:  keine

Schneidet die Selektion der angegebenen Datei aus. Wenn keine Datei angegeben ist, wird die Selektion des obersten Fensters verwendet.

5.7 GetAllCommands

Kommando: GetAllCommands
Parameter: keine
Rückgabe: Strings

Liefert alle Kommandos zurück, die die Applikation versteht. Hinter den Kommandos können - müssen aber nicht - Parameter spezifiziert werden.

Eine Applikation, die z.B. die Kommandos "Open" und "Close" versteht, könnte beispielsweise folgenden Ergebnis-String (C-Notation) liefern:

"Open\0Close\0\0".

Sie könnte aber auch das ganze genauer spezifizieren und folgendes liefern:

"Open [<file>]\0Close [<file>]\0\0".

Das Kommando dient mehr dazu, dem Script-Programmierer einen Überblick über verstandene Kommandos zu liefern, als automatisch ausgewertet zu werden.

Um automatisch festzustellen, ob ein bestimmtes Kommando vorhanden ist, sollte man besser CheckCommand benutzen.

5.8 GetFront

Kommando:  GetFront
Parameter: keine
Rückgabe:  Datei oder Datei+Pfad

Falls das oberste Fenster der Applikation einen Namen besitzt, mit dem es in den GS-Kommandos identifiziert werden kann, sollte dieser als Antwort auf dieses Kommando zurückgeliefert werden.

5.9 New

Kommando:  New
Parameter: keine
Rückgabe:  keine

Legt ein neues Dokument an.

5.10 Open

Kommando:  Open
Parameter: Datei+Pfad (optional)
Rückgabe:  keine

Öffnet die angegebene Datei. Wenn keine Datei übergeben wurde, sollte dem Benutzer die Dateiauswahlbox o.ä. angezeigt werden. Das Kommando darf auch so implementiert sein, daß mehrere Datei-Parameter auf einmal übergeben werden können.

5.11 Paste

Kommando:  Paste
Parameter: Datei (optional)
Rückgabe:  keine

Fügt den Inhalt des Klemmbretts in die Selektion der angebenenen Datei ein. Wenn keine Datei angegeben ist, wird die Selektion des obersten Fensters verwendet.

5.12 Print

Kommando:  Print
Parameter: Datei (optional)
Rückgabe:  keine

Druckt die angegebene Datei aus. Wenn keine Datei angegeben ist, wird das oberste Fenster ausgedruckt. Das Kommando darf auch so implementiert sein, daß mehrere Datei-Parameter auf einmal übergeben werden können.

5.13 Quit

Kommando:  Quit
Parameter: keine
Rückgabe:  keine

Beendet die Applikation.

5.14 Save

Kommando:  Save
Parameter: Datei (optional)
Rückgabe:  keine

Speichert die angegebene Datei. Wenn keine Datei übergeben wurde, wird das oberste Fenster gespeichert. Das Kommando darf auch so implementiert sein, daß mehrere Datei-Parameter auf einmal übergeben werden können.

5.15 SaveAs

Kommando:  SaveAs
Parameter: Datei, Datei (optional)
Rückgabe:  keine

Dieses Kommando hat mindestens einen, maximal zwei Parameter. Der erste bezeichnet den neuen Dateinamen, der zweite das zu speichernde Fenster. Wenn der zweite Parameter nicht angegeben ist, wird das oberste Fenster unter dem Dateinamen des ersten Parameters gespeichert.

5.16 SelectAll

Kommando:  SelectAll
Parameter: Datei (optional)
Rückgabe:  keine

Markiert die gesamte angegebene Datei. Wenn keine Datei angegeben ist, wird das Dokument im obersten Fenster selektiert.

5.17 ToFront

Kommando:  ToFront
Parameter: Datei
Rückgabe:  keine

Bringt das Fenster mit der angegebenen Datei nach vorne.

5.18 Undo

Kommando:  Undo
Parameter: Datei (optional)
Rückgabe:  keine

Macht die letzte Aktion in der angegebenen Datei rückgängig. Wenn keine Datei angegeben ist, wird die letzte Aktion im obersten Fenster rückgängig gemacht.


Inhaltsverzeichnis Nachstarten eines GS-Interpreters