Ü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))
            )


Prev Inhaltsverzeichnis Next
© `98Der AmZeiger