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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2016, 08:14   #1
Replicant
Форумчанин
 
Аватар для Replicant
 
Регистрация: 17.08.2009
Сообщений: 139
По умолчанию Атрибуты файлов

Доброго времени суток!
Работаю с файлами/папками и обнаружил, что delphi не всегда распознает папки как папки, начал копать, оказалось, что проверка атрибута методом:
Код:
if SearchRec.Attr <> faDirectory then begin
...
end;
не дает достоверного результата, все равно проскакивают некоторые папки. Вытянул индекс атрибута проскочивших папок, равен он 48, знаю, что есть такие индексы:
Код:
faReadOnly : 1 : Файл только для чтения
faHidden : 2 : Скрытый файл
faSysFile : 4 : Системный файл
faVolumeID : 8 : Файл идентификатора объёма
faDirectory : 16 : Файл директории
faArchive : 32 : Архивный файл
faSymLink : 64 : Ярлык
а вот, что такое 48 мне не ясно. Что это такое?
Replicant вне форума Ответить с цитированием
Старый 29.04.2016, 08:30   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

файл или папка может иметь НЕСКОЛЬКО аттрибутов одновременно
например, системный, скрытый, папка и т.д.

поэтому так НЕЛЬЗЯ проверять.
Цитата:
Код:
if SearchRec.Attr <> faDirectory then begin
надо так:
Код:
if (SearchRec.Attr and faDirectory)  <> faDirectory then begin
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.04.2016, 08:38   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
а вот, что такое 48 мне не ясно. Что это такое?
48 =32 + 16
faDirectory : 16 : Файл директории
faArchive : 32 : Архивный файл (объект подлежащий архивации)
а еще может быть и
49 =32 +16 +1
17 =16 +1
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 29.04.2016 в 08:41.
evg_m вне форума Ответить с цитированием
Старый 29.04.2016, 18:28   #4
Replicant
Форумчанин
 
Аватар для Replicant
 
Регистрация: 17.08.2009
Сообщений: 139
По умолчанию

Спасибо!
Replicant вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расширенные атрибуты файлов tae1980 Microsoft Office Excel 0 14.03.2012 18:52
Изменяем атрибуты файлов Drakulov Общие вопросы Delphi 5 19.02.2010 16:22
Атрибуты файлов RamireZ Общие вопросы Delphi 9 28.10.2008 15:10
Как читать атрибуты с файлов? eks-s Общие вопросы Delphi 2 16.01.2008 02:25
Как изменить атрибуты Файлов? Volkogriz Общие вопросы Delphi 1 07.11.2007 18:27