FsiAttributes
FsiAttributes(alpha1[, int2]) : int
Dateiattribute ermitteln/setzen
Details
- alpha1: Dateiname/-pfad
- int2:
- Neue Dateiattribute (optional):
_FsiAttrHidden_FsiAttrSystem_FsiAttrDir_FsiAttrArchive_FsiAttrRead_FsiAttrWrite_FsiAttrExec_FsiNameC16_FsiNameUtf8
- Resultat:
intErmittlungs-/Setzungsresultat Aktuelle Dateiattribute oder_ErrFsiNoFileDateiname/-pfad (alpha1) nicht vorhanden_ErrFsiAccessDeniedBerechtigungen nicht ausreichend_ErrFsiDriveInvalidAuf Laufwerk (alpha1) kann nicht zugegriffen werden_ErrFsiSharingViolationZugriffskonflikt aufgetreten_ErrFsiLockViolationSperrkonflikt aufgetreten - Siehe: Verwandte Befehle
Mit dieser Funktion können die Attribute einer Datei ermittelt und gesetzt werden.
Das Resultat enthält die aktuellen Attribute der Datei (Resultat >= 0) oder einen Fehlerwert. Der Fehlerwert des Betriebssystems kann über die Eigenschaft FsiError abgefragt werden.
Beim Verändern von Attributen sollten vorher unbedingt die aktuellen Attribute der Datei gelesen werden und diese dann modifiziert werden.
Beispiele:
// Überprüfen, ob eine Datei schreibgeschützt ist
if ((FsiAttributes(_Sys->spPathMyDocuments + '\TEST.DAT') & _FsiAttrWrite) > 0)
{
... // Datei kann geschrieben werden
}
else
{
... // Datei ist schreibgeschützt
}
// Attribut "Versteckt" setzen/entfernen
tAttr # FsiAttributes(_Sys->spPathMyDocuments + '\TEST.DAT');
// Attribut setzen
FsiAttributes(_Sys->spPathMyDocuments + '\TEST.DAT', tAttr | _FsiAttrHidden);
// Attribut entfernen
FsiAttributes(_Sys->spPathMyDocuments + '\TEST.DAT', tAttr & ~_FsiAttrHidden);
// Ermitteln, ob ein Verzeichnis vorhanden ist
sub FsiDirExists
(
aPath : alpha(4096);
) : logic;
{
return(FsiAttributes(aPath) & _FsiAttrDir = _FsiAttrDir);
}
// Setzen des Archiv-Attributes einer Datei mit UTF-8-Zeichen im Namen
tAttr # FsiAttributes(tFileName, _FsiNameUtf8);
FsiAttributes(tFileName, tAttr | _FsiAttrArchive | _FsiNameUtf8);