Der FoxPro-Kompatible Skriptinterpreter
🔎
Newsletter
Der FoxPro-Kompatible Skriptinterpreter

adir

adir(ArrayName AS Any@, [Filter AS String, Attributes AS String, Flags AS Integer]) AS Integer


Listet den Inhalt eines Verzeichnisses auf.

Parameter ArrayName

Gibt den Namen des Arrays an in dem die Auflistung abgespeichert werden soll. Das Array hat die folgenden Spalten:

1 Dateiname ohne Pfad
2 Größe der Datei in Bytes
3 Datum der letzten Änderung
4 Uhrzeit letzten Änderung
5 Attribute
Attribute

Bei den Attributen handelt es sich um eine Zeichenfolge die an einer bestimmten Position einen Buchstaben enthalten kann. Wenn eine Eigenschaft nicht zutrifft, befindet sich an der Position der Zeichenkette ein Punkt. Die folgenden Eigenschaften können auftreten:

R . . . .
Die Datei hat das Attribut Schreibgeschützt
. A . . .
Die Datei hat das Attribut Archiv
. . S . .
Die Datei hat das Attribut System
. . . H .
Die Datei hat das Attribut Versteckt
. . . . D
Es handelt sich um ein Verzeichnis

Parameter Filter

Legt ein Verzeichnis und einen Filter für den Dateinamen fest. Wenn kein Filter angegeben wurde, werden alle Dateien im aktuellen Arbeitsverzeichnis aufgelistet.

Parameter Attributes

Standardmäßig zeigt die Funktion nur normale Dateien an. Mit den folgenden Attributen können zusätzliche besondere Dateien angezeigt werden. Die Attribute können in beliebiger Reihenfolge angegeben und auch kombiniert werden:

D
Zeigt zusätzlich Verzeichnisse an
S
Zeigt Systemdateien an (Windows)
H
Zeigt versteckte Dateien an (Windows)

Parameter Flags

Mit den Flags kann das Ergebnis der Ausgabe gesteuert werden. Standardmäßig wird unter Windows die Groß und Kleinschreibung bei Filtern ignoriert. Bei den Optionsgruppen A und B kann immer nur ein Flag angegeben werden, ansonsten wird eine Fehlermeldung ausgelöst.

Flag
Optionsgruppe
Beschreibung
1 A
Die Ausgabe der Dateinamen erfolgt im Original
2
Dateinamen in 8+3 DOS Formatierung ausgeben (Nicht implementiert)
8 A
Die Ausgabe der Dateinamen erfolgt in Großbuchstaben
16 B
Groß und Kleinschreibung beim Filter ignoriren
32 B
Groß und Kleinschreibung beim Filter berücksichtigen

Rückgabewert

Die Anzahl der aufgelisteten Verzeichnisse.

Beispiele

Zeigt den Inhalt des aktuellen Verzeichnisses ohne Unteverzeichnisse count = afiles(files)

  1
  2
  3
  4
  5
local files
count = adir(@files)
for i = 1 to count
  ? files[i, 5], files[i, 3], files[i, 4], files[i, 1]
endfor

..... 09/16/25 13:46:37 CPackSourceConfig.cmake
..... 09/16/25 13:46:37 cmake_install.cmake
..... 09/16/25 13:48:37 runme.prg
..... 09/16/25 13:46:37 dobaseConfigVersion.cmake
..... 09/16/25 13:46:38 dobaseConfig.cmake
..... 09/16/25 13:46:37 Makefile
..... 09/16/25 13:46:37 CPackConfig.cmake
..... 09/16/25 13:46:37 CMakeCache.txt

Zeigt den Inhalt mit Unterverzeichnissen an

  1
  2
  3
  4
  5
local files
count = adir(@files, "*""D")
for i = 1 to count
  ? files[i, 5], files[i, 3], files[i, 4], files[i, 1]
endfor

....D 09/16/25 13:48:37 .
....D 09/16/25 13:46:35 ..
..... 09/16/25 13:46:37 CPackSourceConfig.cmake
....D 09/16/25 13:46:37 external
..... 09/16/25 13:46:37 cmake_install.cmake
..... 09/16/25 13:48:37 runme.prg
....D 09/16/25 13:46:38 docgi
....D 09/16/25 13:48:35 bin
....D 09/16/25 13:46:38 libdo-mod-test
..... 09/16/25 13:46:37 dobaseConfigVersion.cmake
....D 09/16/25 13:46:38 libdo-mod-sample
..... 09/16/25 13:46:38 dobaseConfig.cmake
..... 09/16/25 13:46:37 Makefile
....D 09/16/25 13:46:38 dosh
..... 09/16/25 13:46:37 CPackConfig.cmake
..... 09/16/25 13:46:37 CMakeCache.txt
....D 09/16/25 13:46:38 CMakeFiles
....D 09/16/25 13:46:43 libdobase
....D 09/16/25 13:46:38 gen_cs_tabs