Delphi-Help

FileSetAttr

Печать
Рейтинг пользователей: / 0
ХудшийЛучший 

FileSetAttr

Описание

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 является нулем, если установка атрибутов была успешна, в противном случае она содержит код ошибки.

Пример кода

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;

Атрибуты файла установлены в только для чтения и системный
Файл только для чтения
Файл не скрытый
Файл является системным
Файл не является идентификатором объёма
Файл не является каталогом
Файл не архивный
Файл не является ярлыком

Примечание

Эта функция зависит от Операционной системы. Например, Архив на Linux ничего не означает.
Важно: В течение испытания, автор всегда получал ненулевой код возврата, даже при том, что соответствующие биты были установлены.

Авторизация



Счетчики