Anmerkung: Parameter, die mit (Pflichtparameter) gekennzeichnet sind, sind unbedingt anzugeben. Fehlen sie, verweigert der Installer die Ausführung des Scripts.
(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
![]() |
Inhaltsverzeichnis | ![]() |
| ©`98 Der AmZeiger | ||