Вниз
Скачать: CL | DM;

Подскажите пожалуйста: Treeview&TreeNode + array   Найти похожие ветки 

 
riko ©   (2004-06-08 16:28) [0]

Скорбно признавать, но силенок у меня нехватает.
Проблема в следующем:
есть массив (FKlasses: array of TFKlas;)
есть свойства этого TFKlas -
   IdNum: Integer read FIdNum write FIdNum;
   Names:  String read FNames write FNames;
   PredokNum:  Integer read FPredokNum write FPredokNum;
После некоторых манипуляций в массиве есть данные.
Как занести эти данные в TreeView, согласно:
   FKlasses[i].PredokNum = номер (IdNum) предка в базе;
топчусь на месте уже неделю, все понимаю, а написать не получается.....
подтолкните, плиз.
Спасибо.


 
dmitry99 ©   (2004-06-12 04:51) [1]

TTreeNode.Data


 
riko ©   (2004-06-12 17:26) [2]

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


 
Igorek ©   (2004-06-12 21:50) [3]

procedure TForm1.Button1Click(Sender: TObject);

 procedure AddItems(ParentNode: TTreeNode; const Index: Integer);
 var
   CurNode: TTreeNode;
   I: Integer;
 begin
   CurNode := TreeView1.Items.AddChild(ParentNode, FKlasses[Index].FNames);
   for I := 0 to Pred(Length(FKlasses)) do
     if (FKlasses[I].FPredokNum = Index) and (FKlasses[I].FPredokNum <> 0) then
       AddItems(CurNode, I);
 end;
 
var
 Root: Integer;
begin
 Root := 0;
 while Root < Length(FKlasses) do
 begin
   if FKlasses[Root].FPredokNum = 0 then // FPredokNum = 0 признак корня
     break;
   Inc(Root);
 end;

 AddItems(nil, Root);
end;


 
riko ©   (2004-06-15 13:50) [4]

to Igorek:
нет, в том то и дело, что в корень я добавлять умею,даже все имеющиееся значения FKlasses с признаком FPredokNum=0, хотя огромное спасибо....
Проблема в следующем, я добавляю корни веток, но после этого не могу в необходимую ветку добавить ветви в цикле.
Застрял на том, как уникально идентифицировать корни и последующие узлы, как увязать это со значением в базе, и как последовательно сделать текущими все Items, то есть как програмно перебрать все ветви и ответления сверяя значение идентификатора (ID)со значением FPredokNum добавляемого элемента, тем более что я заранее не знаю ни колличество ни значение элементов массива.
TTreeNode.Data конечно многое пояснил, но там осталось только научится последовательно переходить по всем ветвям и узлам.
Если есть какие нибудь ресурсы именно по этому вопросу - дайте пожалуйста линк.
Спасибо.


 
Igorek ©   (2004-06-15 17:56) [5]


> riko ©   (15.06.04 13:50) [4]

Не понял,
> Igorek ©   (12.06.04 21:50) [3]
- это решение задачи

> riko ©   (08.06.04 16:28)  

?

> TTreeNode.Data конечно многое пояснил

В упор не понимаю что он тебе пояснил в контексте твоей задачи. Поясни мне. Заодно и доработай изначальную постановку задачи.

Потом обговорим [4].



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
14-1086903527
VID
2004-06-11 01:38
2004.06.27
ещё немного о webmoney


4-1084433840
Nebiyev
2004-05-13 11:37
2004.06.27
Отображение индикатор языка


14-1086590009
ИМХО
2004-06-07 10:33
2004.06.27
"The object invoked has disconnected from its clients"


14-1085858493
Nick-From
2004-05-29 23:21
2004.06.27
Как написать рецензию на диплом?


1-1087301794
han
2004-06-15 16:16
2004.06.27
отлавливание момента перемещения контрола




   Наверх