|
|
Регистрация | << Правила форума >> | 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:\Фото\..\Фото\..\Фото\..\Видео\' незнал как начать писать этот поиск... придумал только так намудрил мне кажется |