Описание
|
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 ничего не означает.
Важно: В течение испытания, автор всегда получал ненулевой код возврата, даже при том, что соответствующие биты были установлены.
|