Форум: "WinAPI";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];
ВнизПоиск фаила в каталоге и его подкаталогах Найти похожие ветки
← →
кактусбел © (2004-12-03 20:10) [0]Уважаемый мастера вопрос по сабжу
как провести поиск фаилов определенного типа(типа *.exe) в каталоге и во всех его подкаталогах
у меня есть алгоритм основанный на рекурсии но он глючит
Заранее спасибо.
← →
grigory © (2004-12-03 21:03) [1]procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Clear; // очистка списка файлов
FindFile(Edit1.Text); // поиск файлов с начальными условиями, заданных в Edit1
end;
Созданная вручную процедура поиска:
procedure TForm1.FindFile(Dir:String);
Var SR:TSearchRec;
FindRes:Integer;
begin
FindRes:=FindFirst(Dir+"*.*",faAnyFile,SR);
While FindRes=0 do
begin
if ((SR.Attr and faDirectory)=faDirectory) and
((SR.Name=".")or(SR.Name="..")) then
begin
FindRes:=FindNext(SR);
Continue;
end;
if ((SR.Attr and faDirectory)=faDirectory) then // если найден каталог, то
begin
FindFile(Dir+SR.Name+"\"); // входим в процедуру поиска с параметрами текущего каталога + каталог, что мы нашли
FindRes:=FindNext(SR); // после осмотра вложенного каталога мы продолжаем поиск в этом каталоге
Continue; // продолжить цикл
end;
ListBox1.Items.Add(SR.Name);
FindRes:=FindNext(SR);
end;
FindClose(SR);
end;
← →
grigory © (2004-12-03 21:04) [2]а в маску поиска вместо *.* напишешь *.exe
ну и путь свой указываешь, где искать хочешь!
← →
novice__man (2004-12-03 21:12) [3]кактусбел © (03.12.04 20:10)
Уважаемый мастера вопрос по сабжу
как провести поиск фаилов определенного типа(типа *.exe) в каталоге и во всех его подкаталогах
у меня есть алгоритм основанный на рекурсии но он глючит
Новое слово в программировании ГЛЮЧНЫЙ АЛГОРИТМ!!!!!!
FindFirst & FindNext F1 !!!
← →
Fay © (2004-12-03 21:35) [4]2 grigory © (03.12.04 21:03) [1]
>> ((SR.Name=".")or(SR.Name=".."))
А так не проще?SR.Name[1] = "."
← →
grigory © (2004-12-03 21:42) [5]:)) проще, но это как говорится дело техники, а суть вроде такая. я просто дал код куска проги:)))
← →
Игорь Шевченко © (2004-12-03 21:55) [6]Fay © (03.12.04 21:35) [4]
Не проще, а в ошибочно
← →
Anatoly Podgoretsky © (2004-12-03 22:02) [7]Fay © (03.12.04 21:35) [4]
Проще, но толку то?
← →
Jel © (2004-12-03 23:53) [8]
> Не проще, а в ошибочно
А, собственно почему ошибочно? Всегда использую и пока не нарвался на грабли. В чем они?
← →
Игорь Шевченко © (2004-12-03 23:57) [9]
> А, собственно почему ошибочно?
А потому, что создавать каталог, начинающийся с точки никому не запрещено.
← →
Jel © (2004-12-04 00:02) [10]
> создавать каталог, начинающийся с точки никому не
> запрещено.
Спасибо. Считал, что этого не даст сделать система. Кстати, проверил - Explorer ругает за некорректное имя, а вот из FAR создался запросто.
← →
Fay © (2004-12-04 02:17) [11]Прикольно. Я Проводником проверял - думал, что это хорошая проверка 8).
Спасибочки.
← →
кактусбел © (2004-12-05 14:57) [12]Большое вам всем спасибо !!!
удачи.
← →
Anatoly Podgoretsky © (2004-12-05 15:14) [13]Сумасшедший программист © (05.12.04 14:57) [8]
И файлы тоже, например характерный файл .forward
← →
Jel © (2004-12-05 20:22) [14]
> Anatoly Podgoretsky © (05.12.04 15:14) [13]
Спасибо за новый ник. :) Файл, однако не будет иметь атрибута faDirectory.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.036 c