Поиск директорий. Почему так?

Доброго времени суток, все!
Делаю так:
FindFirst ('c:\*.*', faDirectory, SR);
if SR.Name <> '' then
begin
....
end;
Ничего не находит!!! Почему??
← Сентябрь 2004 → | ||||||
3
|
5
|
|||||
---|---|---|---|---|---|---|
7
|
||||||
21
|
||||||
За последние 60 дней ни разу не выходила
Сайт листа:
http://codeguru.ru
Открыт:
21-09-2003
Пре-модерация: Нет
Адрес для писем в лист: comp.soft.prog.prog-list@subscribe.ru
Адрес
модератора: comp.soft.prog.prog-owner@subscribe.ru
Доброго времени суток, все!
Делаю так:
FindFirst ('c:\*.*', faDirectory, SR);
if SR.Name <> '' then
begin
....
end;
Ничего не находит!!! Почему??
а попробуы выполнить md c:\1.1
в командной строке. И посмотри что получится. А твой код достаточно
поправить так:
FindFirst ('c:\*', faDirectory, SR);
Original Message From: "Денис" <deninbla***@b*****.ru>
To: "comp.soft.prog.prog (3778558)" <buz@l*****.com>
Sent: Wednesday, September 15, 2004 7:06 PM
Доброго времени суток, все!
Делаю так:
FindFirst ('c:\*.*', faDirectory, SR);
if SR.Name <> '' then
begin
....
end;
Ничего не находит!!! Почему??
--
* Мы убиваем время, время убивает нас.
С уважением,
Денис
mailto:deninbla***@b*****.ru
ICQ: 257159371
Номер выпуска : 3553
Возраст листа : 359 (дней)
Количество подписчиков : 465
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/229083
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
http://subscribe.ru/ http://subscribe.ru/feedback
Номер выпуска : 3557
Возраст листа : 360 (дней)
Количество подписчиков : 464
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписать: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog
http://subscribe.ru/ http://subscribe.ru/feedback
Доброго времени суток, Александр.
Вы писали 16 сентября 2004 г., 20:49:17
на тему "Поиск директорий. Почему так?"
Попробовал. Создалась директория 1.1 .И что?
Теперь находит все, включая файлы...
[root@localhost]#, Денис.
Тогда может, так:
if FindFirst(c:\*.*, faAnyFile, S) then
repeat
if not ((S.Attr and faDiractory) = faDirectory) and
(S.Name <> '.') and (S.Name <> '..')) then continue;
dosome1;
dosome2;
until (not FindNext(S))
FindClose(S);
Доброго времени суток, B..
Вы писали 16 сентября 2004 г., 13:18:25
на тему "Поиск директорий. Почему так?"
Все равно находит все!
Hello Денис,
Thursday, September 16, 2004, 8:51:45 PM, you wrote:
параметр Attr, который равен faDirectory не значит, что искать только
папки, а означает, что в дополнение к "нормальным" файлам включить в
поиск ещё и папки.
RTFM.
Доброго времени суток, Александр.
Вы писали 16 сентября 2004 г., 20:49:17
на тему "Поиск директорий. Почему так?"
Попробовал. Создалась директория 1.1 .И что?
Теперь находит все, включая файлы... А надо только директории!
Наверное, только то, что винт работает.-))))
Может, коряво будет, но думаю сработает:
{$I-}
FindFirst ('c:\*', faDirectory, SR);
ChDir('c:\'+SR.Name);
if IOResult = 0 then
{$I+}
То есть, попробуем зайти в то, что нашли.
Доброго времени суток, Шешунов.
Вы писали 17 сентября 2004 г., 13:19:57
на тему "Поиск директорий. Почему так?"
Спасибо! С некоторыми изменениями работает! Но только по-моему,
функция ChDir работает очень медленно. Может есть еще варианты?
Здравствуйте, Денис.
Вы писали 18 сентября 2004 г., 12:22:30:
Варинтов - куча.-))))) например так:
FindFirst ('c:\*.*', faDirectory, SR);
if DirectoryExists('c:\windows\'+R.Name) then // делаем что-то, если
это - директория
Насколько быстро оно работает - вопрос.
Доброго времени суток, Денис.
Тогда смотри в сторону API.
Или же востользуйся функцией IsDirectory(), или чем-то в этом роде, я
помню, точно есть.
почему бы не использовать проверку:
if Search.Attr and faDirectory = faDirectory then
Номер выпуска : 3563
Возраст листа : 361 (дней)
Количество подписчиков : 462
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/230170
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.prog.prog
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписать: mailto:comp.soft.prog.prog--unsub@subscribe.ru?subject=comp.soft.prog.prog
http://subscribe.ru/ http://subscribe.ru/feedback
Здравствуйте, Денис.
С одной стороны, должно находить один-единственный каталог, если
только раздел С не пуст.
Но с другой стороны, я бы сделал так:
i := FindFirst ('c:\*.*', faDirectory, SR);
и вот по этому i уже можно судить, чего оно артачится.