Übersicht über die Befehle des dritten Kursteils
Anmerkung: Parameter, die mit (Pflichtparameter) gekennzeichnet sind, sind
unbedingt anzugeben. Fehlen sie, verweigert der Installer die
Ausführung des Scripts.
allgemeines
(CAT )
Schablone: (cat <String> [<String> ...])
Funktion: Verknüpft alle angegebenen Strings miteinander.
Bemerkung: (CAT ) kann auch dazu benutzt werden, um INTEGER-Variablen
in solche vom Typ STRING zu wandeln:
(set <string-var> (cat <integer-var))
Darüber hinaus kann (CAT ) verwendet werden, um einer
Prozedur einen Rückgabewert zuzuordnen, so daß diese wie
eine Funktion behandelt werden kann.
Ich gehe darauf genauer in einem der noch folgenden
Kursteile ein.
Beispiel: (cat "Am" "Zeiger") ;liefert "AmZeiger"
Dateimanipulation
(MAKEDIR )
Schablone: (makedir <Pfad+Name> <Parameter>)
Funktion: Erzeugen eines neuen Verzeichnisses mit dem angegebenen
Namen.
Parameter: (prompt <Text>) - Spezifiziert den einleitenden <Text> zu dieser
Funktion, der dem User sagen soll, was der Installer
von ihm möchte.
(help <Hilfstext>) - Definiert den <Hilfstext> zu der Funktion.
(infos) - Bei Angabe wird zu dem Verzeichnis ein Icon erzeugt.
(confirm) - Bei Angabe wird der User aufgefordert, das Anlegen des
Verzeichnisses zu bestätigen.
(safe) - Wird dieser Parameter angegeben, so wird das Verzeichnis auch
erstellt, wenn sich der Installer im PRETEND-Modus befindet.
Rückgabe: Es wird ein boolescher Erfolgswert zurückgegeben, 1 steht
für das Gelingen der Funktion, 0 für ein Scheitern.
Bemerkung: Seit Version 42.9 des Installers versucht dieser, alle
nicht vorhandenen Verzeichnisse, die in der Pfadangabe auftauchen,
mitzuerzeugen.
Existiert das angegebene Verzeichnis schon, führt dies @{u}nicht@{uu} zu
einem Fehler.
Beispiel: (makedir "ram:TestDir")
(COPYFILES )
Schablone: (copyfiles <Parameter>)
Funktion: Kopiert eine oder mehrere Dateien. Während des
Kopiervorgangs wird dabei ein Fortschrittsbalken angezeigt, der
sich mit Hilfe des (nogauge)-Parameters auch unterdrücken läßt.
Parameter: (prompt <Text>) - Spezifiziert den einleitenden <Text> zu dieser
Funktion, der dem User sagen soll, was der
Installer von ihm möchte. Wird nur angezeigt, falls
(confirm) angegeben wird.
(Pflichtparameter)
(help <Hilfstext>) - Definiert den <Hilfstext> zu der Funktion.
(Pflichtparameter)
(source <Pfad+Name>) - Pfad und Name des Quell-Verzeichnisses oder
der Quelldatei.
(Pflichtparameter)
(dest <Pfad>) - Pfad des Zielverzeichnisses. Existiert dieses
nicht, wird es automatisch angelegt.
(Pflichtparameter)
(newname) - Ist als Quelle eine Datei angegeben, so kann diese mit
Hilfe dieses Parameters gleichzeitig umbenannt werden.
(choices <Quelle1> [<Quelle2> ...]) - Es kann eine Liste von
Dateien oder Verzeichnissen,
die kopiert werden sollen,
angegeben werden.
(all) - Bei Angabe werden alle Dateien oder Unterverzeichnisse des
angegebenen Quellverzeichnisses kopiert.
(pattern <pattern>) - Alle Verzeichnisse und Dateien im
Quellverzeichnis, die dem angegebenen Pattern
entsprechen, werden kopiert.
(files) - Bei Angabe dieses Parameters werden nur Dateien, keine
Verzeichnisse kopiert.
(infos) - Falls angegeben, werden die Icons der zu kopierenden
Dateien mitkopiert.
(noposition) - Freigeben der Positionswerte der mitkopierten Icons.
(fonts) - Unterdrückt das Anzeigen von .font-Dateien, die im
Quellverzeichnis gefunden werden. Alle .font-Dateien, die
zu einem Verzeichnis passen, das kopiert wird, werden
aber dennoch mitkopiert.
(nogauge) - Das Anzeigen des Statusbalkens wird unterdrückt.
(confirm [<User-Level>]) - Falls angegeben, wird dem User eine Tafel
präsentiert, auf der alle zu kopierenden
Dateien und Verzeichnisse mit einem
Checkmark versehen aufgelistet sind. Er
hat dann die Möglichkeit, auszuwählen,
welche tatsächlich kopiert werden sollen.
<User-Level> gibt dabei an, ab welchem
User-Level die Tafel präsentiert werden
soll, möglich sind 1 für AVERAGE und 2
für EXPERT. 2 ist Voreinstellung.
(safe) - Funktion auch im PRETEND-Modus ausführen.
(compression) - Sofern die Quelldateien mit dem Un*x "compress"
LZW Algorithmus Version 3.0 oder besser komprimiert
wurden, werden sie während des Kopiervorgangs
automatisch entpackt. Kompression mit mehr als 13
Bits verbraucht viel Speicher beim Entpacken. Die
maximale unterstützte Anzahl ist 16, wobei fast
500KB Speicher benötigt wird. Berücksichtigen Sie
dies bei Ihrer Entscheidung bezüglich der
Kompressionsrate.
WARNUNG: Die Implementation der Kompressionsunter-
stützung ist immernoch in einem sehr
experimentellen Alpha-Stadium. Bitte
verwenden sie dies nur probehalber und
nicht in Veröffentlichungen Ihrer
Produkte.
(optional <option> [<option> ...]) - Wird später behandelt.
(delopts <option> [<option> ...]) - Wird später behandelt.
Rückgabe: Bei Erfolg der Operation wird das Zielverzeichnis
zurückgegeben. Dies kann nützlich sein, weil der User
bei Angabe von (confirm) die Möglichkeit hat, selbiges
zu ändern.
Beispiel: (copyfiles
(prompt "Erzeuge Backup der Startup-Sequence...")
(help @copyfiles-help)
(source "S:Startup-Sequence")
(dest "S:")
(newname "Startup-Sequence.bak")
(confirm)
)
COPYLIB
Schablone: (copylib <Parameter>)
Funktion: Kopiert eine einzelne Datei und überprüft dabei sowohl
seine Version, als auch die Version einer gleichnamigen
Datei im Zielverzeichnis, sofern vorhanden. Ist die
Versionsnummer der Quelldatei höher als die des Ziels,
so wird die Zieldatei ersetzt.
Parameter: (prompt <Text>) - Spezifiziert den einleitenden <Text> zu
dieser Funktion, der dem User sagen soll, was der
Installer von ihm möchte. Wird nur bei Angabe von
(confirm) angezeigt.
(Pflichtparameter)
(help <Hilfstext>) - Definiert den <Hilfstext> zu der Funktion.
(Pflichtparameter)
(source <Pfad+Name>) - Pfad und Name der Quelldatei.
(Pflichtparameter)
(dest <Pfad>) - Pfad des Zielverzeichnisses. Existiert dieses
nicht, wird es automatisch angelegt.
(Pflichtparameter)
(infos) - Falls angegeben, wird das Icon der zu kopierenden
Datei mitkopiert.
(noposition) - Freigeben der Positionswerte des mitkopierten Icons.
(nogauge) - Das Anzeigen des Statusbalkens wird unterdrückt.
(confirm [<User-Level>]) - Falls angegeben, werden dem User die
Versionsnummern der Dateien angezeigt
und er kann entscheiden, wie weiter
verfahren werden soll.
<User-Level> gibt dabei an, ab welchem
User-Level die Tafel präsentiert werden
soll, möglich sind 1 für AVERAGE und 2
für EXPERT. 2 ist Voreinstellung.
Im EXPERT-Modus ist der User in der
Lage, eine neuere Datei durch eine
ältere zu ersetzen.
(safe) - Funktion auch im PRETEND-Modus ausführen.
(compression) - Sofern die Quelldateien mit dem Un*x "compress"
LZW Algorithmus Version 3.0 oder besser komprimiert
wurden, werden sie während des Kopiervorgangs
automatisch entpackt. Kompression mit mehr als 13
Bits verbraucht viel Speicher beim Entpacken. Die
maximale unterstützte Anzahl ist 16, wobei fast
500KB Speicher benötigt wird. Berücksichtigen Sie
dies bei Ihrer Entscheidung bezüglich der
Kompressionsrate.
WARNUNG: Die Implementation der Kompressionsunter-
stützung ist immernoch in einem sehr
experimentellen Alpha-Stadium. Bitte
verwenden sie dies nur probehalber und
nicht in Veröffentlichungen Ihrer
Produkte.
(optional <option> [<option> ...]) - Wird später behandelt.
(delopts <option> [<option> ...]) - Wird später behandelt.
Bemerkung: (COPYLIB ) erzeugt fehlende Verzeichnisse im Zielpfad
nur bis zu einer Ebene. Ist der Zielpfad z.B.
"Work:INet", existiert "INet" aber noch nicht, so wird
es erzeugt, ist er aber "Work:INet/Browser" und
existieren weder "INet" noch "Browser", so schlägt die
Operation fehl.
Beispiel: (copylib
(prompt "Installiere ReqTools.library")
(help @copylib-help)
(source (TACKON @icon "libs/reqtools.library"))
(dest "LIBS:")
(confirm)
)
(RENAME )
Schablone: (rename <alter Name> <neuer Name> <Parameter>)
Funktion: Ändert den Namen der Datei <alter Name> in <neuer Name>.
Es muß sich dabei jeweils um vollständige Pfadangaben
handeln.
Rückgabe: Es wird ein boolescher Erfolgswert zurückgegeben, 1 steht
für das Gelingen der Funktion, 0 für ein Scheitern.
Parameter: (prompt <Text>) - Spezifiziert den einleitenden <Text> zu dieser
Funktion, der dem User sagen soll, was der Installer
von ihm möchte.
(help <Hilfstext>) - Definiert den <Hilfstext> zu der Funktion.
(confirm [<User-Level>]) - Falls angegeben, wird der User vor
dem Umbenennen um Bestätigung gebeten.
<User-Level> gibt dabei an, ab welchem
User-Level die Tafel präsentiert werden
soll, möglich sind 1 für AVERAGE und 2
für EXPERT.
(disk) - Aktiviert das Umbenennen von Datenträgern. Hierbei ist
nur in <alter Name> ein Doppelpunkt anzugeben.
(safe) - Funktion auch im PRETEND-Modus ausführen.
Beispiel: (rename "SYS:" "System"
(prompt "Der Systemdatenträger wird in \"System\" umbenannt.")
(help "Keine Hilfe verfügbar.")
(disk)
(confirm)
)
(DELETE )
Schablone: (delete <Datei> <Parameter>)
Funktion: Löscht die <Datei>.
Parameter: (prompt <Text>) - Spezifiziert den einleitenden <Text> zu dieser
Funktion, der dem User sagen soll, was der Installer
von ihm möchte.
(help <Hilfstext>) - Definiert den <Hilfstext> zu der Funktion.
(confirm [<User-Level>]) - Falls angegeben, wird der User um
Bestätigung gebeten.
<User-Level> gibt dabei an, ab welchem
User-Level die Tafel präsentiert werden
soll, möglich sind 1 für AVERAGE und 2
für EXPERT.
(infos) - Das zur Datei gehörende Icon wird ebenfalls gelöscht.
Benutzen Sie diesen Parameter nicht in Verbindung mit
(all).
(all) - Bei Angabe werden alle zum Pattern passenden Unter-
verzeichnisse mit durchsucht.
(safe) - Funktion auch im PRETEND-Modus ausführen.
Bemerkung: Eine schreibgeschützte Datei gilt auch als löschgeschützt.
Seit Installer V42.9 können ein AmigaDOS-Pattern und der
(all)-Parameter angegeben werden.
Benutzen Sie diese Funktion bitte mit Sorgfalt, da der User keine
Möglichkeit hat, während des Vorgangs einzugreifen und es un-
vorhergesehene Folgen haben kann, größere Datenmengen auf einmal
zu löschen.
Beispiel: (delete "ram:t/#?" (all) (confirm 1))
(PROTECT )
Schablone: (protect <Datei> [<P-Flags>] [<D-Maske>] <Parameter>)
Funktion: Liefert den Protection-Status (Falls nur <Datei> angegeben
wird.) oder setzt ihn. Die Protection-Bits können auf zwei
Arten gesetzt werden, als String (z.B. "+rgr -wgw +e -dgd")
oder numerisch (z.B. 5). Mittels der String-Methode können
einzelne Bits beeinflußt werden, während die numerische Variante
stets alle Flags betrifft.
In der Dezimal-Maske werden die Bits wie folgt repräsentiert.
Flag Bit-Nummer Dezimalwert Die Dezimal-Maske entsteht nun
aus der Addition der D-Werte
d 1 1 für die einzelnen Bits.
e 2 2 Dabei ist darauf zu achten, daß
w 3 4 bei den ersten 4 Bits der Wert
r 4 8 zu addieren ist, wenn das Flag
inaktiv, bei den letzten 4,
a 5 16 wenn es gesetzt sein soll.
p 6 32
s 7 64
h 8 128
Z.B. repräsentiert die Zahl 66 die Kombination -s--rw-d, die für
Scriptdateien typisch ist. Betrachten wir die ersten vier Bits
(von rechts), so stellen wir fest, daß Bit 1,3 und 4 gesetzt sind,
also nur Bit 2 inaktiv. Bit 2 wird durch den Wert 2 repräsentiert.
Nun betrachten wir die letzten vier Bits, von denen nur Bit 7
gesetzt ist, das durch den Wert 64 gekennzeichnet ist.
Wir addieren also 2 + 64 = 66.
Parameter: (safe) - Funktion auch im PRETEND-Modus ausführen.
Rückgabe: Werden die Protection-Bits nur abgefragt, so liefert die
Funktion diese als Dezimal-Maske, es sei denn ein Fehler tritt
auf, dann wird -1 zurückgegeben.
Andernfalls repräsentiert 1 ein Gelingen, 0 ein Scheitern.
Bemerkung: Es können auch "g"- und "o"-Flags für Group und Other
gesetzt werden.
Bitte meiden Sie das "h"-Flag, es hat keine Funktion und
könnte vielleich in der weiteren Entwicklung des AmigaOS
eine Rolle spielen.
Beispiel: (protect "S:Startup-Sequence" "+s")
(TOOLTYPE )
Schablone: (tooltype <Parameter>)
Funktion: Ermöglicht das Verändern der Daten eines Icons wie
Tooltypes, Position u.a.
Parameter: (prompt <Text>) - Spezifiziert den einleitenden <Text> zu dieser
Funktion, der dem User sagen soll, was der Installer
von ihm möchte.
(help <Hilfstext>) - Definiert den <Hilfstext> zu der Funktion.
(dest <Pfad+Name>) - Pfad und Name des zu modifizierenden Icons.
Ein Anhängen von ".info" ist nicht nötig.
(Pflichtparameter)
(settooltype <Tooltype> [<Inhalt>]) - Setzt einen neuen
Tooltype oder ändert den
Inhalt eines alten.
Wird <Inhalt> weggelassen,
so wird der Tooltype
gelöscht.
Um einen Tooltype ohne
Inhalt einzufügen, ist als
Inhalt einfach "" anzugeben.
(setdefaulttool <Default-Tool>) - Setzt das Default-Tool für
ein Projekt-Icon.
(setstack <Stack>) - Setzt die Größe des Stacks.
(noposition) - Gibt die Positionierung des Icons frei.
(setposition <x> <y>) - Existiert erst seit Installer V42.12.
Setzt die x und y-Koordinaten des Icons.
(swapcolors) - Vertauscht die Farben des Icons, wie es unter OS1.x
geschah, wenn ein Icon angeklickt wurde. Diese
Funktion ist veraltet und sollte nicht mehr benutzt
werden.
(confirm [<User-Level>]) - Falls angegeben, wird der User um
Bestätigung gebeten.
<User-Level> gibt dabei an, ab welchem
User-Level die Tafel präsentiert werden
soll, möglich sind 1 für AVERAGE und 2
für EXPERT.
(safe) - Funktion auch im PRETEND-Modus ausführen.
Bemerkung: Der Befehl (TOOLTYPE ) ist vor allem in Verbindung mit
der Funktion (ICONINFO ) sinnvoll, mit der die
entsprechenden Informationen abgefragt werden können.
Sie wird im nächsten Kursteil behandelt.
Beispiel: (tooltype (dest "SYS:Utilities/Installer") (noposition))
(TEXTFILE )
Schablone: (textfile <Parameter>)
Funktion: Erzeugt eine Textdatei, wobei auch bereits existierende
Textdateien eingebunden werden können.
Parameter: (prompt <Text>) - Spezifiziert den einleitenden <Text> zu dieser
Funktion, der dem User sagen soll, was der Installer
von ihm möchte.
(help <Hilfstext>) - Definiert den <Hilfstext> zu der Funktion.
(dest <Pfad+Name>) - Pfad und Name der zu erstellenden Textdatei.
(Pflichtparameter)
(append <String>) - Der <String> wird an die Textdatei angehängt.
(include <Pfad+Name>) - Die Textdatei <Pfad+Name> wird an die
zu erstellende Textdatei angehängt.
Existiert sie nicht, wird sie als leere
Datei behandelt und ignoriert.
(confirm [<User-Level>]) - Falls angegeben, wird der User um
Bestätigung gebeten.
<User-Level> gibt dabei an, ab welchem
User-Level die Tafel präsentiert werden
soll, möglich sind 1 für AVERAGE und 2
für EXPERT.
(safe) - Funktion auch im PRETEND-Modus ausführen.
Bemerkung: Die Funktion kann vor allem zur Erzeugung von Scripts,
ARexx-Programmen und Konfigurationsdateien nützlich sein.
Denkbar ist aber auch die Erstellung eines Installer-
Scripts mit Hilfe dieser Funktion, das dann von selbigem
ausgeführt werden kann.
Existiert die unter (dest ) angegebene Datei bereits, so
wird sie überschrieben, allerdings erst, nachdem sie mit
(include ) ausgelesen wurde, falls angegeben. Auf diese
Weise lassen sich auch bestehende Dateien modifizieren,
ohne daß eine weitere Datei angelegt werden muß.
Beispiel: (textfile (dest "RAM:Helloworld.txt") (append "Hallo."))
(STARTUP )
Schablone: (startup <Applikation> <Parameter>)
Funktion: Fügt einen oder mehrere Einträge in die User-Startup ein.
Die Einträge werden dabei zwischen zwei Zeilen, die den
bei <Applikation> angegebenen Eintrag enthalten,
gruppiert. Existieren schon Einträge für diese
Applikation, so werden sie komplett ersetzt.
Seien Sie dafür sorgfältig bei der Wahl dieser Angabe.
Sollte in der Startup-Sequence kein Aufruf für die
User-Startup gefunden werden können, so wird dieser auf
sehr User-freundliche Art eingefügt.
Im AVERAGE- und EXPERT-Modus wird vor der Modifikation um
Bestätigung gebeten, im NOVICE-Modus geschieht dies nur
in Verbindung mit dem (confirm)-Parameter.
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)
(command <Kommando-Zeile>) - Hiermit wird eine AmigaDOS-Befehls-
zeile spezifiziert, die eingefügt
werden soll.
Es können beliebig viele
(command )-Einträge angegeben werden.
(confirm) - Falls angegeben, wird auch der Novice-User um
Bestätigung gebeten.
Bemerkung: Der Installer sucht zunächst im Scriptverzeichnis des
Systemdatenträgers, erst wenn die User-Startup dort nicht
gefunden werden kann, wird im S:-Assign gesucht.
Beispiel: (startup "DEVS-Assign" (command "assign DEVS: SYS:Devs"))
(MAKEASSIGN )
Schablone: (makeassign <Assign> [<Pfad>] <Parameter>)
Funktion: Assignt <Assign> zu <Pfad>. Wird <Pfad> nicht angegeben,
so wird das <Assign> freigegeben.
<Assign> ist ohne Doppelpunkt anzugeben.
Parameter: (safe) - Funktion auch im PRETEND-Modus ausführen.
Beispiel: (makeassign "DEVS" "SYS:Devs" (safe))
Befehle zur Pfadnamen-Verwaltung
(TACKON )
Schablone: (tackon <Pfad> <Datei>)
Funktion: Verbindet <Pfad> und <Datei> zu einer vollständigen Pfadangabe,
wobei automatisch auf die Richtige Handhabe von "/" und ":"
geachtet wird.
Beispiel: (tackon "SYS:S" "User-Startup") ;liefert "SYS:S/User-Startup"
(PATHONLY )
Schablone: (pathonly <Pfad+Name)
Funktion: Splittet <Pfad+Name> und gibt nur den Pfad zurück.
Beispiel: (pathonly "S:User-Startup") ;liefert "S:"
(FILEONLY )
Schablone: (fileonly <Pfad+Name)
Funktion: Splittet <Pfad+Name> und gibt nur den Dateinamen zurück.
Beispiel: (fileonly "S:User-Startup") ;liefert "User-Startup"
(EXPANDPATH )
Schablone: (expandpath <Pfad>)
Funktion: Ein in verkürzter Form angegebener Pfad wird auf eine vollständige
Form erweitert zurückgegeben.
Beispiel: (expandpath "S:User-Startup") ;liefert z.B. "System:S/User-Startup"
dateibezogene Strukturbefehle
(FOREACH )
Schablone: (foreach <Pfad> <Pattern> <Statement>)
Funktion: Für jede Datei, die in <Pfad> gefunden wird und für zu <Pattern>
paßt, wird Statement einmal ausgeführt. Natürlich kann Statement
auch eine in Klammern gefaßte Gruppe von Statements sein.
Die Variablen @each-name und @each-type enthalten den Dateinamen
und DOS-Objekt-Typ der jeweilig aktuellen Datei.
Bemerkung: Der DOS-Objekt-Typ ist ein Wert, den man in fib_DirEntryType
finden kann. Negative Werte repräsentieren Dateien, positive
Verzeichnisse.
Beispiel: (foreach
(askdir
(prompt "Welches Verzeichnis soll aufgelistet werden?")
(help @askdir-help)
(default "S:")
)
"#?"
(textfile
(dest "ram:dir.asc")
(include "ram:dir.asc")
(append (cat @each-name ", " @each-type "\n"))
)
)
;In der Datei "Ram:dir.asc" wird der Inhalt eines vom User
;auszuwählenden Verzeichnisses (mind. AVERAGE-Modus benutzen)
;nach dem Schema "Dateiname, DOS-Objekt-Typ" aufgelistet.
;Dieses kurze Beispiel kann genutzt werden, um herauszufinden,
;welche Art von Datei welchen DOS-Objekt-Typ liefert.
(EXISTS )
Schablone: (exists <Pfad+Name> [(noreq)])
Funktion: Gibt 0 zurück, falls <Pfad+Name> nicht existiert,
1, wenn es sich um eine Datei handelt und 2 bei einem Verzeichnis.
Bei Angabe von (noreq) wird das Anzeigen eines Requesters, der
nach einem im Pfad angegebenen Laufwerk, das nicht gefunden werden
kann, fragt, unterdrückt. Der Rückgabewert ist dann 0.
Dies kann sehr nützlich sein, um das Vorhandensein von
Datenträgern, logischen Laufwerken und Assigns zu prüfen.
Beispiel: (if (exists "S:UserStartup")
(message "User-Startup gefunden." (all))
(message "UserStartup nicht gefunden." (all))
)
(EARLIER )
Schablone: (earlier <Datei 1> <Datei 2>)
Funktion: Gibt 1 zurück, falls Datei 1 früher erstellt wurde, als
Datei 2, sonst 0.
Bemerkung: Falls Sie einen DOS-Befehl haben, der es ermöglicht, den
Datumseintrag einer Datei zu modifizieren, können Sie mit
diesem Befehl auch prüfen, ob eine Datei älter als ein
bestimmtes Datum ist, indem Sie eine temporäre Datei mit
dem fraglichen Datumseintrag erstellen.
Beispiel: (if (earlier "S:Startup-Sequence" "S:User-Startup")
(message "Alles klar." (all))
(message "Au Weia. ;-)" (all))
)
(PATMATCH )
Schablone: (patmatch <Pattern> <String>)
Funktion: Prüft, ob ein String einem AmigaDOS-Pattern entspricht.
Falls ja, wird 1 (TRUE) zurückgegeben, sonst 0 (FALSE).
Beispiel: (if
(patmatch
"#?a#?"
(askstring
(prompt "Bitte zu prüfenden String eingeben.")
(help @askstring-help)
(default "String eingeben...")
)
)
(message "In Ihrem String war ein \"a\" vorhanden." (all))
(message "Kein \"a\" im String gefunden." (all))
)