Форум: "Основная";
Текущий архив: 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