| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Возвратить Случайную папку |
| Автор: DenageS 18.10.2006, 17:51 |
| Помогите как можно возвратить случайную папку (существующую) на любом из дисков компа. |
| Автор: Akina 18.10.2006, 18:14 |
| Получить список всех папок (как обычно, рекурсивным поиском). Подсчитать количество. Сгенерить случайное число в полученном диапазоне целых. Выдать соотв. папку из списка. |
| Автор: JUmPER 19.10.2006, 08:20 |
| а зачем это, если не секрет? место локации трояна? |
| Автор: DenageS 19.10.2006, 17:50 | ||
Можно пожалуйста поподробнее. "рекурсивным поиском"? Объясни. До троянов мне далеко! |
| Автор: JUmPER 19.10.2006, 18:40 |
| получаем список дисков для каждого диска: получаем список папок в корне для каждой папки из списка: получаем список папок в ней... и т.д. все папки в массив (например) и выбираем из него случайный элемент -- вот и случайная папка PS: избегаем ссылок на верхние уровни (во избежание зацикливания) |
| Автор: DenageS 20.10.2006, 17:06 |
| А сами команды не найдутся? |
| Автор: JUmPER 23.10.2006, 09:32 | ||||
держи код класса, который делает то, что тебе нужно
пример использования:
не забудь добавить к проекту Microsoft Scripting Runtime |
| Автор: DenageS 23.10.2006, 10:42 |
| JUmPER, я вставляю этот код в модуль. На CFolderProcessor ругается "пределяемый пользователем тип не определен". При попытке вызова msgbox GetRandomFolder, "нижний идекс вне диапазона" Я наверное что-то делаю не так? |
| Автор: JUmPER 23.10.2006, 10:54 |
| создаёшь в проекте новый класс с именем CFolderProcessor и добавляешь в него код |