Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.30;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
1-96806
Andrushk
2003-01-15 10:36
2003.01.30
наследование, другое


3-96547
Radimir
2003-01-15 10:17
2003.01.30
Сортировка записей в ADOTable


3-96543
Andy Eremin
2003-01-15 10:10
2003.01.30
DBGrid


4-97098
Beginer1
2002-12-16 18:04
2003.01.30
program.exe+File.xxx=program.exe


3-96608
oleon
2003-01-13 18:17
2003.01.30
Как мне получить величину нового ID при добалении новой записи...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский