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

Вниз

Сканирование дерева каталогов   Найти похожие ветки 

 
hiperLogun ©   (2004-04-25 01:32) [0]

Написал прогу которая сканирует сервер по сети с бооольшим количеством папок и файлов, и сохраняет структуру его дерева в файл (ну какбы индексирует сервер, нужно для быстроно поиска).
Посмотрел этот файл - а там некоторых папок вообще нет! Причем папок на верхушке дерева! Вчем дело - не знаю!
Подскажите пожалуйста какой нибудь сканирования дерева каталогов (100%-го).
СПАСИБО!


 
hiperLogun ©   (2004-04-25 01:32) [0]

Написал прогу которая сканирует сервер по сети с бооольшим количеством папок и файлов, и сохраняет структуру его дерева в файл (ну какбы индексирует сервер, нужно для быстроно поиска).
Посмотрел этот файл - а там некоторых папок вообще нет! Причем папок на верхушке дерева! Вчем дело - не знаю!
Подскажите пожалуйста какой нибудь сканирования дерева каталогов (100%-го).
СПАСИБО!


 
Rouse_ ©   (2004-04-25 03:07) [1]

Разве это называется поисковик алгоритмов?
Кажется сегодня он звался форумом...
А на форуме тебе подскажут, но никак не решат задачу...

Давай свой код в студию и будем разбирать...


 
Rouse_ ©   (2004-04-25 03:07) [1]

Разве это называется поисковик алгоритмов?
Кажется сегодня он звался форумом...
А на форуме тебе подскажут, но никак не решат задачу...

Давай свой код в студию и будем разбирать...


 
Anatoly Podgoretsky ©   (2004-04-25 10:08) [2]

Ошибка в 17 строке.


 
Anatoly Podgoretsky ©   (2004-04-25 10:08) [2]

Ошибка в 17 строке.


 
hiperLogun ©   (2004-04-25 14:38) [3]

Вот, пожалуйста. Не знаю в чём дело, вроде всё руками делал.
Папок и файлов на сервере очень много и файл отчета получает под 11 метров. Тяжело контролировать правилно прога отсканировала или нет! Запускаю на поиск в какой нибудь маленькой ветке - всё путем, ошибок нет!

Сама процедура сканирования:
procedure TForm1.ScanTree(Path: string);
var
 SearchRec: TSearchRec;
 i: integer;
begin
 i := 0;
 FindFirst(Path+"\*.*", faDirectory, SearchRec);
 while FindNext(SearchRec) = 0 do
 begin
   if (SearchRec.Attr and faDirectory = faDirectory)
   and (SearchRec.Name[1] <>".") then
     begin
       if HasMp3(Path+"\"+SearchRec.Name+"\") then
         begin
           sTree.Add(Path+"\"+SearchRec.Name);
         end;
       ScanTree(Path+"\"+SearchRec.Name);
     end;
 end;
 FindClose(SearchRec);
end;

Проверяет есть в папке mp3-шки(мне надо чтобы в отчете были папки только с mp3-шками)
function HasMp3(Path: string): boolean;
var
 SearchRec: TSearchRec;
begin
 HasMp3 := False;
 FindFirst(Path + "\*.mp3", faAnyFile, SearchRec);
 while FindNext(SearchRec)=0 do
   begin
     if FileExists(Path + "\" + SearchRec.Name) then
       begin
         HasMp3 := True;
         Break;
       end;
   end;
 FindClose(SearchRec);
end;

З.Ы. Я в пинципе не просил помощи в решении всей задачи, просто может кто знает где можно взять инфу по этой теме!


 
hiperLogun ©   (2004-04-25 14:38) [3]

Вот, пожалуйста. Не знаю в чём дело, вроде всё руками делал.
Папок и файлов на сервере очень много и файл отчета получает под 11 метров. Тяжело контролировать правилно прога отсканировала или нет! Запускаю на поиск в какой нибудь маленькой ветке - всё путем, ошибок нет!

Сама процедура сканирования:
procedure TForm1.ScanTree(Path: string);
var
 SearchRec: TSearchRec;
 i: integer;
begin
 i := 0;
 FindFirst(Path+"\*.*", faDirectory, SearchRec);
 while FindNext(SearchRec) = 0 do
 begin
   if (SearchRec.Attr and faDirectory = faDirectory)
   and (SearchRec.Name[1] <>".") then
     begin
       if HasMp3(Path+"\"+SearchRec.Name+"\") then
         begin
           sTree.Add(Path+"\"+SearchRec.Name);
         end;
       ScanTree(Path+"\"+SearchRec.Name);
     end;
 end;
 FindClose(SearchRec);
end;

Проверяет есть в папке mp3-шки(мне надо чтобы в отчете были папки только с mp3-шками)
function HasMp3(Path: string): boolean;
var
 SearchRec: TSearchRec;
begin
 HasMp3 := False;
 FindFirst(Path + "\*.mp3", faAnyFile, SearchRec);
 while FindNext(SearchRec)=0 do
   begin
     if FileExists(Path + "\" + SearchRec.Name) then
       begin
         HasMp3 := True;
         Break;
       end;
   end;
 FindClose(SearchRec);
end;

З.Ы. Я в пинципе не просил помощи в решении всей задачи, просто может кто знает где можно взять инфу по этой теме!


 
MBo ©   (2004-04-25 14:54) [4]

> FindFirst(Path+"\*.*", faDirectory, SearchRec);
> while FindNext(SearchRec) = 0 do
так ты пропускаешь первое же найденное

if FindFirst()... then
repeat
...
until FindNext(SearchRec) <> 0;


 
MBo ©   (2004-04-25 14:54) [4]

> FindFirst(Path+"\*.*", faDirectory, SearchRec);
> while FindNext(SearchRec) = 0 do
так ты пропускаешь первое же найденное

if FindFirst()... then
repeat
...
until FindNext(SearchRec) <> 0;


 
hiperLogun ©   (2004-04-25 14:57) [5]

АААААААААААААААА! Балбес!!!
Спасибо огроменное! Вот тупанул!


 
hiperLogun ©   (2004-04-25 14:57) [5]

АААААААААААААААА! Балбес!!!
Спасибо огроменное! Вот тупанул!


 
hiperLogun ©   (2004-04-25 15:00) [6]

Да кстати, уважаемый MBo!
У меня там в разделе Media вопросик воляется, если не затруднит посмоти! Спасибо!


 
hiperLogun ©   (2004-04-25 15:00) [6]

Да кстати, уважаемый MBo!
У меня там в разделе Media вопросик воляется, если не затруднит посмоти! Спасибо!



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

Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.039 c
14-1082373096
lak
2004-04-19 15:11
2004.05.09
как аналитически доказать- что больше


14-1082109682
Voland2000
2004-04-16 14:01
2004.05.09
Nokia 8110-forever


1-1082906276
Seldon
2004-04-25 19:17
2004.05.09
Информация о Themes.pas


9-1071126992
ZAROLF
2003-12-11 10:16
2004.05.09
Помогите с физикой в 2D аркаде !


7-1079534916
Arm79
2004-03-17 17:48
2004.05.09
Создание форм в потоках





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский