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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2012, 20:32   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
Вопрос Как лучше (надежнее) удалить узел из TreeView?

Добрый вечер! Мне нужно удалить из дерева узел, название которого совпадает с тем, что введено в sEdit1.Text. Код удаляет узел нормально, но потом выдает ошибку "Invalid index". Вот код:
Код:
 for i := 0 to Form1.tv1.Items.Count - 1 do
   begin
     if Form1.tv1.Items[i].Text = sEdit1.Text then
     begin
       Form1.tv1.Items[i].Delete;
     end;
   end;
Суть задачки: в дерево добавляется узел, проверяется некое условие. Если оно нарушается, то выполняется код выше и узел должен удалиться. Правильно ли я выполняю удаление?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 07.04.2012, 20:37   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Если только один узел удалить, то сразу после удаления выйти из цикла (например Break). Если все узлы с таким текстом удалить, то цикл делать for i := Form1.tv1.Items.Count - 1 downto 0 do
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 07.04.2012, 20:39   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Надо удалить только один узел. Ща попробую с Break.

Добавлено:
Спасибо, Аватар! Все сработало как надо
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.

Последний раз редактировалось artemavd; 07.04.2012 в 20:41.
artemavd вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как в XML сослаться на узел внутри текущего документа? spbcypher HTML и CSS 0 24.05.2011 12:09
сделать недоступным узел в TreeView Don Karleone Общие вопросы Delphi 5 21.02.2011 23:46
Не получается удалить узел дерева. frmSm Общие вопросы C/C++ 19 02.06.2010 17:22
TreeView - необходимо развернуть нужный узел, независимо от степени вложенности Mikhail Bakurov Общие вопросы C/C++ 0 20.05.2009 07:42
Как выделить узел в TreeView inndim Общие вопросы Delphi 3 23.10.2008 13:32