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 |
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,