Форум: "Начинающим";
Текущий архив: 2005.12.25;
Скачать: [xml.tar.bz2];
ВнизTTree Найти похожие ветки
← →
RX (2005-12-12 00:05) [0]Как перейти к след ветке
Есть дерево вида
E-------1
----2
----3
Допусти в данный момент у меня Node=1 как ко 2й ветке перейти
и переход циклический? а то если у меня в данный момент Node=3
← →
Digitman © (2005-12-12 13:38) [1]
> Допусти в данный момент у меня Node=1
> у меня в данный момент Node=3
галиматья
← →
evvcom © (2005-12-12 15:29) [2]
> Digitman © (12.12.05 13:38) [1]
Я даже до конца не дочитал, в ступор вошел. :)
← →
Morgoth_ (2005-12-12 15:34) [3]по пооду как перейти к след. ветке
GetNextSibling - получить следующую ветку
GetPrevSibling - получить предыдущую
всё остальное сумбурно как-то
← →
umbra © (2005-12-12 15:38) [4]
node2 := treeview.items[treeview.selected].getnextsibling;
← →
RX (2005-12-12 15:38) [5]в каждом узле хоть скоко подузлов
всё динамически заполняется
вот например появился Узел с тремя подузлами
надо найти определённый подузел этого Узла
чтобы в найденный подузел записать ещё подузлы
← →
umbra © (2005-12-12 15:40) [6]TTreeNode + F1. раздел methods
← →
Morgoth_ (2005-12-12 15:45) [7]а как вообще ты собираешься определять в какой узел надо добавлять?
← →
Digitman © (2005-12-12 15:48) [8]
> RX (12.12.05 15:38) [5]
ты о каком конкретно классе речь ведешь, клоун ?)
← →
RX (2005-12-12 15:50) [9]У меня тут целая книженция. Примеров нет.
строка node2 := treeview.items[treeview.selected].getnextsibling;
ошибку выдаёт Инкомпатбл типс: интеджр и титринод
← →
RX (2005-12-12 15:53) [10]класс TTreeView
а как вообще ты собираешься определять в какой узел надо добавлять?
if (Node.HasChildren=false) and (Node.Text="E")
и там допустим Node:=TreeView.Items.AddChild(Node,"E");
← →
Digitman © (2005-12-12 15:54) [11]
> RX (12.12.05 15:50) [9]
> У меня тут целая книженция
молодца.
судя по твоим постам, у всех есть только одна книженция - в точности та же, что и у тебя... и других "книженций" и инф-ции в мире не существует.
и все ОБЯЗАНЫ знать, что речь ты ведешь именно о классе TTreeView.
так ?
node2 д.б. объявлен как TTreeNode
← →
Morgoth_ (2005-12-12 15:54) [12]node2 := treeview.selected.getnextsibling
← →
RX (2005-12-12 15:56) [13]мне надо чтобы если условию не подчиняется то перейти к след. подузлу данного узла или вообще перейти на уровень выше
← →
Morgoth_ (2005-12-12 15:58) [14]if (Node.HasChildren=false) and (Node.Text="E")
и там допустим Node:=TreeView.Items.AddChild(Node,"E");
пробегаешь по всем элементам дерева и условие на каждом применяешь, только элементу надо присвоить уникальный id в Data, потому что названия могут быть одинаковыми
← →
RX (2005-12-12 15:59) [15]Node у меня и так TTreeNOde
node := treeview.selected.getnextsibling;
вылетает с ошибкой (дизассемблерной)
← →
Morgoth_ (2005-12-12 15:59) [16]мне надо чтобы если условию не подчиняется то перейти к след. подузлу данного узла или вообще перейти на уровень выше
еще одно слово в помощь - рекурсия
← →
RX (2005-12-12 16:06) [17]а на уровень выше как вылазить?
← →
RX (2005-12-12 16:17) [18]блин интересно как это по всем пробежать у меня их всё время разное число и структура
вот простой примерчик (Node у меня как указатель)Node:=TreeView.Items.Add(Nil,"E"); //указатель на корне
TreeView.Items.AddChild(Node,"E");
Node:=TreeView.Items.AddChild(Node,";");//указатель на узле причём на втором
как заставить этот указатель Node быть на первом узле?
← →
Morgoth_ (2005-12-12 16:52) [19]блин интересно как это по всем пробежать у меня их всё время разное число и структура
создай процедуру, которая вызывает сама себя:
метка1
в эту процедуру передаешь TTreeNode, смотришь есть ли у него дочерние элементы, если есть, то пробегаешь по каждому из них и вызываешь эту же процедуру в самой себе, а дальше goto метка1
попутно применяй свои условия :)
← →
RX (2005-12-12 17:02) [20]тогда конкретнее вопрос как выполнить такое действие?
"Выбрать КРАЙНЮЮ с начала ,содержащую тескт <<E>>, ветку без дочерних"
← →
RX (2005-12-12 17:05) [21]т.е. если структура такая
E------1
----E
----3
----E
нужен не только котрый удовлетворяет условию
if (Node.HasChildren=false) and (Node.Text="E")
а ещё и КРАЙНЮЮ!!!!
как эту определить КрАЙность
← →
Morgoth_ (2005-12-12 17:13) [22]Для этого лучше искать элемент не по имени, а по уникальному идентефикатору, по принципу, который описан выше.
Тяжелая наверное все таки книженция.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.12.25;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.013 c