информационная безопасность
без паники и всерьез
 подробно о проекте
За кого нас держат?Портрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Вредоносный релиз LiteLLM 
 Мощные индийские ключи 
 Срочные патчи для критических уязвимостей... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Pascal] Будь любезен... 23.08.01 14:41  Число просмотров: 935
Автор: DamNet <Denis Amelin> Статус: Elderman
<"чистая" ссылка>
<programming>
[Pascal] Замучился. Может у кого есть готовое решение? 20.08.01 17:57  
Автор: DamNet <Denis Amelin> Статус: Elderman
<"чистая" ссылка>
Прохождение всех подкаталогов, заданного каталога. Дайте хотябы алгоритм!!! А то я ужо мягко говоря затрахался.
[Pascal] Замучился. Может у кого есть готовое решение? 23.08.01 13:36  
Автор: Chingachguk Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Прохождение всех подкаталогов, заданного каталога. Дайте
> хотябы алгоритм!!! А то я ужо мягко говоря затрахался.

Могу выслать свой исходник для DOS(Pascal 7.0) (вставки на asm) - там с интерфейсом хождение по текущему диску с заходом в подкаталоги - или просто поиск файлов в подкаталогах на чистом asm.
Не требует больших буферов. НЕ рекурсивна.

Писать: vzubko@chat.ru
[Pascal] Будь любезен... 23.08.01 14:41  
Автор: DamNet <Denis Amelin> Статус: Elderman
<"чистая" ссылка>
[Pascal] Замучился. Может у кого есть готовое решение? 21.08.01 03:47  
Автор: Бяша <Biasha> Статус: Member
<"чистая" ссылка>
> Прохождение всех подкаталогов, заданного каталога. Дайте
> хотябы алгоритм!!! А то я ужо мягко говоря затрахался.

1. Поиск в глубину: берёшь каталог, в цикле для каждого его подкаталога (если таких нет, то что-то делаешь) вызываешь эту же процедуру.

2. Поиск в ширину (это когда нужно всех одновременно получить, или просто памяти дофига): берёшь каталог, динамически создаёшь массив с именами его подкаталогов, после этого в цикле создаёшь такой же массив, для каждой записи в массивах, полученных на прошлом шагу.
[Pascal] Замучился. Может у кого есть готовое решение? 21.08.01 11:05  
Автор: cyril_ Статус: Незарегистрированный пользователь
<"чистая" ссылка>
// Выдрал кусок из проги под win32 console
// Можешь доработать под себя, в принципе работает
// сканирует только один логический диск
// недостаток, так как проверки на количество вызовов, то стек может
// переполнится
// Думаю алгоритм обхода должен быть понятен

Const
FileMask = '*';

procedure RecurseSearch(Location : string);
var
F : TSearchRec;
begin
if FindFirst(Location+FileMask, faAnyFile, F) <> 0 then exit;
repeat
if (F.Name = '.') OR (F.Name = '..') then continue;
if (FileGetAttr(Location+F.Name) AND faDirectory) > 0 then RecurseSearch(Location+F.Name+'\')
else
if (UpperCase(F.Name) = UpperCase('file.txt')) then
Добавим куда-либо путь(Location+F.Name) к найденному файлу

until FindNext(F) <> 0;
FindClose(F);
end;
1





Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach