Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1149446503
Jenny
2006-06-04 22:41
2006.06.25
Удаленое администрирование


2-1149261261
ZV
2006-06-02 19:14
2006.06.25
COM port DRIVER


15-1147007389
Mozart
2006-05-07 17:09
2006.06.25
Слышал ли кто - нибудь о фирме nsign.ru? предложили работу...


3-1146127390
jeka_t
2006-04-27 12:43
2006.06.25
Почему OnFilterRecord не все записи обрабатывает?


11-1129395494
Alextp
2005-10-15 20:58
2006.06.25
Runtime error на выходе KOL-приложения





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