Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поиск в поткаталогах


snake-as ©   (2008-11-29 17:45:00) 

Здравствуйте, мастера. Подскажите, пожалуйста, как решить такую задачу. Есть папка main, например. Есть в этой папка еще папки. dir1, dir2, dir3(причем я не знаю, как эти папки называются). У меня есть имя файла. Мне нужно его найти в папке main. Причем он можут быть в одной из этих подпапок. Как мне организовать этот поиск и как узнать, где находится файл, в корне или в подпапке. Заранее спасибо!


Anatoly Podgoretsky   (2008-11-29 19:37:00) [1]

> Slym  (29.11.2008 19:30:18)  [18]

Пускай лучше лезет в FAQ например на моем сайте, там есть прекрасный пример.


Slym   (2008-11-29 19:30:00) [2]

Anatoly Podgoretsky ©   (29.11.08 19:25) [17]
незабудь напомнить про проверку на "каталожность"
а то будет маяться if sr.Attr=faDirectory then... (неправильно)


Anatoly Podgoretsky   (2008-11-29 19:25:00) [3]

> snake-as  (29.11.2008 19:07:16)  [16]

Стой, куда, смени аттрибуты на faAnyFiles, а то не увидишь все каталоги.


snake-as   (2008-11-29 19:07:00) [4]

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


Anatoly Podgoretsky   (2008-11-29 19:01:00) [5]

> snake-as  (29.11.2008 18:46:13)  [13]

А где у тебя фильтрация каталог/не каталог?
Ты сам заказал отображать все файл + почти все каталоги


Anatoly Podgoretsky   (2008-11-29 18:59:00) [6]

> snake-as  (29.11.2008 18:35:11)  [11]

А что ты сделал, что бы отображало/не отображало?


snake-as   (2008-11-29 18:46:00) [7]

Memo1.Clear;
if FindFirst('C:\*.*', faDirectory, sr) = 0 then
begin
  Memo1.Lines.Add(sr.Name);
  while FindNext(sr) = 0 do
    Memo1.Lines.Add(sr.Name);
end;

FindClose(sr);

Хочу отобразить все подкаталоги в папке. Но, почему-то он отображает все файлы, даже системные и скрытые.


Тын-Дын   (2008-11-29 18:38:00) [8]


> почему FindFirst('C:\*.*', faDirectory, sr)  не отображает
> директорию?


Какой каталог не отображает и где?


snake-as   (2008-11-29 18:35:00) [9]

Спасибо! Скажите, а все-таки, почему FindFirst('C:\*.*', faDirectory, sr)  не отображает директорию?


Anatoly Podgoretsky   (2008-11-29 18:32:00) [10]

> snake-as  (29.11.2008 18:23:07)  [7]

Очень плохо, оказывается даже искать не можем. Только на данном форуме этот вопрос возникал не одну сотню раз. Вопрос входит в тен топ, первые три места.


KilkennyCat   (2008-11-29 18:30:00) [11]

http://www.google.ru/search?hl=ru&q=Delphi+%D0%BF%D0%BE%D0%B8%D1%81%D0%BA+%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=


snake-as   (2008-11-29 18:26:00) [12]

хм. СТранно, не могу найти никак.


snake-as   (2008-11-29 18:23:00) [13]

хм. СТранно, не могу найти никак.


snake-as   (2008-11-29 18:10:00) [14]

Все, понятно. Ищем, ищем..


KilkennyCat   (2008-11-29 18:07:00) [15]


> snake-as ©   (29.11.08 18:05) [2]
> Ладно, вопрос специфичный


Отнюдь.

Это один из самых распространненых вопросов. Описан миллион раз. Практически в каждой книжке, на каждом форуме.


snake-as   (2008-11-29 18:06:00) [16]

Блин, лишнее сообщение нечайно написал.


snake-as   (2008-11-29 18:05:00) [17]

Ладно, вопрос специфичный. А помогите еще, пожалуйстаЮ вот с каким делом. Я хочу получить список папок в подпапке, вот код:
 Memo1.Clear;
 if FindFirst('C:\*.*', faDirectory, sr) = 0 then
 begin
   Memo1.Lines.Add(sr.Name);
   while FindNext(sr) = 0 do
     Memo1.Lines.Add(sr.Name);
 end;

 FindClose(sr);

Но, он мне выдает список всех файлов и папок, как будто я использую аргумент faAnyFile. Не знаете, почему такое может быть?


snake-as   (2008-11-29 18:05:00) [18]

Ладно, вопрос специфичный. А помогите еще, пожалуйстаЮ вот с каким делом. Я хочу получить список папок в подпапке, вот код:
 Memo1.Clear;
 if FindFirst('C:\*.*', faDirectory, sr) = 0 then
 begin
   Memo1.Lines.Add(sr.Name);
   while FindNext(sr) = 0 do
     Memo1.Lines.Add(sr.Name);
 end;

 FindClose(sr);

Но, он мне выдает список всех файлов и папок, как будто я использую аргумент faAnyFile. Не знаете, почему такое может быть?


KilkennyCat   (2008-11-29 17:48:00) [19]

Как ты думаешь, как часто может возникнуть такая задача?


Наверх

Титульная страница Поиск, карта сайта Написать письмо