Вниз
Скачать: CL | DM;

FindFirst-FindNext   Найти похожие ветки 

 
Sandman25 ©   (2003-06-11 16:44) [80]

Anatoly Podgoretsky © (11.06.03 16:13)

В данном конкретном случае - нет.
В маске было faAnyFile, то есть faHidden + faDirectory + faSystem и т.д.
"Ваше" условие бы сработало только в том случае, если у файла установлены ВСЕ эти атрибуты. В то время как "физический" смысл faAnyFile - атрибут может быть любым. Даже для файла с атрибутом $00000000 if должен был срабатывать.

И он срабатывал, если у нас sr.Attr and faAnyFile = sr.Attr (0 and $3F = 0)
И НЕ срабатывал, если у нас sr.Attr and faAnyFile = faAnyFile (0 and $3F <> $3F).
Убедил?


 
Anatoly Podgoretsky ©   (2003-06-11 17:17) [81]

Не знаю только в чем, в первом случае будет срабатывать если не изменится ни один бит в sr.Attr (биты за пределами $3F будут сброшены, а для этого достаточно проверить sr.Attr and not $3F = <> 0, поскольку младчшии 6 бит просто не интересует, но врядли его интересовал вопрос установлены ли расширенные биты), а во втором случае если после операции AND останется $3F (такая комбинация вроде бы не возможно и предназначена для поддержки длинных имен, то есть поиском не выдается, даже если ее напрямую установить в записи каталога).

Для меня нет вопросов по работе с аттрибутами, начальная математика по работе с битами.


 
Sandman25 ©   (2003-06-11 17:25) [82]

Насколько я понял, мы с Вами можем согласиться только в том, что проверку на faAnyFile проводить не имеет смысла.
А для проверок на что-то другое нужно знать, что же конкретно требуется в постановке задачи.


 
Anatoly Podgoretsky ©   (2003-06-11 17:48) [83]

Ну тогда еще раз, если цель проверки определить установлен ли хоть один из расширенных битов (старшие 26 битов), то приведенная авторам конструкция верная, иначе налицо не понимание работы. На младщии 6 бит влияния не оказывается и маска указана верная.


 
Sandman25 ©   (2003-06-11 18:26) [84]

Да, абсолютно согласен.



Страницы: 1 2 3 вся ветка

Скачать: CL | DM;



Память: 0.58 MB
Время: 0.014 c
1-97580
Maxim Pshevlotsky
2003-06-15 07:10
2003.06.30
Скорость выполнения MTS


1-97603
denis24
2003-06-17 10:34
2003.06.30
функция STR()


1-97717
Comp
2003-06-16 12:07
2003.06.30
Глюки с ToolBar...


4-97919
il
2003-04-28 14:24
2003.06.30
Как выбрать пункт главного меню чужого приложения (окна)


1-97706
OlegM
2003-06-18 07:53
2003.06.30
Сравнить строки




   Наверх