Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Вниз

Какой смысл указывать атрибуты файлов в FindFirst?   Найти похожие ветки 

 
Игорь   (2004-06-16 14:13) [0]

Какой смысл указывать атрибуты файлов в FindFirst, если она
так или иначе игнорирует этот параметр и потом приходится выполнять проверку
атрибутов файла?

Например, мне нужно найти все файлы .txt на диске C с атрибутом
"Архивный" и поместить имена найденых файлов в Memo. Я пишу:

var

SR:TSearchRec;

begin

if FindFirst("c:\*.txt", faArchive, SR) = 0 then

repeat

Memo1.Lines.Append(SR.Name)

until FindNext(SR) <> 0;

FindClose(SR);

end;

В результате получаю весь список файлов txt даже если они не
соответсвуют заданому атрибуту faArchive. Значит приходится
делать проверку:

if (SR.Attr and faArchive) = SR.Attr then Memo1.Lines.Append(SR.Name);

Тогда какая разница какие атрибуты задавать faArchive или faAnyFile ?
Только потому, что это обязательный параметр функиции, так что ли выходит?


 
Anatoly Podgoretsky ©   (2004-06-16 14:15) [1]

Для того чтобы получить и файлы с дополнительными атрибутами, посмотрю я как ты получишь реадонли файлы без этого атррибута.


 
Игорь   (2004-06-16 14:22) [2]

Легко! Только что проверил, задав faArchive и установив одному txt атрибут только чтение. Без проверки он был добавлен в список со всеми остальными!


 
panov ©   (2004-06-16 14:54) [3]

Посмотри исходник.


 
ЮрийК ©   (2004-06-16 15:14) [4]

Какой исходник, ГДЕ?


 
panov ©   (2004-06-16 15:25) [5]

>ЮрийК ©   (16.06.04 15:14) [4]

Какой исходник, ГДЕ?

FindFirst/FindNext в SysUtils.pas


 
Игорь   (2004-06-16 15:30) [6]

Сейчас попробовал так:
faReadonly+faHidden

на диске С есть 4 .txt файла: на 2 из них установлены атрибуты
"Только чтение" + "Скрытый", а другие 2 с атрибутом "архивный"
В итоге в Memo добавлены все 4 файла.
Может я что-то неправильно понимаю?
Задавая атрибуты в FindFirst faReadonly+faHidden я указываю, что
нужно искать только те файлы на которых установлены эти атрибуты, а
все остальные игнорируются, так? Если да, то в чем тогда дело, что
находятся все .txt не имеющие отношение к скрытым и реадонли?


 
ЮрийК ©   (2004-06-16 15:55) [7]

Странно:
Если это баг, то почему так долго не обнаруживали?

Пользуйся АПИ функциями. Возвращаются все файлы по маске, а дальше по атрибутам выцепляешь нужные.


 
Anatoly Podgoretsky ©   (2004-06-16 16:06) [8]

Игорь   (16.06.04 15:30) [6]
Ты неправильно поинмаешь, за это время мог бы посмотреть справку
Не только, а плюс и эти


 
Игорь   (2004-06-16 16:36) [9]

>Anatoly Podgoretsky ©   (16.06.04 16:06) [8]
>Игорь   (16.06.04 15:30) [6]
>Ты неправильно поинмаешь, за это время мог бы посмотреть справку
>Не только, а плюс и эти

Значит возвращаемся к вопросу #1.
Выходит дело, что faArchive и др. аналогичны константе faAnyFile и без
проверки не обойтись.


 
Anatoly Podgoretsky ©   (2004-06-16 17:02) [10]

Естественно, если тебе нужны файлы с определенными аттрибутами, то придется проверять, но зато можно с помощью этого отфильтровать не нужное, например не нужны каталоги не указывай аттрибут.



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

Форум: "Основная";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.213 c
4-1085132393
nexxiss
2004-05-21 13:39
2004.07.04
Цикл обработки сообщений


1-1087387186
Anthony
2004-06-16 15:59
2004.07.04
RichEdit vs. таблица


1-1087382557
Cuper
2004-06-16 14:42
2004.07.04
Вопрос по Borland Pascal 7 (работа с записями)


8-1082600639
Boson
2004-04-22 06:23
2004.07.04
Фильтр НЧ


1-1087796059
DmitryNekl
2004-06-21 09:34
2004.07.04
Размер шрифта в TLabel





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский