Nächste Seite: Arts Aufwärts: Bibliotheksmoduln Vorherige Seite: AMScan

# Arguments

Das Modul `Arguments` erlaubt den Zugriff auf die Programmargumente, die der Benutzer beim Aufstarten des Programms angibt. Unterstützt werden Argumente, die vom CLI aus auf der Befehlszeile oder auf der Workbench durch erweiterte Selektion übergeben werden.

Die Prozedur `NumArgs` liefert die Anzahl der Programmargumente. Diese Zahl gibt entweder die Anzahl Argumente der Befehlszeile oder die Anzahl selektierter Workbench-Ikonen an. Wurde das Programm ohne Argumente aufgerufen. liefert `NumArgs` den Wert 0.

Die Funktion `GetArg` liefert den Wert des gewünschten Arguments, sofern dieses existiert. Ein Aufruf mit Argumentnummer `arg=0` liefert den Namen des aufgestarteten Programms. Ebenfalls wird die Anzahl der Zeichen durch den Parameter `len` zurückgegeben. Bei jedem Aufruf von `GetArg` erhält die Variable `quoted` den Wahrheitswert `TRUE`, falls das Argument doppelte Anführungszeichen enthielt. Dies ermöglicht die Unterscheidung von Schlüsselwörtern und Argumenten des gleichen Namens.

`GetArg` verbirgt die Unterschiede der Parameterübergabe von CLI und Workbench vor dem Benutzer. Während ein Argument der Befehlszeile aus einer einfachen Zeichenkette besteht, setzt sich ein Workbench-Argument aus zwei Bestandteilen zusammen. Einerseits ist das der Name des Arguments und andererseits eine Referenz auf das Verzeichnis der entsprechenden Datei. Bei Workbench-Argumenten setzt der Aufruf von `GetArg` das aktuelle Verzeichnis des Programms auf das Verzeichnis der Argumentdatei. Dies geschieht durch einen Aufruf der Funktion `Dos.CurrentDir`.

Die Befehlszeile wird folgendermassen interpretiert: Leerschläge werden als Trennung zwischen zwei Argumenten ausgelegt. Durch die Verwendung von doppelten Anführungszeichen können aber auch Leerschläge in das Argument eingefügt werden. Alle Zeichen innerhalb zweier Anführungszeichen werden unverändert in das Argument übernommen. Die Anführungszeichen selbst üben keine Trennfunktion aus.

Ab AmigaDOS Version 1.3 bezeichnet ein leeres Argument das aktuelle Verzeichnis, beispielsweise beim `copy`-Befehl. Daher ist es unzulässig, mit der Verarbeitung der Argumente aufzuhören, wenn die Argumentlänge Null ist. Zunächst muss die Funktion `NumArgs` aufgerufen und mit diesem Wert gearbeitet werden.

Die Funktion `GetLock` gibt dann einen gültigen `FileLockPtr` zurück, wenn das Programm von der Workbench aufgerufen wurde. Dieser verweist auf das Verzeichnis des zugehörigen Arguments.7.1

Wird das Programm vom CLI aus aufgerufen, bleibt ein Aufruf von `GetLock` ohne Wirkung. Als Resultat wird `NIL` zurückgegeben.

Nächste Seite: Arts Aufwärts: Bibliotheksmoduln Vorherige Seite: AMScan