Bezeichnung
OpenDirectory -- Öffnet ein Verzeichnis für einen Durchlauf (V4.0)
Übersicht
[id] = OpenDirectory(id, dir$[, table])
Bibliothek
dos

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. Nachdem Sie das Verzeichnis geöffnet haben, können Sie alle Einträge mit dem Befehl NextDirectoryEntry() durchlaufen. Dieser Befehl ermöglicht Ihnen einen Low-Level-Zugriff auf die Verzeichniseinträge, was besonders bei großen Verzeichnissen nützlich ist oder wenn Sie zusätzliche Informationen wie Größen/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 Verzeichnis-adaptermodule 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 das Adaptermodul verwendet, der mit SetDefaultAdapter() gesetzt wurde. Siehe Lade- und Adaptermodule für Details. (V6.0)

UserTags:
Dieses Tag kann verwendet werden, um zusätzliche Daten anzugeben, die an das Verzeichnis-adaptermodul ü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