FC_DirListEntryGet - Allgemeine Informationen
Typ |
Funktion |
Verfügbar ab |
SystemInterface_1.32.6.0 |
Versionen: |
Aktuelle Version |
Nach einer oder mehreren Dateien suchen.
Mit dieser Funktion wird aus der Liste der Dateien ein Eintrag ausgelesen. Die Funktion FC_DirListEntryGet() kopiert den Eintrag i_diEntryNum in iq_stEntry aus der Liste mit den Dateiinformationen. Diese Liste wird von der Funktion FC_DirListCreate() erstellt. Die Funktion FC_DirListCreate() liefert die Anzahl der gefundenen Dateien oder Verzeichnisse. Der Parameter i_diEntryNum kann 1 bis <Anzahl gefundene Dateien> betragen. Das bedeutet, die Funktion FC_DirListCreate() muss vor der Funktion FC_DirListEntryGet() ausgeführt werden.
Datentyp ET_DirType
Der Datentyp ET_DirType beinhaltet vordefinierte Typen für den Eintrag "FileType" in StructDirListEntry.
o0: ET_DirType.File => Datei
o1: ET_DirType.Dir => Verzeichnis
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_diEntryNum |
DINT |
Nummer des Eintrags der Dateinamen |
Ein-/Ausgang |
Datentyp |
Beschreibung |
---|---|---|
iq_stEntry |
ST_DirListEntry |
Datentyp |
Beschreibung |
---|---|
DINT |
0: OK. -1: Kein Eintrag vorhanden. |
Anforderung
Es sollen alle Metadaten der Dateien und Verzeichnisse auf der Flash-Disk ausgelesen werden.
Deklaration
PROGRAM DirTest
VAR
diNumberOfFiles : DINT;
di : DINT;
diDirResult : DINT;
dleDirListEntry : ST_DirListEntry;
sFileName : STRING;
diFileSize : DINT;
diFileType : DINT;
diFileAttribute : DINT;
dtFileDate : DATE_AND_TIME;
END_VAR
Programm
diNumberOfFiles := FC_DirListCreate('*');
IF (diNumberOfFiles > 0) THEN
FOR di := 1 TO diNumberOfFiles BY 1 DO
diDirResult := FC_DirListEntryGet(di, dleDirListEntry);
IF (diDirResult = 0) THEN
sFileName := dleDirListEntry.sFilename;
diFileSize := dleDirListEntry.diFileSize;
diFileType := dleDirListEntry.diFileType;
diFileAttribute := dleDirListEntry.diFileAttribute;
dtFileDate := dleDirListEntry.dtFileDate;
END_IF
END_FOR
END_IF
Ergebnis
Bei jedem Schleifendurchlauf steht in der Variablen diFileSize die Dateigröße, in diFileType der Typ (Datei oder Verzeichnis), in diFileAttribute die Attribute (Schreibschutz) und in dtFileDate Tag und Uhrzeit der letzten Änderung.