Bezeichnung
OpenDirectory -- öffnet ein Verzeichnis für die Überprüfung (V4.0)
Übersicht
[id] = OpenDirectory(id, dir$[, table])
Beschreibung
Dieser Befehl öffnet das in dir$ angegebene Verzeichnis und ordnet ihm die angegebene id zu. Wenn Sie Nil in id angeben, wird OpenDirectory() automatisch eine freie ID auswählen und ihnen zurückgeben. Das Verzeichnis kann dann anschließend unter Verwendung des Befehls NextDirectoryEntry() auf weitere Unterverzeichnisse überprüft werden, womit Sie Lowlevel-Zugriff auf das Verzeichnis haben. Das ist besonders für große Verzeichnisse nützlich, oder wenn Sie zusätzliche Informationen wie Größe/Attribute für die einzelnen Verzeichniseinträge benötigen. Sie können das sehr schnell mit einer Schleife erreichen, wie es im Beispiel unten dargestellt ist.

Ab Hollywood 6.0 hat dieser Befehl ein optionales Argument table, das verwendet werden kann, um zusätzliche Parameter zu übergeben. Zur Zeit werden folgende Elemente erkannt:

Adapter:
Mit diesem Tag können Sie ein oder mehrere Verzeichnisadapter angeben, die das angegebene Verzeichnes öffnen sollen. Dies muss als eine Zeichenfolge festgelegt werden, die den/die Namen eines oder mehreren Adaptermodulen enthält. Standardmäßig wird der Adapter verwendet, der mit SetDefaultAdapter() gesetzt wurde. Siehe Lader und Adapter für Details. (V6.0)

UserTags:
Dieser Tag kann verwendet werden, um zusätzliche Daten anzugeben, die an den Verzeichnisadapter übergeben werden sollen. Wenn Sie diesen Tag verwenden, müssen Sie ihn auf eine Tabelle mit Schlüssel-Wert-Paaren setzen, die die zusätzlichen Daten enthalten, die an Plugins übergeben werden sollen. Siehe Benutzer-Tags für Details. (V10.0)

Sie sollten den Befehl CloseDirectory() aufrufen, sobald Sie mit dem Verzeichnis fertig sind. Dies stellt sicher, dass das Verzeichnis nicht durch das Dateisystem länger gesperrt bleibt als nötig.

Dieser Befehl ist auch als Präprozessor-Anweisung verfügbar: Verwenden Sie @DIRECTORY, um ganze Verzeichnisse mit Ihrem Applet oder der ausführbaren Datei zu verknüpfen.

Siehe auch MonitorDirectory().

Eingaben
id
Identifikator des Verzeichnis oder Nil für die automatische ID-Auswahl
dir$
Name des zu öffnenden Verzeichnis
table
optional: Tabellenargrument für weitere Parameter (V6.0)
Rückgabewerte
id
optional: Identifikator des Verzeichnis; wird nur zurückgegeben werden, wenn Sie Nil als id angegeben haben (siehe oben)
Beispiel
OpenDirectory(1, "Data")
e = NextDirectoryEntry(1)
While e <> Nil
  NPrint(IIf(e.type = #DOSTYPE_FILE, "File:", "Directory:"), e.name)
  e = NextDirectoryEntry(1)
Wend
CloseDirectory(1)
Der obige Code öffnet das Verzeichnis "Data" und gibt alle Dateien und Verzeichnisse aus.

Navigation zeigen