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

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

FindFirst, FindNext .....


Страницы:   1 2

Gnoll ©   (2006-08-02 13:43:00) 

как с помощью FindFirst,FindNext искать ТОЛЬКО папки?  или при нахождении  проверить является ли найденное папкой
Я сначало думал что faDirectory это филтр для папок , но он находжит также и файлы


Zeqfreed   (2006-08-03 07:17:00) [1]

> [23] Anatoly Podgoretsky ©   (02.08.06 20:39)

Наврядли файл . действительно кому-то нужен при поиске.


Anatoly Podgoretsky   (2006-08-02 20:39:00) [2]

Zeqfreed ©   (02.08.06 19:34) [20]
А в других папках можно и плюнуть на потерю?


Ketmar   (2006-08-02 20:22:00) [3]

> [19] Плохиш ©   (02.08.06 19:31)

ну нет у меня на работе ни Delphi, ни справки. не по этим делам у меня работа. %-)


Reindeer Moss Eater   (2006-08-02 19:35:00) [4]

А первое, найденное по FindFirst, вроде как и не нужно?

<Цитата>

Это всего лишь фрагмент иллюстирующий как отличить папку от файла


Zeqfreed   (2006-08-02 19:34:00) [5]

> А первое, найденное по FindFirst, вроде как и не нужно?

Нужно, если поиск начинать с корня диска.


Плохиш   (2006-08-02 19:31:00) [6]


> Ketmar ©   (02.08.06 17:29) [13]
> пример, где r изничтожили и ничего не ввели взамен -- в
> студию

Пример в справке ;-)

> Reindeer Moss Eater ©   (02.08.06 16:37) [8]
> while FindNext(rec) = 0 do if (rec.Attr and faDirectory)
> = faDirectory then Это_папка

А первое, найденное по FindFirst, вроде как и не нужно?


Ketmar   (2006-08-02 17:37:00) [7]

> [16] Германн ©   (02.08.06 17:35)

убедил. я был неправ. инертность мышления, блин... %-( надо больше думать. %-)


Zeqfreed   (2006-08-02 17:36:00) [8]

> [15] Ketmar ©   (02.08.06 17:33)

Да, действительно, поторопился. Для обработки первого файла надо вставить HandleFile перед циклом.


Германн   (2006-08-02 17:35:00) [9]


> пример, где r изничтожили и ничего не ввели взамен -- в
> студию.

 sr: TSearchRec;
begin
if FindFirst('c:\*.*', faAnyFile, sr) = 0 then repeat
  WriteLn(sr.Name);
until FindNext(sr) <> 0;
FindClose(sr);
end;


Ketmar   (2006-08-02 17:33:00) [10]

> [14] Zeqfreed ©   (02.08.06 17:32)

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


Zeqfreed   (2006-08-02 17:32:00) [11]

> [13] Ketmar ©   (02.08.06 17:29)

Думается, что как и в случае использования r, без её использования резальтат будет храниться-таки в одном из регистров.

if (FindFirst(Mask, faAnyFile, SR) = 0) then begin
 while (FindNext(SR) = 0) do HandleFile(SR.Name);
 FindClose(SR);
end;


?


Ketmar   (2006-08-02 17:29:00) [12]

пример, где r изничтожили и ничегоне ввели взамен -- в студию.


Германн   (2006-08-02 16:59:00) [13]

Нет. Нафиг нужна r?


Ketmar   (2006-08-02 16:57:00) [14]

> [10] Германн ©   (02.08.06 16:50)

??? нафиг было демонстрировать верный код? не знаю. люблю, когда код правильный.


Германн   (2006-08-02 16:50:00) [15]


> Ketmar ©   (02.08.06 16:45) [9]

А нафиг нужно было плодить лишние сущности?


Ketmar   (2006-08-02 16:45:00) [16]

> [3] Gnoll   (02.08.06 16:20)

потому что код неверный.


var
 r: Integer;
 sr: TSearchRec;
begin
 r := FindFirst('c:\*.*', faAnyFile, sr);
 while r = 0 do
 begin
   WriteLn(sr.Name);
   r := FindNext(sr);
 end;
 FindClose(sr);
end;

rtfm.


Reindeer Moss Eater   (2006-08-02 16:37:00) [17]

while FindNext(rec) = 0 do if (rec.Attr and faDirectory) = faDirectory then Это_папка


zdm   (2006-08-02 16:35:00) [18]

findFirst('c:\*.*', faDirectory,Rec);


Германн   (2006-08-02 16:31:00) [19]


> repeat
>  FindNext(rec);   Это найденное ты добавляешь в Мемо
>  Memo.lines.add(REc.Name);
> until FindNext(Rec) <> 0; А это найденное идет псу под хвост
>


Gnoll   (2006-08-02 16:29:00) [20]

как я их теряю ??? :(
ну объяснил бы хоть блин...  я туп и глуп


Страницы:   1 2

Наверх

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