Übersicht über die Befehle des zweiten Kursteils

von
André Wyrwa

Anmerkung: Parameter, die mit (Pflichtparameter) gekennzeichnet sind, sind unbedingt anzugeben. Fehlen sie, verweigert der Installer die Ausführung des Scripts.

allgemeines, Control-Statements

(SET )

 Schablone:   (set <variable> <inhalt> [<variable> <inhalt> ...])

 Funktion:  Das (SET )-Statement weist der Variablen <variable> den Wert
                     <inhalt> zu. Existiert die Variable noch nicht, so wird sie
                     erstellt (deklariert). Es können auch mehrere Variablen
                     durch ein (SET )-Statements auf einmal belegt werden.

 Rückgabe:  (SET ) liefert den zuvor enthaltenen Inhalt der Variablen.

 Bemerkung: Das (SET )-Statement kann auch dazu benutzt werden, Variablen
            vom Typ STRING in solche vom Typ INTEGER zu wandeln:

            (set <integer-var> (+ <string-var>))

            Um diese Konvertierung umgekehrt auszuführen, benutzt man (CAT ).

(IF )

 Schablone:   (if <Bedingung> <wahr-Anweisung> <falsch-Anweisung>)

 Funktion:  (IF ) überprüft die Bedingung auf ihren Wahrheitswert
            und führt entsprechend des Ergebnisses entweder die
            wahr-Anweisung oder die falsch-Anweisung aus.

 Bemerkung: Natürlich können dies auch Anweisungsblöcke sein.

 Beispiel:  (if (= #i 1) (message "#i ist 1") (message "#i ist nicht 1"))

(SELECT )

 Schablone:   (select <n> <Anweisung 0> <Anweisung 1> ...)

 Funktion:  (SELECT ) führt nur die n-te Anweisung aus.

 Beispiel:  (select #auswahl
             (message "#auswahl war 0")
             (message "#auswahl war 1")
             (message "#auswahl war 2")
             ...
            )

(WHILE )

 Schablone:   (while <Bedingung> <Anweisung> ...)

 Funktion:  Die Anweisung wird in einer Schleife immer wieder ausgeführt,
            solange die <Bedingung> wahr ist.

 Bemerkung: Es kann natürlich ein ganzer Anweisungsblock für <Anweisung>
            eingesetzt werden.

 Beispiel:  (while (< #i 10)
             (
              (message "Die Schleife wird zum " #i "-ten Mal durchlaufen.")
              (set #i (+ #i 1))
             )
            )

(UNTIL )

 Schablone:   (until <Bedingung> <Anweisung> ...)

 Funktion:  Die Anweisung wird in einer Schleife solange immer wieder
            ausgeführt, bis die Bedingung wahr wird.

 Beispiel:  (until (= #i 10)
             (
              (message "Die Schleife wird zum " #i "-ten Mal durchlaufen.")
              (set #i (+ #i 1))
             )
            )


Kommunikation mit dem User

(MESSAGE ) Schablone: (message <string> [<string> ... <parameter>]) Funktion: Ausgabe von Strings. Parameter: (all) - Normalerweise wird die Ausführung von (MESSAGE ) im NOVICE-Modus unterdrückt. Mit diesem Parameter kann dies verhindert werden. Beispiel: (message "Diesen Text sehen alle User." (all)) (ASKDIR ) Schablone: (askdir <parameter>) Funktion: Der User wird mittels eines Requesters nach einem Verzeichnis gefragt. Er hat dabei auch die Möglichkeit, neue Verzeichnisse anzulegen. Parameter: (prompt <Text>) - Spezifiziert den einleitenden <Text> zu dieser Funktion, der dem User sagen soll, was der Installer von ihm möchte. (Pflichtparameter) (help <Hilfstext>) - Definiert den <Hilfstext> zu der Funktion. (Pflichtparameter) (default <Pfad>) - Dient zur Angabe eines Vorgabe-Verzeichnisses, welches dann im Auswahl-Requester eingestellt ist, wenn dieser dem User präsentiert wird. (newpath) - Erlaubt die Angabe von Pfaden, die (noch) nicht existieren. (disk) - Bei Angabe dieses Parameters wird dem User bei Erscheinen der (ASKDIR )-Seite die Laufwerksliste präsentiert. (assigns) - Sofern angegeben, akzeptiert (ASKDIR ) auch die Angabe von Assigns. Beispiel: (askdir (prompt "Wohin soll xyz installiert werden?") (help @askdir-help) (default "SYS:") ) (ASKFILE ) Schablone: (askfile <parameter>) Funktion: Fragt den User nach einer Datei, wobei ein Requester zur Verfügung gestellt wird. Parameter: (prompt <Text>) - Spezifiziert den einleitenden <Text> zu dieser Funktion, der dem User sagen soll, was der Installer von ihm möchte. (Pflichtparameter) (help <Hilfstext>) - Definiert den <Hilfstext> zu der Funktion. (Pflichtparameter) (default <Pfad>) - Dient zur Angabe eines Vorgabe-Pfades, welcher dann im Auswahl-Requester eingestellt ist, wenn dieser dem User präsentiert wird. Es kann ein Verzeichnis- oder ein Dateipfad angegeben werden. (newpath) - Erlaubt die Angabe von Pfaden, die (noch) nicht existieren. (disk) - Bei Angabe dieses Parameters wird dem User bei Erscheinen der (ASKFILE )-Seite die Laufwerksliste präsentiert. Beispiel: (askfile (prompt "Wo und unter welchem Namen soll das Protokoll " "angelegt werden?") (help @askfile-help) (default "S:") (newpath) ) (ASKSTRING ) Schablone: (askstring <parameter>) Funktion: Präsentiert dem User ein Stringeingabefeld. Parameter: (prompt <Text>) - Spezifiziert den einleitenden <Text> zu dieser Funktion, der dem User sagen soll, was der Installer von ihm möchte. (Pflichtparameter) (help <Hilfstext>) - Definiert den <Hilfstext> zu der Funktion. (Pflichtparameter) (default <String>) - Dient zur Angabe eines Vorgabe-Strings, der bei Ausführung der Funktion in dem String-Eingabe-Feld steht und vom User bearbeitet werden kann. Beispiel: (askstring (prompt "Bitte geben Sie Ihren Namen ein.") (help @askstring-help) (default "Vorname Nachname") ) (ASKNUMBER ) Schablone: (asknumber <parameter>) Funktion: Fordert den User auf, eine Integer-Zahl einzugeben. Dabei kann ein zulässiges Intervall angegeben werden, das dem User angezeigt wird und innerhalb dessen seine Eingabe liegen muß. Wird kein Intervall angegeben, so sind alle positiven Zahlen zulässig. Wird allerdings ein negativer Default-Wert angegeben, so wird das Intervall entsprechend bis zu diesem Wert ausgedehnt. Parameter: (prompt <Text>) - Spezifiziert den einleitenden <Text> zu dieser Funktion, der dem User sagen soll, was der Installer von ihm möchte. (Pflichtparameter) (help <Hilfstext>) - Definiert den <Hilfstext> zu der Funktion. (Pflichtparameter) (range <Minimum> <Maximum>) - Definiert den gültigen Eingabebereich. (default <Vorgabe>) - Ein Vorgabe-Wert kann angegeben werden. Beispiel: (asknumber (prompt "Welches Unit des serial.device soll verwendet werden?") (help @asknumber-help) (range 0 9) (default 0) ) (ASKCHOICE ) Schablone: (askchoice <parameter>) Funktion: Stellt den User vor die Auswahl eines von bis zu 32 Punkten, die über Radio-Buttons vorgenommen wird. Das Ergebnis wird in Form der Nummer des gewählten Eintrags zurückgegeben, wobei dem ersten Eintrag der Wert 0 zugewiesen ist. Parameter: (prompt <Text>) - Spezifiziert den einleitenden <Text> zu dieser Funktion, der dem User sagen soll, was der Installer von ihm möchte. (Pflichtparameter) (help <Hilfstext>) - Definiert den <Hilfstext> zu der Funktion. (Pflichtparameter) (choices <Eintrag 0> <Eintrag 1> ...) - Hier werden die Auswahlpunkte angegeben. (Pflichtparameter) (default <Vorgabe>) - Es kann eine Wahl voreingestellt werden. <Vorgabe> muß hier die Nummer des Eintrags (beginnend mit 0) sein. Bemerkung: Seit der Version 42.6 des Installers werden als Choices angegebene leere Strings nicht mehr angezeigt. Dieses Feature ist sehr praktisch, um die Auswahllisten flexibel zu gestalten. Ältere Versionen des Installers stellten alle Displays mit Non-Proportional-Fonts dar. Da einige Nutzer diese Darstellungsweise bei Auswahllisten auch weiterhin benötigen, werden solche Listen auch weiterhin non-proportional dargestellt. Durch das Einfügen der Escape-Sequence `"<ESC>[2p"' läßt sich dies allerdings ändern. Beispiel: (askchoice (prompt "Welchen Rechnertyp besitzen Sie?") (help @askchoice-help) (choices "A500" "A600" "A1200" "A2000" "A3000" "A4000") (default 2) ) (ASKOPTIONS ) Schablone: (askoptions <parameter>) Funktion: Der User kann aus einer Liste von bis zu 32 Punkten, die mit Checkmark-Gadgets versehen ist, eine Auswahl treffen. Die Wahl wird dabei in Form einer Bitmaske zurückgegeben, wobei das (von rechts) erste Bit den ersten Eintrag repräsentiert. Parameter: (prompt <Text>) - Spezifiziert den einleitenden <Text> zu dieser Funktion, der dem User sagen soll, was der Installer von ihm möchte. (Pflichtparameter) (help <Hilfstext>) - Definiert den <Hilfstext> zu der Funktion. (Pflichtparameter) (choices <Eintrag 0> <Eintrag 1> ...) - Definition der Auswahl-Punkte. (Pflichtparameter) (default <Vorgabe>) - Es kann eine Auswahl voreingestellt werden. <Vorgabe> muß hier eine Bitmaske sein, die aber nicht unbedingt in binärer Form angegeben werden muß. (siehe Bemerkung) Bemerkung: Zur Auswertung des Ergebnisses: - Das Ergebnis ist eine Bitmaske und kann also z.B. die Form %0010011 haben. Hier hätte die Liste 7 Choices gehabt und der User hätte den ersten, zweiten und fünften angekreuzt. Gemäß der Umrechnung in Dezimalzahlen ist dieses Ergebnis identisch mit dem Wert 2^0 + 2^1 + 2^4 = 1 + 2 + 16 = 19. - Eine recht komfortable Möglichkeit der Auswertung, bei der man sich nicht mit den Bitmasken selbst befassen muß, bietet die Funktion (IN ). Seit der Version 42.6 des Installers werden als Choices angegebene leere Strings nicht mehr angezeigt. Dieses Feature ist sehr praktisch, um die Auswahllisten flexibel zu gestalten. Ältere Versionen des Installers stellten alle Displays mit Non-Proportional-Fonts dar. Da einige Nutzer diese Darstellungsweise bei Auswahllisten auch weiterhin benötigen, werden solche Listen auch weiterhin non-proportional dargestellt. Durch das Einfügen der Escape-Sequence `"<ESC>[2p"' läßt sich dies allerdings ändern. Beispiel: (askoptions (prompt "Über welche Periferie-Geräte verfügen Sie?") (help @askoptions-help) (choices "Drucker" "Scanner" "Modem" "CD-Rom") (default %1101) ; = Drucker, Modem und CD-Rom ) (ASKBOOL ) Schablone: (askbool <parameter>) Funktion: Der User hat die Wahl zwischen zwei Möglichkeiten, die "Ja" und "Nein" sind, falls dies nicht durch den Choice-Parameter geändert wird. Das Ergebnis ist 1 bei Anwahl von "Ja" und 0 bei "Nein". Parameter: (prompt <Text>) - Spezifiziert den einleitenden <Text> zu dieser Funktion, der dem User sagen soll, was der Installer von ihm möchte. (Pflichtparameter) (help <Hilfstext>) - Definiert den <Hilfstext> zu der Funktion. (Pflichtparameter) (choices <Ja-Ersatz> <Nein-Ersatz>) - Hiermit können alternative Strings für Ja- und Nein-Button definiert werden. (default <Vorgabe>) - Es kann eine Voreinstellung (0 oder 1) angegeben werden. (Sie spielt im NOVICE-Modus eine Rolle.) Bemerkung: Der Installer ordnet den Wahrheitswerten die Werte 0 und 1 zu. 0 steht dabei für FALSE und 1 für TRUE. Beispiel: (askbool (prompt "Soll die User-Startup angepaßt werden?") (help @askbool-help) (default 1) ) (ASKDISK ) Schablone: (askdisk <parameter>) Funktion: (ASKDISK ) stellt eine benutzerfreundliche Möglichkeit dar, um das Einlegen eines Datenträgers zu bitten. Die Funktion wird solange nicht beendet, bis der User den Datenträger eingelegt hat oder aber den Abbruch-Button betätigt. Parameter: (prompt <Text>) - Spezifiziert den einleitenden <Text> zu dieser Funktion, der dem User sagen soll, was der Installer von ihm möchte. (Pflichtparameter) (help <Hilfstext>) - Definiert den <Hilfstext> zu der Funktion. (Pflichtparameter) (dest <Datenträgername>) - Dient hier zur Angabe des Namens des einzulegenden Datenträgers. (Pflichtparameter) (newname <Label>) - Mit diesem Parameter läßt sich hier dem eingelegten Datenträger das Assign <Label>: zuweisen. (disk) - Bei Angabe dieses Parameters wird dem User bei Erscheinen der (ASKDISK )-Seite die Laufwerksliste präsentiert. (assigns) - Sofern angegeben, akzeptiert (ASKDISK ) auch Assigns. Bemerkung: <Datenträgername> und <Label> sind ohne `:' anzugeben. Beispiel: (askdisk (prompt "Bitte den Datenträger \"xyz\" einlegen.") (help @askdisk-help) (dest "xyz") )

Funktionen zur Bitmanipulation

(IN ) Schablone: (in <Wert> <Bit-Nummer 1> ...) Funktion: Überprüft, ob das <Bit-Nummer x>-te Bit in <Wert> gesetzt ist und übergibt eine Bitmaske der Bits, bei denen dieser Test positiv ausfiel. Stimmt kein Bit überein, wird also 0 zurück- gegeben. Bemerkung: Mit Hilfe dieser Funktion läßt sich zum Beispiel das Ergebnis von (ASKCHOICE ) komfortabel auswerten. Beispiel: #wahl enthalte das Ergebnis von (ASKCHOICE ) (if (in #wahl 0) (message "Option 0 wahr angekreuzt.")) (if (in #wahl 1) (message "Option 1 wahr angekreuzt.")) (if (in #wahl 2) (message "Option 2 wahr angekreuzt.")) ...

logische Funktionen

(AND ) Schablone: (and <Bedingung 1> <Bedingung 2>) Funktion: Logisches UND zwischen <Bedingung 1> und <Bedingung 2>. Bemerkung: Der Installer ordnet den Wahrheitswerten die Werte 0 und 1 zu. 0 steht dabei für FALSE und 1 für TRUE. Dabei gelten allerdings alle Werte ungleich 0 als TRUE. Beispiel: (and (= #i #y) (- #i 1)) ; liefert 1 für #i = #y und #i > 1. (OR ) Schablone: (or <Bedingung 1> <Bedingung 2>) Funktion: Logisches ODER zwischen <Bedingung 1> und <Bedingung 2>. Bemerkung: Der Installer ordnet den Wahrheitswerten die Werte 0 und 1 zu. 0 steht dabei für FALSE und 1 für TRUE. Dabei gelten allerdings alle Werte ungleich 0 als TRUE. Beispiel: (or (= #i #y) (< #i 9)) ; liefert 1 für #i = #y oder #i < 9. (XOR ) Schablone: (xor <Bedingung 1> <Bedingung 2>) Funktion: Logisches ausschließendes ODER zwischen <Bedingung 1> und <Bedingung 2>. Bemerkung: Der Installer ordnet den Wahrheitswerten die Werte 0 und 1 zu. 0 steht dabei für FALSE und 1 für TRUE. Dabei gelten allerdings alle Werte ungleich 0 als TRUE. Beispiel: (xor (= #i #y) (< #i 9)) ; liefert 1 für #i = #y, sofern #i >8 ; und für #i <> #y, sofern #i < 9. (NOT ) Schablone: (not <Bedingung>) Funktion: Logische Negation von <Bedingung>. Bemerkung: Der Installer ordnet den Wahrheitswerten die Werte 0 und 1 zu. 0 steht dabei für FALSE und 1 für TRUE. Dabei gelten allerdings alle Werte ungleich 0 als TRUE. Beispiel: (not (= #i #y)) ; liefert 1 für #i <> #y und 0 für #i = #y.

mathematische Funktionen

(+ ) Schablone: (+ <Wert 1> [<Wert 2> ...]) Funktion: Bildet die Summe der Werte. Bemerkung: Bei Angabe nur eines Wertes wird 0 addiert. Dies kann zur Konvertierung von STRING zu INTEGER verwendet werden, siehe dazu (SET ). Beispiel: (+ 1 8 6 5) (- ) Schablone: (- <Wert 1> <Wert 2>) Funktion: Bildet die Differenz von Wert 1 und 2, wobei Wert 2 von Wert 1 subtrahiert wird. Beispiel: (- 7 5) (* ) Schablone: (* <Wert 1> [<Wert 2> ...]) Funktion: Bildet das Produkt der Werte. Beispiel: (* 2 6 4) (/ ) Schablone: (* <Wert 1> <Wert 2>) Funktion: Bildet den Quotienten der Werte, wobei der erste durch den zweiten dividiert wird. Es handelt sich um eine Division mit Rest. Bemerkung: Der Rest kann ermittelt werden, indem das Ergebnis mit dem Divisor multipliziert wird und dieses Produkt von Wert 1 subtrahiert wird. Beispiel: (set #Ergebnis (/ 9 4)) ; = 2 (set #Rest (- 9 (* 4 #Ergebnis))) ; = 1


Prev Inhaltsverzeichnis Next
©`98 Der AmZeiger