ADIR( )-Funktion

Platziert Informationen über Dateien in ein Array und gibt anschließend die Anzahl der Dateien zurück.

ADIR(ArrayName [, cFileSkeleton [, cAttribute [, nFlag]]])

Rückgabewerte

Numerisch

Parameter

  • ArrayName
    Gibt den Namen des Arrays an. Ist das angegebene Array nicht vorhanden, wird es von Visual FoxPro automatisch erstellt. Ist das Array vorhanden, aber nicht groß genug, um alle Informationen aufnehmen zu können, passt Visual FoxPro die Größe des Arrays automatisch entsprechend an. Ist das Array größer als notwendig, wird es abgeschnitten. Wenn das Array vorhanden ist und ADIR( ) 0 zurückgibt, weil keine entsprechenden Dateien gefunden wurden, werden keine Änderungen an dem Array vorgenommen. Ist das Array nicht vorhanden und gibt ADIR( ) den Wert 0 zurück, wird das Array nicht erstellt.

    In der folgenden Tabelle wird der Inhalt und der Datentyp jeder Spalte im Array erläutert:

    Column Inhalt des Arrays Datentyp
    1 Dateinamen Zeichen
    2 Dateigrößen Numerisch
    3 Datum der letzten Änderung Datum
    4 Uhrzeit der letzten Änderung Zeichen
    5 Dateiattribute Zeichen

    Die letzte Arrayspalte enthält die Dateiattribute der entsprechenden Dateien. Jedes Dateiattribut wird durch einen Buchstaben repräsentiert; eine Datei kann über mehr als ein Attribut verfügen. In der folgenden Tabelle finden Sie die Dateiattribute, die von den einzelnen Buchstaben repräsentiert werden:

    Buchstabe Attribut
    A Archiv – Lesen/Schreiben möglich
    H Versteckt
    R Schreibgeschützt
    S System
    D Verzeichnis
  • cFileSkeleton
    Gibt ein Dateimuster an, so dass Sie Informationen über Dateien mit Namen oder Erweiterungen speichern können, die einem Suchkriterium entsprechen. So können z. B. Alle Tabellen, Alle Textdateien, Alle Dateien mit dem Anfangsbuchstaben A usw. als Suchkriterien verwendet werden. Derartige allgemeine Suchläufe werden vorgenommen, indem Sie die Platzhalter * und ? in cFileSkeleton einbeziehen. Hierbei steht das Fragezeichen für ein einzelnes Zeichen, der Stern für eine beliebige Anzahl von Zeichen. Sie können an jeder beliebigen Position in einem Dateimuster eine beliebige Anzahl von Platzhaltern verwenden.

    Sie können ein Laufwerk und/oder ein Verzeichnis angeben, auf bzw. in dem nach passenden Dateinamen gesucht werden soll. Wird kein Laufwerk oder Verzeichnis angegeben, gibt Visual FoxPro Informationen zu den Dateien im aktuellen Verzeichnis an das Array zurück.

  • cAttribute
    Legt fest, dass auch Unterverzeichnisse oder versteckte bzw. Systemdateien einbezogen werden sollen.

    cAttribute kann eine beliebige Kombination aus D, H und S enthalten. Wird D einbezogen, werden zusätzlich zu den Dateinamen, die dem mit cFileSkeleton angegebenen Dateimuster entsprechen, auch die Namen der Unterverzeichnisse im aktuellen Verzeichnis zurückgegeben. Durch das Einbeziehen von H werden Informationen über versteckte Dateien zurückgegeben, die dem mit cFileSkeleton angegebenen Dateimuster entsprechen. Durch das Einbeziehen von S werden Informationen über Systemdateien zurückgegeben, die dem mit cFileSkeleton angegebenen Dateimuster entsprechen.

    Verwenden Sie eine leere Zeichenfolge in cFileSkeleton, um nur die Unterverzeichnisnamen, versteckte Dateien oder Systemdateien zurückgeben zu lassen.

    Sie können V zu cAttribute hinzunehmen, um die Datenträgerbezeichnung des aktuellen Laufwerks zurückzugeben. Wenn V zusammen mit D, H oder S einbezogen ist, wird nur die Datenträgerbezeichnung an das Array zurückgegeben. Die Datenträgerbezeichnung wird im ersten Arrayelement gespeichert, und der Rest des Arrays wird abgeschnitten.

  • nFlag
    Gibt an, ob DOS-Benennungen oder tatsächliche Namen mit Groß-/Kleinschreibung angezeigt werden.

    nFlag Beschreibung
    0 (Standardeinstellung) Der vollständige Dateiname wird in Großbuchstaben angezeigt.
    1 Die ursprüngliche Groß-/Kleinschreibung wird für Namen angezeigt.
    2 Die Anzeige entspricht der DOS 8+3-Benennungskonvention.

Hinweise

ADIR( ) gibt für jede Datei den Dateinamen, die Größe, das Datum und die Uhrzeit der letzten Änderung sowie die Dateiattribute an das Array zurück.

Beispiel

Im folgenden Beispiel wird ADIR( ) verwendet, um ein Array mit Datenbankinformationen zu erstellen. Die Namen der Datenbanken werden anschließend angezeigt.

CLOSE DATABASES
SET DEFAULT TO (HOME(2) + 'Data')

gnDbcnumber = ADIR(gaDatabase, '*.DBC')  && Create array

CLEAR
FOR nCount = 1 TO gnDbcnumber  && Loop for number of databases
   ? gaDatabase(nCount,1)  && Display database names
ENDFOR
SET PATH TO HOME( )  && Set path to Visual FoxPro directory

Siehe auch

ADEL( ) | AELEMENT( ) | AFIELDS( ) | AINS( ) | ALEN( ) | ANETRESOURCES( ) | ASCAN( ) | ASORT( ) | ASUBSCRIPT( ) | DIMENSION | DIR- oder DIRECTORY-Befehl