Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 401

/ вопрос решён /

Доброго времени суток, у меня вопрос, как в делфи управлять атрибутивами фйлов, тоесть програмно зделать файл например только для чтения или скрытым??? Заоание спасибо!

Шарайчук Сергей Олександрович Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: Шарайчук Сергей Олександрович (статус: 2-ой класс)
Вопрос отправлен: 12 марта 2007, 22:41
Состояние вопроса: решён, ответов: 4.

Ответ #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 // имя файла или папки
);

Приложение:
  1. if SetFileAttributes('C:WindowsExplorer.exe', FILE_ATTRIBUTE_HIDDEN) then
  2. ShowMessage('Установлен аттрибут "Скрытый"');
  3. if GetFileAttributes('C:WindowsExplorer.exe') = FILE_ATTRIBUTE_HIDDEN then
  4. ShowMessage('Файл имеет аттрибут "Скрытый"');
  5.  


Ответ отправил: 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)

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 1 июня 2023, 05:47
Выполнено за 0.02 сек.
Рейтинг@Mail.ru