Zum Hauptinhalt springen

FsiDirOpen

FsiDirOpen(alpha1, int2) : handle

Ausführbar von Clients mit grafischer Oberfläche Ausführbar vom Server Ausführbar von Clients mit Programmierschnittstelle Ausführbar von der Web-Schnittstelle Ausführbar vom Druckprozessor Ausführbar von der ODBC-Schnittstelle Ausführbar vom SOA-Service

Verzeichnis öffnen

Details

Mit dieser Funktion wird ein Verzeichnis zum Lesen geöffnet. Anschließend können mit dem Befehl FsiDirRead () die Verzeichniseinträge gelesen werden. Ist der Dateiname/-pfad (alpha1) leer, können alle Einträge des aktuellen Verzeichnisses gelesen werden. Beim Lesen der Verzeichniseinträge ist es ebenfalls möglich in (alpha1) auch gleich eine Dateimaske zur Filterung der Einträge mit anzugeben.

info

Existiert das Verzeichnis nicht, wird trotzdem ein gültiger Desktriptor zurückgegeben. Die Existenz eines Verzeichnisses kann mit der Funktion FsiAttributes () geprüft werden.

Folgende Optionen (int2) sind zulässig:

Beispiel:

// Lesen aller .dat-Dateien im aktuellen Verzeichnis
tDirHdl # FsiDirOpen('*.dat', _FsiAttrHidden);
tName # tDirHdl->FsiDirRead(); // erste Datei

while (tName != '')
{
tSize # tDirHdl->FsiSize(); // Dateigröße
...
tName # tDirHdl->FsiDirRead();
}

tDirHdl->FsiDirClose();
// Liste aller Dateien eines Verzeichnisses erstellen
sub WriteFileList
(
aPath : alpha(4096);
)

local
{
tHdlDir : handle;
tName : alpha(4096);
tFile : handle;
tTestFile : handle;
}

{
tHdlDir # FsiDirOpen(aPath + '\*.txt', _FsiNameUtf8);
tFile # FsiOpen(aPath + '\files.txt', _FsiStdWrite | _FsiPure);

tName # tHdlDir->FsiDirRead();

while (tName != '')
{
tTestFile # FsiOpen(aPath + '\' + tName, _FsiStdRead | _FsiNameUtf8);

if (tTestFile > 0)
{
tName # tName + ' -> Open OK';
tTestFile->FsiClose();
}
else
tName # tName + ' -> Open FAIL';

tFile->FsiWrite(tName);
tFile->FsiWrite(StrChar(13) + StrChar(10));

tName # tHdlDir->FsiDirRead();
}

tHdlDir->FsiDirClose();
tFile->FsiClose();
}