Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

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

Доброго времени суток, все!

Делаю так:

FindFirst ('c:\*.*', faDirectory, SR);
if SR.Name <> '' then
begin

....

end;

Ничего не находит!!! Почему??

Ответить   Денис Wed, 15 Sep 2004 20:06:17 +0400 (#229083)

 

Ответы:

Здравствуйте, Денис.

С одной стороны, должно находить один-единственный каталог, если
только раздел С не пуст.
Но с другой стороны, я бы сделал так:
i := FindFirst ('c:\*.*', faDirectory, SR);
и вот по этому i уже можно судить, чего оно артачится.

Ответить   Шешунов Вадим Wed, 15 Sep 2004 22:31:57 +0300 (#229186)

 

а попробуы выполнить 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

Ответить   Thu, 16 Sep 2004 11:36:02 +0300 (#229346)

 

Доброго времени суток, Александр.
Вы писали 16 сентября 2004 г., 20:49:17
на тему "Поиск директорий. Почему так?"

Попробовал. Создалась директория 1.1 .И что?

Теперь находит все, включая файлы...

Ответить   Денис Thu, 16 Sep 2004 20:51:45 +0400 (#229630)

 

[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." Thu, 16 Sep 2004 21:07:49 +0400 (#230161)

 

Доброго времени суток, B..
Вы писали 16 сентября 2004 г., 13:18:25
на тему "Поиск директорий. Почему так?"


Все равно находит все!

Ответить   Денис Sat, 18 Sep 2004 13:19:54 +0400 (#230434)

 

Hello Денис,

Thursday, September 16, 2004, 8:51:45 PM, you wrote:

параметр Attr, который равен faDirectory не значит, что искать только
папки, а означает, что в дополнение к "нормальным" файлам включить в
поиск ещё и папки.
RTFM.

Ответить   Ivan Mikheikin Fri, 17 Sep 2004 21:29:02 +0400 (#230213)

 

Доброго времени суток, Александр.
Вы писали 16 сентября 2004 г., 20:49:17
на тему "Поиск директорий. Почему так?"

Попробовал. Создалась директория 1.1 .И что?

Теперь находит все, включая файлы... А надо только директории!

Ответить   Денис Thu, 16 Sep 2004 22:10:25 +0400 (#229654)

 

Наверное, только то, что винт работает.-))))

Может, коряво будет, но думаю сработает:
{$I-}
FindFirst ('c:\*', faDirectory, SR);
ChDir('c:\'+SR.Name);
if IOResult = 0 then
{$I+}

То есть, попробуем зайти в то, что нашли.

Ответить   Шешунов Вадим Thu, 16 Sep 2004 23:49:24 +0300 (#230169)

 

Доброго времени суток, Шешунов.
Вы писали 17 сентября 2004 г., 13:19:57
на тему "Поиск директорий. Почему так?"

Спасибо! С некоторыми изменениями работает! Но только по-моему,
функция ChDir работает очень медленно. Может есть еще варианты?

Ответить   Денис Sat, 18 Sep 2004 13:22:30 +0400 (#230435)

 

Здравствуйте, Денис.

Вы писали 18 сентября 2004 г., 12:22:30:

Варинтов - куча.-))))) например так:
FindFirst ('c:\*.*', faDirectory, SR);
if DirectoryExists('c:\windows\'+R.Name) then // делаем что-то, если
это - директория
Насколько быстро оно работает - вопрос.

Ответить   Шешунов Вадим Sat, 18 Sep 2004 16:00:10 +0300 (#230569)

 

Доброго времени суток, Денис.

Тогда смотри в сторону API.
Или же востользуйся функцией IsDirectory(), или чем-то в этом роде, я
помню, точно есть.

Ответить   "B." Sat, 18 Sep 2004 20:18:26 +0400 (#230571)

 

почему бы не использовать проверку:
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

Ответить   Fri, 17 Sep 2004 07:34:45 +0400 (#230170)