Функція FileSetAttr в Delphi встановлює атрибути файлу.
SysUtils unit
function FileSetAttr ( const FileName : string; Attributes : Integer; ) : Integer;
Функція FileSetAttr встановлює атрибути певного файлу. Також можна змінювати атрибути файлу.
Наступними значеннями Integer можливе встановлення атрибутів:
- faReadOnly : 1 : Файл лише для читання
- faHidden : 2 : Прихований файл
- faSysFile : 4 : Системний файл
- faVolumeID : 8 : Файл ідентифікатора обсягу
- faDirectory : 16 : Файл директорії
- faArchive : 32 : Архівний файл
- faSymLink : 64 : Ярлик
Повернена величина Integer є нулем, якщо установка атрибутів була успішною, інакше вона містить код помилки.
Примітка.
Ця функція залежить від операційної системи. Наприклад, Архів нічого не означає в Linux.
Важливо: Протягом випробування автор завжди отримував ненульовий код повернення, навіть при тому, що відповідні біти були встановлені.
Функція FileSetAttr: Створення текстового файлу, встановлення атрибутів тільки для читання та прихований і показ його атрибутів
var
fileName : string;
myFile : TextFile;
attrs : Integer;
begin
// Спроба відкрити текстовий файл для запису
fileName := 'ATestFile.txt';
AssignFile(myFile, fileName);
ReWrite(myFile);
// Запис у файл
Write(myFile, 'Hello World');
// Закриття файлу
CloseFile(myFile);
// Роимо файл тільки для читання та системний
if FileSetAttr(fileName, faReadOnly or faSysFile) > 0
then ShowMessage('Атрибути файлу встановлені тільки для читання і системний')
else ShowMessage('Зміна атрибутів файлу провалилася');
// Отримання атрибутів файлу
attrs := FileGetAttr(fileName);
// Показ цих атрибутів
if attrs and faReadOnly > 0
then ShowMessage('Файл лише для читання')
else ShowMessage('Файл не лише для читання');
if attrs and faHidden > 0
then ShowMessage('Файл прихований')
else ShowMessage('Файл не прихований');
if attrs and faSysFile > 0
then ShowMessage('Файл є системним')
else ShowMessage('Файл не є системним');
if attrs and faVolumeID > 0
then ShowMessage('Файл є ідентифікатором обсягу')
else ShowMessage('Файл не є ідентифікатором обсягу');
if attrs and faDirectory > 0
then ShowMessage('Файл є каталогом')
else ShowMessage('Файл не є каталогом');
if attrs and faArchive > 0
then ShowMessage('Файл архівний')
else ShowMessage('Файл не архівний');
if attrs and faSymLink > 0
then ShowMessage('Файл є ярликом')
else ShowMessage('Файл не є ярликом');
end;
Результат
Атрибути файлу встановлені тільки для читання і системний
Файл лише для читання
Файл не прихований
Файл є системним
Файл не є ідентифікатором обсягу
Файл не є каталогом
Файл не архівний
Файл не є ярликом
Подібні функції, процедури та команди
FileGetAttr — видає атрибути файлу.
FileAge — отримання дати/часу останньої зміни файлу, не відкриваючи його.
FileSetDate — встановлення дати та часу останньої зміни файлу.
FileExists — повертає True якщо вказаний файл існує.
