Codeblock Onlinehilfe

FileSetAttr()

FileSetAttr() – Dateiattribut setzen


Die Funktion setzt die Dateiattribute einer Datei oder die Datei-Informationen.


Parameter

Beschreibung

aFileName:C

Pfad + Dateiname

aAttr:N

Numerisches Dateiattribut/Information
Dateiattributs-Konstanten
faReadOnly-Schreibgeschützte Datei
faHidden-Verborgene Datei
faSysFile-Systemdatei
faVolumeID-Systemdatei
faDirectory-Verzeichnis
faArchive- Archivdatei
faAnyFile-Beliebige Datei
Datei-Informations-Konstanten
faFileTitle-Titel
faFileSubject-Beschreibung
faFileAuthor-Autor
faFileKeyWords -Schlüssel-Wörter
faFileComment -Kommentar
faFileVersion-Datei-Version

aAttrValue:C

Wert der Datei-Information (nur bei aAttr gleich einer Datei-Informations-Konstante)


Rückgabewert


Logisch- setzen der Dateiattribute/Information erfolgreich

Hinweis


Beim Setzen von mehreren Dateiattributen müssen die Dateiattributs-Konstanten mit einem "or" verknüpft werden.
Beim Setzen von mehreren Datei-Informationen

  • darf die Datei nicht schreibgeschützt sein

  • muss die Funktion mehrmals aufgerufen werden!

Beim Kopieren von Dateien mit Datei-Informationen gehen diese unter Umständen verloren, da diese auf Windows-Ebene und nicht in der Datei gespeichert werden (Kopieren über den Windows-Explorer kopiert auch die Datei-Informationen)

Beispiel

| aFile, aFileAttr, aTitel, aAutor, aVersion, aReadOnly |

aFile := 'C:\temp\test.txt',

// Datei Schreibschutz aufheben falls gesetzt
aReadOnly := false,
aFileAttr := FileGetAttr(aFile),
if (aFileAttr and faReadOnly) > 0 then
   aReadOnly := true,
   FileSetAttr(aFile, _XOR(aFileAttr, faReadOnly)),
endif,

// alte Datei-Informationen ermitteln
aTitel   := FileGetAttrValue(aFile, faFileTitle),
aAutor   := FileGetAttrValue(aFile, faFileAuthor),
aVersion := FileGetAttrValue(aFile, faFileVersion),

// neue Datei-Informationen schreiben
if FileSetAttr(aFile, faFileTitle,   'Test-Datei') and
   FileSetAttr(aFile, faFileAuthor,  'Mustermann') and
   FileSetAttr(aFile, faFileVersion, 'V1.0') then
   // alte Datei-Information ausgeben
   Meld('Datei-Informationen wurden erneuert.' + CRLF +
        'Alte Werte' + CRLF +
        'Titel: '    + aTitel + CRLF +
        'Autor: '    + aAutor + CRLF +
        'Version: '  + aVersion),
endif,

// Schreibschutz der Datei ggf. wieder setzen
if aReadOnly then
   FileSetAttr(aFile, aFileAttr or faReadOnly),
endif,


Weitere Verknüpfungen