Вверх ↑
Этот топик читают: Гость
Ответов: 542
Рейтинг: 12
#1: 2009-06-07 15:47:58 ЛС | профиль | цитата
Есть пример схемы в которой все вроде бы сделано правильно, однако дерево элементов не строится или не прорисовывается не могу понять.
code_13637.txt

Еще вопрос: объязательно ли, что бы индексы элементов в дереве были без пропусков и шли последовательно?
карма: 0

0
файлы: 1code_13637.txt [4.8KB] [127]
Администрация
Ответов: 15295
Рейтинг: 1519
#2: 2009-06-07 18:28:21 ЛС | профиль | цитата
afandi писал(а):
Есть пример схемы в которой все вроде бы сделано правильно

afandi, а проверить отсутствие события onAddFailed лениво было?

afandi писал(а):
Еще вопрос: объязательно ли, что бы индексы элементов в дереве были без пропусков и шли последовательно?

что есть "индексы элементов в дереве"?
карма: 26
0
Ответов: 485
Рейтинг: 86
#3: 2009-06-07 20:34:17 ЛС | профиль | цитата
afandi писал(а):
объязательно ли, что бы индексы элементов в дереве были без пропусков и шли последовательно?

Необязательно. Нужно только следить чтобы id были уникальными и, на момент добавления ноды, parent id уже должен существовать.
Схема не работает потому, что не выполняется ни первое, ни второе условие.
В схеме ноды пытаются добавляться в таком порядке:

заголовок - id - parent id - icon
1 - 0 - 1 - 1
7 - 0 - 7 - 1
26 - 0 - 26 - 1
1) Как видно, все id равны нулю (не уникальны!)
2) На момент добавления, например, первой ноды 1 - 0 - 1 - 1 не существует ноды с id = 1!
* Самая первая нода должна иметь parent id = -1 (добавиться в корень дерева).
Вот небольшой пример построения дерева:

Add(MainForm,14150206,49,119)
{
Width=287
Height=380
Position=1
}
Add(TreeViewTrain,2363091,374,188)
{
@Hint=#24:Формат элементов дерева:|21:pid id icon node data|
Left=5
Top=5
Width=195
Height=335
Color=65535
Font=[MS Sans Serif,8,1,0,1]
WinStyle=4
Name="tree"
Tooltips=0
IconsManager="icon_tree"
CaptionIndex=3
IDIndex=1
IconIndex=2
UseHashMap=0
AddHint(-61,-43,157,26,@Hint)
}
Add(IconsManager,13774152,98,119)
{
Name="icon_tree"
Icons=['Icon'=[ZIPFE02000078DAB5923D12C22010859FD19994A6B235A5B7D023D16149875DAE94A3585AA64B0A477C0B4CF829B4D1070FF8969D81B001366C7DDF71DCE1D100070027BAA72FB4C445A6C1AA0EB98CEF30264CD224C4611C47469CEF702E4CD22424C337B5B755D6B359B7AC12B64BDC3656D7AC2AD635ABBFF0C02FCBD9705130EF993317BA60E7E68F5CE597E7BBA829B28E5281B3F7F4EC9284714D09B37FC0C4837091A0CA0A0DC279C2E44BA693EAF2CAB177E04C1FE93DDDD25B7A43E317964B2CF4937E21FE8A269CFD06A5AC1125]]
}
Add(TVT_AddNode,8712008,322,189)
{
TreeView="tree"
}
Add(Button,12073949,51,175)
{
Left=210
Top=5
Width=65
Caption="построить"
link(onClick,11417079:doFor,[])
}
Add(MT_AddData,13972430,259,189)
{
Count=5
InputMT=3
link(onAdd,8712008:doAddNode,[])
link(Data1,9325568:Random,[])
link(Data3,11349597:Value,[])
link(Data4,14148871:Value,[])
link(Data5,7986743:Value,[])
}
Add(For,11417079,96,175)
{
End=100
link(onEvent,177049:doEvent1,[])
}
Add(Memory,14148871,280,56)
{
}
Add(StrCat,1742255,231,56)
{
Str1="node"
link(onStrCat,14148871:doValue,[])
}
Add(Hub,177049,142,175)
{
OutCount=3
link(onEvent1,1742255:doStrCat,[(168,181)(168,62)])
link(onEvent2,4041870:doOperation,[(175,188)(175,160)])
link(onEvent3,13972430:doAdd,[])
}
Add(Memory,11349597,273,96)
{
Default=Integer(0)
}
Add(Memory,7986743,287,15)
{
Default=String(www)
}
Add(Math,4041870,189,154)
{
OpType=1
Op2=1
ResultType=0
link(onResult,11671199:doEvent1,[])
}
Add(Random,9325568,259,140)
{
Min=-1
Point(doMax)
}
Add(Hub,11671199,231,154)
{
link(onEvent1,9325568:doMax,[])
link(onEvent2,9325568:doRandom,[(252,167)(252,146)])
}




карма: 0

1
Голосовали:Andrey
Ответов: 542
Рейтинг: 12
#4: 2009-06-07 21:07:49 ЛС | профиль | цитата
Спасибо за подсказку. Имеется ли возможность добавить к кортежу дополнительные переменные?
карма: 0

0
Ответов: 485
Рейтинг: 86
#5: 2009-06-07 21:25:35 ЛС | профиль | цитата
afandi писал(а):
Имеется ли возможность добавить к кортежу дополнительные переменные?
Если я правильно понял вопрос, то в примере выше последний элемент MT-потока (data) и есть "дополнительная переменная", равная стороке www. Эта сторока не нужна для формирования дерева. Но она сохраниться и ее можно потом прочитать с соответствующего кортежа.
------------ Дoбавленo в 22.07:
В предыдущем посте исправил пару опечаток...
карма: 0

0
5
Сообщение
...
Прикрепленные файлы
(файлы не залиты)