Вверх ↑
Этот топик читают: Гость
Главный модератор
Ответов: 2998
Рейтинг: 396
#1: 2007-04-08 10:36:21 ЛС | профиль | цитата
После какого-то update с SVN поменялись файловые атрибуты, возвращаемые компонентом FileAttributes. Может оно так и правильно, только хотелось бы знать какие константы скрываются за именами атрибутов. Извините, но сам найти по файлам исходников не сумел, а интернет даёт несколько другую информацию о том какие должны быть константы: http://msdn2.microsoft.com/en-us/library/d36dsa28(vs.80).aspx :?
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 9906
Рейтинг: 351
#2: 2007-04-08 11:18:45 ЛС | профиль | цитата
Да знаю, что другие.
Надо как-то этот процесс понятнее сделать - не понятно как
Имеется ввиду фильтрация глупостей от пользователя...

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

0
Главный модератор
Ответов: 2998
Рейтинг: 396
#3: 2007-04-08 11:36:25 ЛС | профиль | цитата
Уточню, какие величины констант?

[size=-2]------ Добавлено в 11:36
Или они идут как индекс массива?
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 9906
Рейтинг: 351
#4: 2007-04-08 11:38:19 ЛС | профиль | цитата
номер бита - номер индекса в массиве
например: hidden - бит 3, его маска - 8=2^3
карма: 9

0
Главный модератор
Ответов: 2998
Рейтинг: 396
#5: 2007-04-08 11:54:17 ЛС | профиль | цитата
Можно ещё на пальцах. Много ранее на обычный файл компонент возвращал атрибут 0 и можно было догадаться что это означает NORMAL, теперь (возможно на другой файл) получаю 2. По одной информации это означает HIDDEN, но это не соответствет моему зрению, значит это что-то другое. Что именно, если глядеть на описание массива топиком выше?

[size=-2]------ Добавлено в 11:45
Ага значит ARCHIVE. Galkov, а к какой системе знаний это привязано - поделись...

[size=-2]------ Добавлено в 11:54
Например, MS WSH пользует следующие значения:

Const FileAttrNormal   = 0
Const FileAttrReadOnly = 1
Const FileAttrHidden = 2
Const FileAttrSystem = 4
Const FileAttrVolume = 8
Const FileAttrDirectory = 16
Const FileAttrArchive = 32
Const FileAttrAlias = 64
Const FileAttrCompressed = 128
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 9906
Рейтинг: 351
#6: 2007-04-08 19:18:10 ЛС | профиль | цитата
Nic писал(а):
а к какой системе знаний это привязано - поделись

Фиг его знает с какой.
Какая-то раньше была, чего-то я подправил
Ни то ни другое, не соответствует действительности
И, кстати, приведенное тобой - тоже

А правда содержится в хэдэрах:
FILE_ATTRIBUTE_READONLY   = 001h
FILE_ATTRIBUTE_HIDDEN	    = 002h
FILE_ATTRIBUTE_SYSTEM = 004h
FILE_ATTRIBUTE_DIRECTORY = 010h
FILE_ATTRIBUTE_ARCHIVE = 020h
FILE_ATTRIBUTE_NORMAL = 080h
FILE_ATTRIBUTE_TEMPORARY = 100h
FILE_ATTRIBUTE_COMPRESSED = 800h

Ситуация очень простая - не пришел еще в голову удобный интерфейс, чтобы изолироваться от этого великого знания
Если тебе пришел - говори обязательно
карма: 9

0
Главный модератор
Ответов: 2998
Рейтинг: 396
#7: 2007-04-09 07:53:59 ЛС | профиль | цитата
Может быть нужен простой компонент маскирующий нужный пользователю бит атрибута из заданного списка?:?
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Администрация
Ответов: 15295
Рейтинг: 1519
#8: 2007-04-09 12:22:19 ЛС | профиль | цитата
Этот компонент называется BitsToInt
карма: 27
0
Ответов: 9906
Рейтинг: 351
#9: 2007-04-09 14:10:21 ЛС | профиль | цитата
Вопрос в заморочках с номером бита.

Может вывести массив битов, доступ к которым доступен по именам...
карма: 9

0
Главный модератор
Ответов: 2998
Рейтинг: 396
#10: 2007-04-16 17:20:35 ЛС | профиль | цитата
Пришлось откатиться на компонент из b160, так как выяснилось что этот из SVN не генерит события на некорые специальные файла с атрибутом HIDDEN под NTFS. Может, конечно, так и должно быть, но сейчас переделывать логику программы не хочется - проще откатиться.:?
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 9906
Рейтинг: 351
#11: 2007-04-16 17:25:47 ЛС | профиль | цитата
Nic писал(а):
не генерит события на некорые специальные файла с атрибутом HIDDEN под NTFS

не понял: расшифрованных аттрибутов стало больше а не меньше
грубо говоря - все...
карма: 9

0
Главный модератор
Ответов: 2998
Рейтинг: 396
#12: 2007-04-16 17:34:04 ЛС | профиль | цитата
Подробнее:

Add(FileAttributes,3362697,231,140)
{
link(onRead,2842037:doMessage,[])
}
Add(Message,2842037,294,140)
{
}
Add(DropFile,10456070,168,140)
{
link(onDropFile,3362697:doRead,[])
}
"Старый" b160 и ранее - возвращает код 127. Новый - молчит как партизан. :?
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
файлы: 1Icon_.rar [71B] [265]
Администрация
Ответов: 15295
Рейтинг: 1519
#13: 2007-04-16 18:26:44 ЛС | профиль | цитата
Nic, в имени предложенного файла содержиться недопустимый символ, из-за которого и нечитаются аттрибуты. Компонент тут ни при чем
карма: 27
0
Главный модератор
Ответов: 2998
Рейтинг: 396
#14: 2007-04-16 20:57:16 ЛС | профиль | цитата
То есть более ранняя его версия, работала не правильно, определяя его атрибуты
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 9906
Рейтинг: 351
#15: 2007-04-16 21:37:19 ЛС | профиль | цитата
Между прочим - ДА.

Без сомнения, что "интеллектуальное" преобразование юникоровского имени в ansi - дает имя несуществующего файла (у меня это Icon?).
Далее
MSDN.GetFileAttributes писал(а):
If the function fails, the return value is INVALID_FILE_ATTRIBUTES

Фиг его знает эту константу (у меня на диске ее нет) - надо полагать, просто -1
Судя по результатам.
карма: 9

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)