Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.08.2010, 13:03   #1
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию TreeView - количество корневых узлов

собственно вопрос в теме, как узнать количество корневых узлов в TreeView, не могу понять, голова совсем не варит.
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Старый 11.08.2010, 13:08   #2
Ins
Форумчанин
 
Регистрация: 29.12.2007
Сообщений: 137
По умолчанию

Проверяй свойство Level в цикле по TreeView.Items.Count
Ins вне форума Ответить с цитированием
Старый 11.08.2010, 13:09   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что-то типа:
Код:
var i:integer;t: TTreeNode;
begin     i:=0;
 t:=TreeView1.Items[0];
repeat
 t:=t.getNextSibling;
 inc(i);
until t=nil;
Caption:=IntToStr(i);
end;
Цитата:
в цикле по TreeView.Items.Count
А если их миллиардов девятсот?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.08.2010, 13:15   #4
Ins
Форумчанин
 
Регистрация: 29.12.2007
Сообщений: 137
По умолчанию

Цитата:
А если их миллиардов девятсот?
Маловероятно, но вот если их 0 и TreeView1.Items[0] = nil...
Ins вне форума Ответить с цитированием
Старый 11.08.2010, 13:16   #5
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию

Цитата:
Проверяй свойство Level в цикле по TreeView.Items.Count
это я и сам догадался, я думал может есть свойство Count, которое сразу берет количество корневых узлов.
Цитата:
Что-то типа:
Код:
var i:integer;t: TTreeNode;
begin     i:=0;
 t:=TreeView1.Items[0];
repeat
 t:=t.getNextSibling;
 inc(i);
until t=nil;
Caption:=IntToStr(i);
end;
пасиб работает
Не забываем говорить спасибо за помощь - это ведь так приятно

Последний раз редактировалось Sanprof; 11.08.2010 в 13:25.
Sanprof вне форума Ответить с цитированием
Старый 11.08.2010, 13:21   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но вот если их 0 и TreeView1.Items[0] = nil...
Это да. Не учитывал я этого. Ну тут я думаю автор всетки догадается поставить проверку
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.08.2010, 13:26   #7
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию

вопрос вдогонку, как выделить последний корневой узел если их, к примеру, 10?
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Старый 11.08.2010, 13:28   #8
Ins
Форумчанин
 
Регистрация: 29.12.2007
Сообщений: 137
По умолчанию

Точнее даже не так... TreeView1.Items[0] не вернет nil, а выплюнет EListIndexError. Проверка количества должна стоять в самом начале
Ins вне форума Ответить с цитированием
Старый 11.08.2010, 13:35   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
выделить последний корневой узел
Код:
...
until t=nil;
Caption:=IntToStr(i);
t.Selected:=true;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.08.2010, 13:45   #10
Ins
Форумчанин
 
Регистрация: 29.12.2007
Сообщений: 137
По умолчанию

Stilet, ты перед тем как запостить сам то код читаешь? У тебя t = nil
Ins вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление узлов в XML в Delphi, исользуя Treeview Анастасия999 Помощь студентам 0 08.05.2010 10:05
Сортировка узлов дерева treeview gool Общие вопросы Delphi 1 06.11.2009 09:20
Поиск узлов в TreeView Ko$tello Компоненты Delphi 1 14.11.2006 17:18
Сохранение и загрузка узлов TreeView из базы данных Ko$tello Компоненты Delphi 1 14.11.2006 17:15