Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.08.31;
Скачать: CL | DM;

Вниз

TTreeView скопировать в другой   Найти похожие ветки 

 
mc2   (2008-07-22 18:03) [0]

Есть два TTreeView: один уже заполнен, второй пустой. Во втором я хочу собрать все-все элементы из первого, но за исключением тех элементов, которые называются "помидоры", это например.

Я понимаю, что надо циклом пройтись и добавлять все во второе дерево, но вот что-то с этим циклом совсем плохо, никак не придумаю каким образом действовать.
Что подскажете?

Спасибо.


 
Dennis I. Komarov ©   (2008-07-22 18:07) [1]

Подскажем что циклом не надо... И вообще не надо оно тебе, ибо:

> но вот что-то с этим циклом совсем плохо, никак не придумаю...

а он там самый простой


 
Palladin ©   (2008-07-22 18:08) [2]

TreeView2.Items.Assign(TreeView1.Items);
потом беги в обратном цикле (с количество-1 до 0) и удаляй свои помидоры


 
Denis__ ©   (2008-07-22 18:28) [3]


> удаляй свои помидоры

:-D


 
mc2   (2008-07-22 19:45) [4]

Спасибо. Вариант с assign - уже использовался. Но я не указал, что у меня два разных дерева (один стандартный TTreeView, второе не стандартное - TVirtualStringTree), в таком случае вариант с assign не годиться.

Мне именно нужено перебрать и вручную добавить узлы. Я никак не соображу с циклом, и я знаю что он примитивный.

Вариант все привести к деревьям одних типов пока не годиться, мне нужно просто сделать наживку, потом я все переведу на одни и те же деревья.


 
Сергей М. ©   (2008-07-22 19:56) [5]


> за исключением тех элементов, которые называются "помидоры"


Рекурсия.
Учитывающая или исключающая гнилые помидоры, которые сейчас в тебя полетят ил не полетят.
Куда ж без нее)..


 
mc2   (2008-07-22 20:55) [6]

Вся проблема в том что там рекурсия, у меня никак не получается заставить свою голову работать:

procedure AddToNewTree(SrcNode: TTreeNode);
begin
 NewTree.AddChild ???

 if SrcNode.HasChildren then
   for i := 0 to SrcChildren - 1 do
      AddToNewTree(SrcNode.Item[i]);
end;

...

AddToNewTree(OldTreeView.Items.GetFirst);


 
Сергей М. ©   (2008-07-22 21:07) [7]


> проблема в том что там рекурсия


А я думал, что проблема в помидорах)

Какие тебе нафих помидоры, если ты с элементарной беспомидорной рекурсией не можещь справиться ?


> AddChild ???


Что "???"

Ты не знаешь параметры вызова этого метода ? или где ?


 
Сергей М. ©   (2008-07-22 21:10) [8]

procedure AddToNewTree(ParentNode, ChildNode: TTreeNode);



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

Текущий архив: 2008.08.31;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
11-1192972349
Dodfr
2007-10-21 17:12
2008.08.31
Problem with 2.83 since 2.53


2-1216845572
Terasbetoni
2008-07-24 00:39
2008.08.31
Как устанавливать библиотеки? В частности GLScene.


15-1215672165
ееееееекенитен
2008-07-10 10:42
2008.08.31
есть ли обновляемый список сайтов с играми/ порнухой и пр?


2-1216973773
Vlad Oshin
2008-07-25 12:16
2008.08.31
почему выдает AV ?


1-1197277902
chuzhakin
2007-12-10 12:11
2008.08.31
докинг панели пересоздаются