|
Вопрос # 401/ вопрос решён / |
|
Доброго времени суток, у меня вопрос, как в делфи управлять атрибутивами фйлов, тоесть програмно зделать файл например только для чтения или скрытым??? Заоание спасибо!
Ответ #1. Отвечает эксперт: Роман
Здравствуйте, Шарайчук Сергій Олександрович!Надо воспользоваться функцией FileSetAttr(const:FileName:string;Attr:Integer):integer. Задаём ей два параметра: сначала имя файла, затем задаваемые атрибуты. Например, так можем файл сделать "только для чтения":FileSetAttr('C:\file.txt', faReadOnly);Можно задавать следующие значения:
faReadOnly-только для чтения
faHidden-скрытый
faSysFile-системный
faVolumeID-метка диска
faDirectory-каталог
faArchive-архивный
faAnyFile-произвольный
 |
Ответ отправил: Роман (статус: 5-ый класс)
Время отправки: 12 марта 2007, 23:12
Оценка за ответ: 5
|
Ответ #2. Отвечает эксперт: Николай Рубан
Единственное что хотелось бы добавить к предыдущему ответу так это то, что если Вам необходимо установить сразу несколько атрибутов к данному файлу то просто перечислите их через логическую связку or.
Вот пример, в котором файлу присваиваются сразу четыре атрибута (только для чтения; скрытый; системный; архивный):
FileSetAttr('attrib.xxx',faReadOnly or faHidden or faSysFile or faArchive);
Good Luck!!!
 |
Ответ отправил: Николай Рубан (статус: 10-ый класс)
Время отправки: 12 марта 2007, 23:38
Оценка за ответ: 5
|
Ответ #3. Отвечает эксперт: Spawn
Здравствуйте, Шарайчук Сергй Олександрович!
Для этого есть SetFileAttributes.
Boolean SetFileAttributes(
PChar lpFileName, // имя файла или папки
DWord dwFileAttributes // атрибут или комбинация атрибутов
);
FILE_ATTRIBUTE_ARCHIVE - архивный
FILE_ATTRIBUTE_HIDDEN - скрытый
FILE_ATTRIBUTE_NORMAL - обычный
FILE_ATTRIBUTE_OFFLINE - временно недоступный
FILE_ATTRIBUTE_READONLY - для чтения
FILE_ATTRIBUTE_SYSTEM - системный
FILE_ATTRIBUTE_TEMPORARY - временный
Также есть функция для получения текущих атрибутов файла GetFileAttributes.
DWord GetFileAttributes(
PChar lpFileName // имя файла или папки
);
Приложение: Переключить в обычный режим- if SetFileAttributes('C:WindowsExplorer.exe', FILE_ATTRIBUTE_HIDDEN) then
- ShowMessage('Установлен аттрибут "Скрытый"');
- if GetFileAttributes('C:WindowsExplorer.exe') = FILE_ATTRIBUTE_HIDDEN then
- ShowMessage('Файл имеет аттрибут "Скрытый"');
-
 |
Ответ отправил: Spawn (статус: 1-ый класс)
Время отправки: 13 марта 2007, 13:24
Оценка за ответ: 5
|
Ответ #4. Отвечает эксперт: Дима Гусаков
Здравствуйте, Шарайчук Сергій Олександрович!
функция FileGetAttr(const FileName: String): Integer определяет атрибуты файла
функция FileSetAttr(const FileName: String; Attr: Integer): Integer устанавливает атрибуты файла
атрибуты
faReadOnly - только для чтения
faHidden - скрытый файл
faSysFile - системный файл
faVolumeID - идентификатор тома
faDirectory - имя каталога
faArchive - архивный файл
faAnyFile - любой файл
 |
Ответ отправил: Дима Гусаков (статус: 2-ой класс)
Время отправки: 14 марта 2007, 11:56
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 0.
31 января 2011, 19:17: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|