Zum Hauptinhalt springen

FsiOpen

FsiOpen(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

Datei öffnen

Details

Mit dieser Funktion wird die externe Datei (alpha1) geöffnet. In (alpha1) kann der vollständige Pfad angegeben werden. In (int2) muss mindestens eine der _FsiAcs...-Optionen angegeben werden, da ansonsten keine Operationen auf der Datei durchgeführt werden können.

Außerdem sollte unbedingt eine der _FsiDeny...-Optionen benutzt werden, um die Multiuser-Fähigkeit sicherzustellen.

Folgende Optionen können in (int2) angegeben werden:

Die folgenden Optionen (int2) gelten nur für Windows:

Die folgenden Optionen (int2) gelten nur für UNIX:

Das Resultat ist größer Null, wenn die Datei erfolgreich geöffnet wurde. Bei einem negativen Resultat ist ein Fehler aufgetreten. Der Fehlerwert des Betriebssystems kann über die Eigenschaft FsiError abgefragt werden. Wurde die Option _FsiCreateNew angegeben und die Datei existiert bereits, ist das Resultat _ErrFsiExists.

Beispiele:

tHandle # FsiOpen('\Test.asc', _FsiStdRead);
if (tHandle > 0)
{
...
tHandle->FsiClose();
}
else
{
// Fehlerbehandlung
...
}
// 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();
}