Форум: "Начинающим";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];
ВнизУскорение поиска файлов Найти похожие ветки
← →
Dmitrij_K (2005-12-29 13:34) [0]У меня есть алгоритм, который ищет в определенной папке каталоги, а в найденных каталогах смотрит есть ли там хоть один файл(вот тут как-раз очень долго работает). Как можно ускорить этот алгоритм?
function daj_typ(const dir:AnsiString):Integer;
var ret : Integer;
ssr : TSearchRec;
begin
ret := 0;
if FindFirst(daj_slash(dir)+"*.*", faAnyFile, ssr)=0 then
begin
repeat
if (ssr.Attr and faDirectory)=0 then
begin
ret := 1;
break;
end;
until FindNext(ssr)<>0;
end
else
begin
ret := 2;
end;
FindClose(ssr);
result := ret;
end;
← →
TUser © (2005-12-29 13:45) [1]Ускорить вряд ли. Смущает также вот такое условие
> daj_slash(dir)+"*.*"
У тебя все папки имеют точку в названии?
← →
Anatoly Podgoretsky © (2005-12-29 13:45) [2]Здесь нет поиска во вложенных папках
← →
Dmitrij_K (2005-12-29 14:40) [3]
> У тебя все папки имеют точку в названии?
Всегда так использую, и все находит.
Перефразируя, как быстро проверить, находится ли в папке что-нибудь?
На чистом винапи, те через findfirstfile ускорение минимальное.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.038 c