Про поиск в дереве...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Boss IT
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 01.07.2005 (Пт) 21:23
Откуда: Челябинск city

Про поиск в дереве...

Сообщение Boss IT » 11.10.2005 (Вт) 6:40

Доброе утро....
Искал в форуме, нашел:
http://bbs.vbstreets.ru/viewtopic.php?t ... A+treeview

но возник такой вопрос:
он ругается на 2 строчки

curNode.EnsureVisible()
SearchNodes(curNode.Nodes, strText)

И когдта пытаюсь вызвать:
SearchNodes(TV1.Nodes, txtSearch.Text)
тоже ругается....

В чем бело?


Public Sub SearchNodes(ByVal cNodes As TreeNodeCollection, ByVal strText As String)
'рекурсивный поиск по всему дереву:
Dim curNode As TreeNode
For Each curNode In cNodes
If curNode.Text = strText Then
'curNode - найденный элемент, можно теперь например его изменить:
curNode.BackColor = Color.Aqua
curNode.EnsureVisible()
End If
If curNode.Nodes.Count > 0 Then
SearchNodes(curNode.Nodes, strText)
End If
Next
End Sub

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Re: Про поиск в дереве...

Сообщение tyomitch » 11.10.2005 (Вт) 16:50

Boss IT писал(а):SearchNodes(curNode.Nodes, strText)

Скобки убери.
Изображение

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 11.10.2005 (Вт) 16:54

Похоже ответ "Скобки убери" становиться весьма распросттранееным и вторым по частоте после вопля ПОИСК!!!
Весь мир матрица, а мы в нем потоки байтов!

Boss IT
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 01.07.2005 (Пт) 21:23
Откуда: Челябинск city

Re: Про поиск в дереве...

Сообщение Boss IT » 11.10.2005 (Вт) 20:58

tyomitch писал(а):
Boss IT писал(а):SearchNodes(curNode.Nodes, strText)

Скобки убери.


Ругается на это:

Код: Выделить всё
Public Sub SearchNodes(ByVal cNodes As TreeNodeCollection, ByVal strText As String)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 11.10.2005 (Вт) 21:12

TreeNodeCollection замени на Nodes.
Изображение

Boss IT
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 01.07.2005 (Пт) 21:23
Откуда: Челябинск city

Сообщение Boss IT » 11.10.2005 (Вт) 21:28

tyomitch писал(а):TreeNodeCollection замени на Nodes.


Теперь ошибка:

Dim curNode As TreeNode

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 11.10.2005 (Вт) 23:03

TreeNode => Node
Изображение

Boss IT
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 01.07.2005 (Пт) 21:23
Откуда: Челябинск city

Сообщение Boss IT » 11.10.2005 (Вт) 23:28

tyomitch писал(а):TreeNode => Node


Код: Выделить всё
curnode.BackColor = Color.Aqua
....
If curnode.Nodes.Count > 0 Then


:roll: :roll: :roll:

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 11.10.2005 (Вт) 23:38

Color.Aqua => vbCyan
curnode.Nodes.Count => curnode.Children
Изображение

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 11.10.2005 (Вт) 23:40

Пардон, что вмешиваюсь, но curnode.Nodes.Count - это вообще из какой библиотеки? Что-то непохоже на MSComCtrl...

Boss IT
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 01.07.2005 (Пт) 21:23
Откуда: Челябинск city

Сообщение Boss IT » 12.10.2005 (Ср) 0:10

tyomitch писал(а):Color.Aqua => vbCyan
curnode.Nodes.Count => curnode.Children


SearchNodes TV1.Nodes, Text1.Text

когда вызывается повторно говорит:

run-time error 28
Out of stack space

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 12.10.2005 (Ср) 0:16

Ennor писал(а):Пардон, что вмешиваюсь, но curnode.Nodes.Count - это вообще из какой библиотеки? Что-то непохоже на MSComCtrl...

.net FW, видимо
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 114

    TopList