Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.08.31;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.021 c
4-1195322398
Bora_ru
2007-11-17 20:59
2008.08.31
Координаты значка на рабочем столе


2-1216888966
evgenij
2008-07-24 12:42
2008.08.31
Пропадает рисунок на канве


2-1216831690
ivanoff
2008-07-23 20:48
2008.08.31
DBGridEh - научить любить и "," и "."


15-1215708563
Nodt
2008-07-10 20:49
2008.08.31
Собираю машину.


8-1185237839
Дмитрий Белькевич
2007-07-24 04:43
2008.08.31
Сглаживание в терминальной сесии.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский