![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Pavelbej |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 419 Регистрация: 5.7.2005 Репутация: нет Всего: 6 |
Здравствуйте!
В VirtualStringTree загружаю папки из выбранной директории. Получается древовидная структура. Так вот, как запомнить выбранный узел, и при следующем старте программы автоматически его выделить. Не могу понять, как это сделать? Куда копать? |
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
Скорей всего запомнить файл, который выделен. Потом при загрузке найти узел, "отвечающий" за этот файл и выделить.
|
|||
|
||||
Pavelbej |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 419 Регистрация: 5.7.2005 Репутация: нет Всего: 6 |
Ну, как один из вариантов, я так и предполагал (ведь при следующем старте, этой папки может уже и не существовать). Но вот как пройтись по узлам, по их дочерним узлам, и найти этот путь? |
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
||||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Деревья красиво сохраняются в виде XML.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Pavelbej |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 419 Регистрация: 5.7.2005 Репутация: нет Всего: 6 |
Что-то я совсем запутался. Значит так, беру имя корневой папки - это RootNode, так? Дальше я должен искать дочерний узел с именем который идет после корневой папки (из сохраненного пути). Как только нашел, но путь не совпадает (т.е. длиннее сохраненный), лезем в него и ищем дальше в дочерних. Вроде так? Если все верно то с логикой все в порядке, а вот с чего начать писать код, ну никак не соображу, или может уже поздно. А зачем лишние маневры, проверки, если есть папки. |
|||
|
||||
AriX |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 16.6.2003 Репутация: 5 Всего: 19 |
Pavelbej
Сохранять выделенный нод можно, например, с помощью функции Path у VirtualStringView. Загружаешь сохраненный путь. Идёшь по нему циклом, поиск по разделителю (/ или \). Найдя имя очередной папки, ищещь ее в children'ах текущего parent-нода. Если найдешь - меняешь parent-нод на найденный; если нет - можно оставить выделенным последний найденный или сделать что-то другое. И так, пока в пути не будет найден разделитель -- т.е. дошли до имени файла. Опять же, ищешь его в текущем parent-ноде. |
|||
|
||||
Pavelbej |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 419 Регистрация: 5.7.2005 Репутация: нет Всего: 6 |
Вот что удалось сделать:
Функция поиска
При создании формы
Оказалось что код работает только для дочерних узлов Корнегого узла. То есть дочерние узлы этих дочерних узлов, не находит. Понимаю что ошибка в функции поиска, но где? |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |