![]() |
|
|
![]()
|
|
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 13 Всего: 60 |
Всем привет! Сталкнулся с такой задачей, есть потребность программно определить все подкаталоги (включая многократно вложенные) в заданной директории, их количество и название. Да вот что-то я не нашел подходящей ф-ции, которая бы возвращала бы название подкаталога и вообще возвращала бы информацию о его наличии.
-------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| oks |
|
|||
|
Unregistered |
Если речь о Fox, то есть такая функция как ADIR() , которая закидывает информацию о файлах и папках, содержащихся в заданной или текущей папке, в массив. При передаче третьего параметра "d" учитывает вложенность.
У меня-то несколько иной вопрос - есть ли в Fox оператор или функция, определяющая размер заданной папки. |
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 13 Всего: 60 |
oks читай внимательно вопрос! ф-ция ADIR() возвращает информацию о файлах, но не может быть использованна для заполнения установки SET PATH, т.к. не выделяет каталоги. Можно конечено попробовать пробежаться циклом, анализируя атрибут "D". Я попробую.
А вот эту задачу как раз можно решить с помощью ADIR(). Занести в массив информацию о файлах и пробежавшись циклом по массиву сложить их размер (размерность файла - это второй столбец полученного массива) -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| oks |
|
|||
|
Unregistered |
и все же согласись, что наши задачи имееют одно и то же решение
а с циклом-то конечно можно, хотелось проще |
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 13 Всего: 60 |
Обе задачи связана с работой с каталогами, поэтому неудивительно, что у них может быть однокоренное решения. Но оптимальное решение пока не найдено -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
А разве это не задачка рекурсивного обхода дерева ?
|
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 13 Всего: 60 |
AntonSaburov
??? не вижу в этой задаче ничего рекурсивного, пошаговый обход каталогов... -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| AntonSaburov |
|
||||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Так он как раз и будет рекурсивно вызывать сам себя. Пример мнемокодом
|
||||
|
|||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 13 Всего: 60 |
Мне нужны ТОЛЬКО каталоги.
-------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| AntonSaburov |
|
||||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Ну тогда что-то типа такого
|
||||
|
|||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 13 Всего: 60 |
Ну я примерно так и сделал, если это рекурсия, ну и пусть ей и остается?
-------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
![]()
|
| Правила форума "Foxpro/Clipper/Dbase" | |
|
|
Запрещается! 1. Публиковать ссылки для чисто рекламных целей. 2. Оффтопить, флеймить, говорить не культурно. Пожалуйста, адекватно задавайте свой вопрос. Тема должна создаваться с названием характеризующем Вашу проблему. Задавайте вопросы правильно - как спросите, так вам и ответят. Разрешено! Давать ссылки на статьи, обзоры, если это не нарушает первый пункт правил. Задавая вопрос, давайте нужную информацию касающуюся Вашей проблемы. Этим вы ускорите полезные ответы. P.S. Размещение рекламы будет строго наказываться! Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MoLeX |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Foxpro/Clipper/Dbase | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |