Форум: "Начинающим";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
ВнизНужен алгоритм. Найти похожие ветки
← →
cinol (2006-06-06 06:43) [0]Здравствуйте.
Нужно создать дерево папок (как в проводнике) произвольной "вложенности", относительно заданной.
Вот чет не могу сообразить как это сделать.
← →
PZ (2006-06-06 07:11) [1]ShellTreeView
← →
cinol (2006-06-06 07:33) [2]To PZ
Дело в том что это не в проге будет использоваться, это на пхп будет карта сайта.
Поэтому я прошу алгоритм.Готовые компоненты мне не подойдут.
← →
cinol (2006-06-06 07:35) [3]из того что нашел в сети мне ничто не нравится.
← →
Loginov Dmitry © (2006-06-06 08:56) [4]Рекурсия?
← →
cinol (2006-06-06 09:52) [5]
> Рекурсия?
не знаю, что это такое?
з.ы. я новичек.
← →
Loginov Dmitry © (2006-06-06 10:33) [6]Это когда функция сама себя вызывает неопределенное число раз.
← →
cinol (2006-06-06 10:59) [7]
> Это когда функция сама себя вызывает неопределенное число
> раз.
Да наверно. Как это делается? Можно простенький пример?
← →
Loginov Dmitry © (2006-06-06 11:19) [8]Крайне полезный пример рекурсии :)
function A(I: Integer): Integer;
begin
Inc(I);
Result := I;
if I > 100 then
Exit
else
Result := A(I);
end;
← →
cinol (2006-06-07 07:51) [9]
function readdir($dir)//считывает все файлы в папке в массив $files
///////////////////////////////////////////////////////////////////////////////////////////////
function isdir($files)
foreach ($files as $value) //$files массив возвращенный функ. readdir
{if(is_dir($value)) //если папка
{readdir($value); //считаем файлы в ней
isdir($value);} //<-это и есть рекурсия?
}
в таком случае дерево папок получается не правильное.
если в директории не одна папка.
находит первую папку, в ней то-же первую, в ней ...и т.д.
второй, третьеи и др. папок нет.
Не хватает фантазии, как сделать правильно?,Есть какие нибудь мысли?
← →
MBo © (2006-06-07 08:43) [10]http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=1015254946&n=19
← →
Zeqfreed © (2006-06-07 09:07) [11]Алгоритм, собственно, такой: функция на входе получает имя директории, получает список файлов и папок в ней и вызывает саму себя для всех каталогов кроме «.» (текущий каталог) и «..» (каталог уровнем выше). Таким образом рекурсивно она обойдет все подкаталоги указанной директории.
← →
cinol (2006-06-07 09:31) [12]
> http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=1015254946&n=19
Спасибо, вечером попробую переписать на пхп.
> обойдет все подкаталоги указанной директории.
а если в подкаталогах есть еще подкаталоги? Глубина вложенности не определена.
← →
Zeqfreed © (2006-06-07 09:36) [13]
> а если в подкаталогах есть еще подкаталоги? Глубина вложенности
> не определена.
И их тоже обойдет, и все-все-все обойдет.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.011 c