После какого-то update с SVN поменялись файловые атрибуты, возвращаемые компонентом FileAttributes. Может оно так и правильно, только хотелось бы знать какие константы скрываются за именами атрибутов. Извините, но сам найти по файлам исходников не сумел, а интернет даёт несколько другую информацию о том какие должны быть константы: http://msdn2.microsoft.com/en-us/library/d36dsa28(vs.80).aspx :?
Этот топик читают: Гость
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
карма: 6 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Да знаю, что другие.
Надо как-то этот процесс понятнее сделать - не понятно как Имеется ввиду фильтрация глупостей от пользователя... hiFileAttributes.pas писал(а): const At:array[0..8] of DWORD = (
FILE_ATTRIBUTE_NORMAL, FILE_ATTRIBUTE_ARCHIVE, FILE_ATTRIBUTE_READONLY, FILE_ATTRIBUTE_HIDDEN, FILE_ATTRIBUTE_SYSTEM, FILE_ATTRIBUTE_DIRECTORY, FILE_ATTRIBUTE_TEMPORARY, FILE_ATTRIBUTE_COMPRESSED, FILE_ATTRIBUTE_OFFLINE{, FILE_ATTRIBUTE_ENCRYPTED, FILE_ATTRIBUTE_REPARSE_POINT, FILE_ATTRIBUTE_SPARSE_FILE, FILE_ATTRIBUTE_NOT_CONTENT_INDEXED}); |
|||
карма: 9 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Уточню, какие величины констант?
[size=-2]------ Добавлено в 11:36 Или они идут как индекс массива? |
|||
карма: 6 |
|
Ответов: 9906
Рейтинг: 351
|
|||
номер бита - номер индекса в массиве
например: hidden - бит 3, его маска - 8=2^3 |
|||
карма: 9 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Можно ещё на пальцах. Много ранее на обычный файл компонент возвращал атрибут 0 и можно было догадаться что это означает NORMAL, теперь (возможно на другой файл) получаю 2. По одной информации это означает HIDDEN, но это не соответствет моему зрению, значит это что-то другое. Что именно, если глядеть на описание массива топиком выше?
[size=-2]------ Добавлено в 11:45 Ага значит ARCHIVE. Galkov, а к какой системе знаний это привязано - поделись... [size=-2]------ Добавлено в 11:54 Например, MS WSH пользует следующие значения:
|
|||
карма: 6 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Nic писал(а): а к какой системе знаний это привязано - поделисьФиг его знает с какой. Какая-то раньше была, чего-то я подправил Ни то ни другое, не соответствует действительности И, кстати, приведенное тобой - тоже А правда содержится в хэдэрах:
Ситуация очень простая - не пришел еще в голову удобный интерфейс, чтобы изолироваться от этого великого знания Если тебе пришел - говори обязательно |
|||
карма: 9 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Может быть нужен простой компонент маскирующий нужный пользователю бит атрибута из заданного списка?:?
|
|||
карма: 6 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Этот компонент называется BitsToInt
|
|||
карма: 27 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Вопрос в заморочках с номером бита.
Может вывести массив битов, доступ к которым доступен по именам... |
|||
карма: 9 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Пришлось откатиться на компонент из b160, так как выяснилось что этот из SVN не генерит события на некорые специальные файла с атрибутом HIDDEN под NTFS. Может, конечно, так и должно быть, но сейчас переделывать логику программы не хочется - проще откатиться.:?
|
|||
карма: 6 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Nic писал(а): не генерит события на некорые специальные файла с атрибутом HIDDEN под NTFSне понял: расшифрованных аттрибутов стало больше а не меньше грубо говоря - все... |
|||
карма: 9 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Подробнее:
|
|||
карма: 6 |
| ||
файлы: 1 | Icon_.rar [71B] [282] |
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Nic, в имени предложенного файла содержиться недопустимый символ, из-за которого и нечитаются аттрибуты. Компонент тут ни при чем
|
|||
карма: 27 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
То есть более ранняя его версия, работала не правильно, определяя его атрибуты
|
|||
карма: 6 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Между прочим - ДА.
Без сомнения, что "интеллектуальное" преобразование юникоровского имени в ansi - дает имя несуществующего файла (у меня это Icon?). Далее MSDN.GetFileAttributes писал(а): If the function fails, the return value is INVALID_FILE_ATTRIBUTESФиг его знает эту константу (у меня на диске ее нет) - надо полагать, просто -1 Судя по результатам. |
|||
карма: 9 |
|