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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2009, 23:03   #11
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
mihali4 это я про то, что если вдруг понадобится просто пробежаться по дереву, начиная с выделеного, дальше первого узла-детёныша не пойдёт.
Я всесторонне проверил по шагам прежде, чем вам предлагать - обход всех ветвей, и последним уничтожается выбранный...
Доказывайте, что я не прав. Ваш проект? (вернее, "проба пера", весь не нужен).
Я, со своей стороны, предлагаю свой:
Project1.rar

Последний раз редактировалось mihali4; 13.01.2009 в 23:17.
mihali4 вне форума Ответить с цитированием
Старый 14.01.2009, 01:22   #12
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Собственно вот:
Код:
procedure TForm1.CtNode(Node :TTreeNode);
var tmpnod: TTreeNode;
    tmp: string;
begin
 while Node.GetFirstChild<>nil do
  CtNode(Node.GetFirstChild);
 tmpnod:=Node;
 Node.Text := 'Удалён!';
 //tmp:=tmpnod.Text;
 //ShowMessage('Будет удален узел '+tmp);
 //Node.Delete;
 Application.ProcessMessages;
end;
Если НЕ требуется их удалять, а пройтись по узлам.
Alter вне форума Ответить с цитированием
Старый 14.01.2009, 01:39   #13
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Если НЕ требуется их удалять, а пройтись по узлам.
Вы что-то совсем заэкономились на словах. Эдакие фразы, как будто процеженные сквозь зубы. Понять очень трудно, поверьте. Это вы - в своей теме, а я...
Это первое.
Второе. Напомню ваш первый пост: "Нужно начиная с выделенного узла пройтись по всем его вложенным узлам. (Тут ваши проблемы) После прохода уже можно будет удалить выделенный узел со всеми под узлами.".
Мой вариант не выполняет это требование?
Вы убрали главную операцию, которая и обусловливает выполнение рекурсии! Тем самым изменили вполне рабочий код и возмущаетесь, что он теперь не так работает?
Я вас просто перестаю понимать...
mihali4 вне форума Ответить с цитированием
Старый 14.01.2009, 13:06   #14
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Никто не возмущается, этот код вполне подошёл. mihali4 перефразирую 2-ой вариант вопроса, который не понимаете, "Как бы вы сделали тот же обход, но без Node.Delete;". "Просто пробежаться по дереву" - это значит, в данном случае удалять пройденый узел не надо.
Dj_smart, пробывали ли вы реализовывать свой метод?
Alter вне форума Ответить с цитированием
Старый 15.01.2009, 22:52   #15
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Код:
Dj_smart, пробывали ли вы реализовывать свой метод?
Да, приходилось при написании своего языка(скрипты), в котором можно было бы сделать чтото типо begin... end.
К сожалению кода привести не могу, винда унесла всё с собой...
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка выделенного текста Aleksandar Общие вопросы Delphi 2 06.10.2008 20:03
Как изменить стиль шрифт выделенного тексту слова в компоненте RichEdit при выделении его? SkAndrew Общие вопросы Delphi 9 23.04.2008 01:35
К существующим узлам TreeView пытаюсь добавить дочерние AlDelta Компоненты Delphi 2 05.11.2007 23:06
защита выделенного текста Александр Microsoft Office Word 5 10.11.2006 07:09