|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Find всех коталогов в разделе HD
нужно осуществить поиск всех коталогов в расделе жесткого диска: например 'c:\'...
незнаю по этому поводу никаких алгоритмов попробовал написать сам с использованием двух массивов... поиск работает... только как то странно в первых катологах вроде всё идет нормально.. а потом получается что то вроде: 'c:\Фото\..\Фото\..\Фото\..\Видео\' не пойму что такое вот код: Код:
procedure TForm1.find1(); var FindRes:integer; s:string; i:integer; begin fillchar(s2,sizeof(s2),0); //очистка второго массива for i:=1 to length(s1) do begin FindRes:=FindFirst(s1[i]+'*.',faDirectory,f); while FindRes=0 do begin s2[i]:=s1[i]+f.name+'\'; Form1.ListBox1.Items.Add(s2[i]); FindRes:=Findnext(f); Application.ProcessMessages; end; FindClose(f); Form1.Find2(); end; end; procedure TForm1.find2(); var FindRes:integer; s:string; i:integer; begin fillchar(s1,sizeof(s1),0); //очистка первого массива for i:=1 to length(s2) do begin FindRes:=FindFirst(s2[i]+'*.',faDirectory,f); while FindRes=0 do begin s1[i]:=s2[i]+f.name+'\'; ListBox1.Items.Add(s1[i]); FindRes:=Findnext(f); Application.ProcessMessages; end; FindClose(f); find1(); end; end; procedure TForm1.Button1Click(Sender: TObject); begin s1[1]:='d:\'; Find1(); end; подскажите почему получается так: 'c:\Фото\..\Фото\..\Фото\..\Видео\' незнал как начать писать этот поиск... придумал только так намудрил мне кажется |
#2
|
||||
|
||||
Рекурсивно желательно делать. ".." переход на уровень вверх "." переход в корень, надо просто исключать их из поиска.
Код:
if SameStr(path, "..") then continue; — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию Последний раз редактировалось M.A.D.M.A.N., 20.03.2011 в 15:55. |
#3
|
|||
|
|||
Вот исходник, тут в библиотеке есть реализация того что тебе нужно
|
#4
|
||||
|
||||
Спасибо всем!
|