Главная страница
    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.01 c
2-1149437413
alex007
2006-06-04 20:10
2006.06.25
Создание компонентов на форме в запущенном приложении


3-1145967623
Express
2006-04-25 16:20
2006.06.25
TDBGrid - номер текущей записи и всего записей в таблице


2-1149683585
Тимофей Юрьевич
2006-06-07 16:33
2006.06.25
помогите разобраться как лучше?


15-1148796555
Javabeginner
2006-05-28 10:09
2006.06.25
Java


15-1149077216
Ламот
2006-05-31 16:06
2006.06.25
Помогите пож. идиоту с дровами на bluetooth под Win98





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