Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.30;
Скачать: CL | DM;

Вниз

Find files   Найти похожие ветки 

 
Sterh ©   (2003-01-22 18:30) [0]

Люди помогите надо организовать оч быстрый поиск файлов.. Например так запускается поток ищет в начальной дире находит вложенные диры запукает 3 нити они шарят во вложенных папках, он смотрит в этой затем переходит во вложенную итд ....


 
Palladin ©   (2003-01-22 19:07) [1]

напиши простой (в смысле не потоковый) метод поиска файлов (процедуру) на входе которого будет путь поиска и условие поиска (маска тобишь)
и пусть этот метод будет рекурсивным.

а после того как все это отработано будет...
заверни в обложку потоков. где вместо рекурсии ессно будет создание однотипного потока с новой директорией.

вопрос по поводу сохранения результата можно решить след. способом

var
FilesCS:TCriticalSection;
Files:TStringList;

procedure AddFile(p_strFullFileName:string);
begin
FilesCS.Enter;
Files.Add(p_strFullFileName);
FilesCS.Leave;
end;

насколько это будет быстро сказать не могу.
если надо уж очень быстро, то вопрос к знатокам асма.


 
Anatoly Podgoretsky ©   (2003-01-22 19:15) [2]

Sterh © (22.01.03 18:30)
Твой путь приведет к серьезнрому замедлению, не надо искать паралельно, механика это очень медленная штука.


 
Palladin ©   (2003-01-22 19:21) [3]

Да. Действительно.
Тебе дело говорят.
Самое простое рекурсией пройтись по порядку.
Поиск файлов не по винту идет, а в FAT которая в начале диска. Смысла в много поточности большого не вижу.


 
Anatoly Podgoretsky ©   (2003-01-22 19:47) [4]

Не в FAT, а по оглавлению, которое разбросано по всему диску, частный случай когда в начале.



Страницы: 1 вся ветка

Текущий архив: 2003.01.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
4-97073
FooJar
2002-12-15 09:48
2003.01.30
Синтаксис mailto в Win


3-96604
mate
2003-01-13 17:25
2003.01.30
Сохраниние изменений


14-97017
ЖаннаН
2003-01-13 20:44
2003.01.30
HEELP Me


4-97077
с - - + + -
2002-12-15 11:56
2003.01.30
popup menu не на delphi, а на API


1-96664
Артём К
2003-01-21 16:16
2003.01.30
Как определить, что в Edit ни чего не введено!