Главная страница
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.017 c
1-96771
tulen
2003-01-22 18:35
2003.01.30
Про кнопку Delete


1-96838
_newbie
2003-01-21 04:07
2003.01.30
Автоскроллинг текста. Как?


1-96868
No_V_Ice
2003-01-21 11:25
2003.01.30
PopupMenu в стиле XP


3-96605
qwerty2
2003-01-13 17:41
2003.01.30
Странное поведение компонента DBGrid


1-96691
diks
2003-01-20 20:41
2003.01.30
!