Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.09.2012, 21:55   #1
The Real Kos
Пользователь
 
Регистрация: 16.05.2011
Сообщений: 18
Лампочка Изменение атрибута файла при нажатии на кнопку

Всем доброго времени суток. Знаю, есть такая функция(команда) SetFileAttributes ей то и можно изменять атрибуты. Подскажите пожалуйста, как сделать так чтобы каждый раз при нажатии на "кнопку" происходила смена атрибута?
The Real Kos вне форума Ответить с цитированием
Старый 15.09.2012, 21:58   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Функция называется FileSetAttr

Нужно прописать ее вызов в обработчике события нажатия кнопки OnClick
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...

Последний раз редактировалось Sciv; 15.09.2012 в 22:01.
Sciv вне форума Ответить с цитированием
Старый 15.09.2012, 22:02   #3
The Real Kos
Пользователь
 
Регистрация: 16.05.2011
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Прописать SetFileAttributes в обработчике события нажатия кнопки OnClick
Возможно вопрос не правильно поставил. Нужно чтобы при каждом нажатии на кнопку атрибут менялся. Допустим сначала был FILE_ATTRIBUTE_NORMAL, затем стал faReadOnly и т.д. Или же, что лучше, чтобы случайным образом.
The Real Kos вне форума Ответить с цитированием
Старый 15.09.2012, 22:13   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Только один атрибут или набор?

Вообще атрибут файла в этой функции - целочисленный тип, поэтому для случайного выбора достаточно обычного Random.

Вот описание атрибутов:

Код:
aReadOnly	1	Read-only files	Current user does not have write access.
faHidden	2	Hidden files	File name begins with ".".
faSysFile	4	System files	File is socket, symbolic link, device file, or FIFO.
faVolumeID	8	Volume ID files	Not used.
faDirectory	16	Directory files	Directory.
faArchive	32	Archive files	Not used.
faSymLink	64	Symbolic link	File is a symbolic link.
faAnyFile	71	Any file	Any file.
Сделайте константой последовательный массив из них:

Код:
atr: array [1..8] of integer=(1,2,4,8,16,32,64,71);
А потом рандомом:

Код:
FileSetAttr(<Имя файла>,atr[Random(8)])
теперь я правильно понял?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 15.09.2012, 22:14   #5
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от The Real Kos Посмотреть сообщение
Возможно вопрос не правильно поставил. Нужно чтобы при каждом нажатии на кнопку атрибут менялся. Допустим сначала был FILE_ATTRIBUTE_NORMAL, затем стал faReadOnly и т.д. Или же, что лучше, чтобы случайным образом.
А OnClick и срабатывает при каждом нажатии кнопки, разве нет?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 15.09.2012, 22:20   #6
The Real Kos
Пользователь
 
Регистрация: 16.05.2011
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Только один атрибут или набор?

Вообще атрибут файла в этой функции - целочисленный тип, поэтому для случайного выбора достаточно обычного Random.

Вот описание атрибутов:

Код:
aReadOnly	1	Read-only files	Current user does not have write access.
faHidden	2	Hidden files	File name begins with ".".
faSysFile	4	System files	File is socket, symbolic link, device file, or FIFO.
faVolumeID	8	Volume ID files	Not used.
faDirectory	16	Directory files	Directory.
faArchive	32	Archive files	Not used.
faSymLink	64	Symbolic link	File is a symbolic link.
faAnyFile	71	Any file	Any file.
Сделайте константой последовательный массив из них:

Код:
atr: array [1..8] of integer=(1,2,4,8,16,32,64,71);
А потом рандомом:

Код:
FileSetAttr(<Имя файла>,atr[Random(8)])
теперь я правильно понял?
Да. Спасибо большое. А можно описание всех атрибутов.
The Real Kos вне форума Ответить с цитированием
Старый 15.09.2012, 22:28   #7
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от The Real Kos Посмотреть сообщение
А можно описание всех атрибутов.
Так выше оно и есть, прямо с хелпа содрано, на аглицком только.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 15.09.2012, 22:29   #8
The Real Kos
Пользователь
 
Регистрация: 16.05.2011
Сообщений: 18
По умолчанию

Sciv, а как чтобы файлу присваивалось значение NORMAL
The Real Kos вне форума Ответить с цитированием
Старый 15.09.2012, 22:40   #9
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от The Real Kos Посмотреть сообщение
Sciv, а как чтобы файлу присваивалось значение NORMAL
Нет такого атрибута - NORMAL. В Виндах любой файл по-умолчанию имеет атрибут "Архивный" (faArchive). Так что думаю, он и будет эквивалентен Вашему "Нормалу". Либо faAnyFile - тут уж экспериментально.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 15.09.2012, 23:25   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
нормальный файл имеет аттрибут 128
Цитата:
В Виндах любой файл по-умолчанию имеет атрибут "Архивный" (faArchive).
это ваше предположение.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Анимация при нажатии на кнопку Kapitan4ik Общие вопросы Delphi 7 26.10.2011 12:25
выборка из БД при нажатии на кнопку Dmitry1983 PHP 28 03.09.2011 14:28
Вставка картинки из файла в Excel при нажатии на кнопку "Экспортировать" из C++ Builder ArTemi4 Помощь студентам 0 06.06.2010 19:48
Открытие файла по нажатии на кнопку alexs2141 Общие вопросы Delphi 4 02.06.2008 10:47
Загрузка файла при нажатии на кнопку Simply-Art Общие вопросы Delphi 15 23.01.2007 14:00