Страница: 1 |
|
Вопрос: Помогите новичку с TreeView (заполнить из FullPath
|
Добавлено: 02.10.08 15:02
|
|
Автор вопроса: Artur
|
Всем доброе время суток.
Такая проблема- нужно создать не большую базу данных, проект почти готов. Не могу ни как сообразить по написанию куска программы для того чтобы заполнить TreeView с помощью FullPath типа (город\район\дом\кв…). Написал модуль который каждую строчку разбивает в массив (по элементу).
Необходимо отсортировать массив и восстановить из него TreeView как структуру.
Годод\район1\улица1\дом1
Годод\район2\улица2\дом2
Город-
Район1 -
| | - Улица1-
| | - дом1…
Район2-
| - Улица2-
| - дом2…
Понимаю это сложно, но хотелось бы универсальный модуль который заполнял дерево из наборов FullPath т.к считаю это удобно. Или я не прав, посоветуйте.
Ответить
|
Номер ответа: 1 Автор ответа: Abriel
Вопросов: 18 Ответов: 37
|
Профиль | | #1
|
Добавлено: 02.10.08 23:07
|
Возможно я не понял, но кажется нужно использовать рекурсию при сохранении веток "дерева" и последовательное считывание путей веток из файла и воссоздание их в TreeView. Надеюсь это подскажет:
- Private Sub AddPathToTree(Tree As TreeView, Path As String, SectionType As Integer)
- Dim PathItem As String
- Dim NewItem As String
- Dim PathLen As Integer
- Dim c As String * 1
- Dim i As Integer
- Dim N As Node
-
-
- 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
- Set N = Main.Tree.Nodes.Add(, , "\" & NewItem, NewItem, 1, 2)
- N.Tag = "T"
- N.EnsureVisible
- PathItem = "\" & NewItem
- Else
-
- If SectionType = 1 Then
- Set N = Main.Tree.Nodes.Add(PathItem, tvwChild, PathItem & "\" & NewItem, NewItem, 1, 2)
- N.Tag = "E"
- N.EnsureVisible
- PathItem = PathItem & "\" & NewItem
- ElseIf SectionType = 2 Then
- Set N = Main.Tree.Nodes.Add(PathItem, tvwChild, PathItem & "\" & NewItem, NewItem, 1, 2)
- N.Tag = "U"
- N.EnsureVisible
- PathItem = PathItem & "\" & NewItem
- End If
- End If
- NewItem = ""
- Else
- NewItem = NewItem & c
- End If
- Next i
- End Sub
Ответить
|
Страница: 1 |
Поиск по форуму