Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подскажите (дерево объектов), работа с TreeView 
:(
    Опции темы
WildS
Дата 28.6.2006, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 28.6.2006

Репутация: нет
Всего: нет



 Подскажите плз, как вностить в обьект TreeView файлы и папки ?
А потом сохранять пути ко всем файлам и папкам на винт и по этой информации потом восстанавливать все файлы и папки обратно в TreeView ???

Лучше код и поподробнее ... smile 
PM MAIL   Вверх
Naghual
Дата 29.6.2006, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Объект TreeView не позволяет хранить в себе файлы и папки!
Это стринговая коллекция. Соответственно хранить можно только текстовые значения.
Это по поводу терминологии.

Теперь по делу.
1. Для представления папок и файлов в древовидной структуре тебе нужно сначала разобратся со свойством Relationship метода Add в коллекции Nodes.

2. 
Цитата(WildS @  28.6.2006,  19:50 Найти цитируемый пост)
потом сохранять пути ко всем файлам и папкам на винт

А это зачем? Поясни СМЫСЛ данного действия - может тогда станет понятнее что ты хочеш.


Цитата(WildS @  28.6.2006,  19:50 Найти цитируемый пост)
Лучше код и поподробнее ... 

Ага... 
 


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Тутанхамец
Дата 29.6.2006, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 10.10.2005
Где: в пирамидЕ!

Репутация: 4
Всего: 6



И еще прокрути вот эту тему
http://forum.vingrad.ru/index.php?showtopic=92479&st=45
до того места, где XPurple спрашивает нечто подобное.  
PM MAIL   Вверх
WildS
Дата 29.6.2006, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 28.6.2006

Репутация: нет
Всего: нет



 У меня есь rar-архив с папками, файлами и т.д. относительные пути у меня записаны в файле, мне нужно просматривать этот rar архив...

Тут два варианта, или открывать сам архив, или из записанных значений построить дерево и т.д.

Какой вариант будет более целесообразным ... ?
Скажите как сделат ... smile 
PM MAIL   Вверх
Naghual
Дата 29.6.2006, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Получить содержимое архива и построить дерево 


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
WildS
Дата 29.6.2006, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 28.6.2006

Репутация: нет
Всего: нет



Да, именно это ... может какой компонент есть ?
Только нужно, чтобы это выглядело вменяемо ... в смысле в одной стороне папки, в другой файлы и т.д. 

В итоге мне нужно 2 программы, одна состовляет дерево ... и упаковывает файлы в рар (с упаковкой я разобрался, с составлением нет ...)

Вторая просматривает и извлекает файлы (с извлечением разобрался с просмотром нет ...)

Помогите плз ... 

Это сообщение отредактировал(а) WildS - 29.6.2006, 12:48
PM MAIL   Вверх
Naghual
Дата 29.6.2006, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



В каком виде ты получаеш дерево папок/файлов? 


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
WildS
Дата 29.6.2006, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 28.6.2006

Репутация: нет
Всего: нет



 В том то и дело, что я не могу получить папки и файлы из rar архива ... 
PM MAIL   Вверх
Naghual
Дата 29.6.2006, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Ну так это же не вопрос про TreeView!
Ты справку по рару читал? Что-нибудь про ключи командной строки слышал?

Дерзай.

А эту тему можно закрыть так как она себя исчерпала. 


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
WildS
Дата 29.6.2006, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 28.6.2006

Репутация: нет
Всего: нет



 Разве с помощью ключей можно получиь список файлов ? сомневаюсь ...
Как паковать и распаковывать файлы - я знаю, но как их выводить для пользователя ? - проблема ...

Задам по другому :

 У меня есть обычный список файлов :

C:\1.txt
C:\music\123.mp3
C:\music\qwerty\321.mp3

как их вывести для пользователя ... т.е. с одной стороны папки,  с другой файлы и чтобы по этим папкам можно было перемещаться ... ? 
PM MAIL   Вверх
Naghual
Дата 29.6.2006, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Читаеш строки. Парсиш. Создаеш структуру в TreeView.

Добавлено @ 14:45 
Как создавать структуру - я уже говорил.

Твоих попыток мы не видели - вероятно ты ожидаеш готового решения - его не будет.

Добавлено @ 14:47 
Цитата(WildS @  29.6.2006,  14:17 Найти цитируемый пост)
Разве с помощью ключей можно получиь список файлов ? сомневаюсь ...

А ты не сомневайся - ты проверь. 


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
WildS
Дата 29.6.2006, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 28.6.2006

Репутация: нет
Всего: нет



 Кое какие решения у меня есть, т.е. я могу загружать и файлы и папки из списка в TreeView ... но, мне нужно, чтобы папки загружались в TreeView, а файлы в ListBox - это я сделаю, но как сделать так, чтобы когда ты кликаешь на выбранной директории в TreeView, в ListBox появлялись файлы ?
(подчёркиваю, что на самом деле этих папок НЕТ и путей не существует, т.е. они виртуальны ...) 
PM MAIL   Вверх
Naghual
Дата 29.6.2006, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Создаеш коллекцию а-ля файловая система.
Читаеш файл в коллекцию.
Из коллекции строиш TreeView.
По клику в TreeView заполняеш ListBox из коллекции. 


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
WildS
Дата 29.6.2006, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 28.6.2006

Репутация: нет
Всего: нет



Цитата(Naghual @ 29.6.2006,  15:03)
Создаеш коллекцию а-ля файловая система.
Читаеш файл в коллекцию.
Из коллекции строиш TreeView.
По клику в TreeView заполняеш ListBox из коллекции.

 Легко тебе говорить ... smile
Еще бы узнать как эту коллекцию создавать ... ;)
 
PM MAIL   Вверх
Naghual
Дата 29.6.2006, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Ты знаеш что такое коллекция вообще? 


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Naghual
Дата 29.6.2006, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Возьми за пример Коллекцию Nodes того-же TreeView.
Создай такую-же, но с небольшими изменениями для отличия Папок от Файлов. 


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
WildS
Дата 29.6.2006, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 28.6.2006

Репутация: нет
Всего: нет



Цитата(Naghual @ 29.6.2006,  15:22)
Ты знаеш что такое коллекция вообще?

 Нет, увы ... 
Я сам учился basic'у и многого не знаю ... smile
Обьяснишь ? 
PM MAIL   Вверх
Naghual
Дата 29.6.2006, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Тогда сначала изучи коллекции.

Добавлено @ 17:52 
В твоей задаче без них никак не обойтись. 


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
WildS
Дата 2.7.2006, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 28.6.2006

Репутация: нет
Всего: нет



 Почти сделал ...

Получается список файлов с помощью UnRar Control for VB6 (с сайта WinRAR) ...

Все файлы и папки добавляются в дерево с помощью кода :

Код

Public Sub AddPathToTree(Tree As TreeView, Path As String)
    Dim PathItem As String
    Dim NewItem As String
    Dim PathLen As Integer
    Dim c As String * 1
    Dim i As Integer

    'Добавляем обратный слэш в качестве разледителя
    If Right$(Path, 1) <> "\" Then Path = Path & "\"

    PathLen = Len(Path)

    'Ищем в полном пути обратные слэши
    For i = 1 To PathLen
        c = Mid$(Path, i, 1)

        If c = "\" Then
            If PathItem = "" Then
                'Добавляем корневую ветвь в дерево
                On Error Resume Next
                Tree.Nodes.Add , , "\" & NewItem, NewItem
                PathItem = "\" & NewItem
            Else
                'Добавляем следующую дочернюю ветвь
                Tree.Nodes.Add PathItem, tvwChild, PathItem _
                    & "\" & NewItem, NewItem
                PathItem = PathItem & "\" & NewItem
            End If
            NewItem = ""100
        Else
            NewItem = NewItem & c
        End If
    Next i
End Sub

'Использование:

AddPathToTree TreeView1, _
        "RootLevel\Child1\Child2\Child3\Child4"



Осталось кое-что доделать и норм.
Всем спасибо . 
PM MAIL   Вверх
mihanik
Дата 3.7.2006, 07:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 11
Всего: 109



Посмотри здесь...


На страничке искать
Цитата

dirview.zip 
Внесение имен файлов в TreeView

  
Там же...
Цитата

Судя по отсутствию имени автора и стилистике изложения в сопроводительном файле, автром этого проекта может оказаться Microsoft. Весьма фундаментальный труд. Исчерпывающе, корректно, эффектно и надежно (:-)). В любом случае пример заслуживает классификации как самого исчерпывающего руководства по использованию TreeView. 
 

Это сообщение отредактировал(а) mihanik - 3.7.2006, 07:29


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
WildS
Дата 3.7.2006, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 28.6.2006

Репутация: нет
Всего: нет



 Спасибо, а ещё не подскажите, как сделать тоже самое, только используя ListView ?
т.е. чтобы папки, файлы там отобращались ... 
PM MAIL   Вверх
Naghual
Дата 3.7.2006, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



WildS, ну ты блин даеш... 


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0635 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.