Форум: "Начинающим";
Текущий архив: 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