Злоба дня ( Загузка данных на ветки TTreeView )

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Злоба дня ( Загузка данных на ветки TTreeView )

Сообщение Alex2013 » 26.09.2013 20:36:21

Два дня убил - сделал но с какими-то "литературными излишествами"...
Нужно было одновременное чтение имени ветки и данных записанных в поле TTreeNode. DATA... С записью никаких проблем (Обычная рекурсия )
А как начал пытаться читать ... Особенно много неприятностей доставила ситуация когда ветки идут "ступеньками" то есть сразу после ветвления идет следующие ... (Глюк побежден но впечатлении от кода как от шкафа под который засунут толстый том вместо ножки .) :wink:

Отсюда вопрос есть ли способ роботы с деревом как с двухмерным массивом или как минимум есть ли возможность вставки уже собранной ветки целиком ?
Ps
Код который штатно читает дерево из файла для прямого сдирания и модификации не годится из совсем другой структуры входящих данных ...
Alex2013
долгожитель
 
Сообщения: 3146
Зарегистрирован: 03.04.2013 11:59:44

Re: Злоба дня ( Загузка данных на ветки TTreeView )

Сообщение Лекс Айрин » 26.09.2013 20:57:03

Alex2013, так как содержимое TTreeView легко записывается в обычный текстовый файл, то и работать с ним, после этого, можно как с текстом. А потом просто записать в дерево. А ступеньки это обычные табы, которые можно, при желании, преобразовать в пробелы т обратно.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Злоба дня ( Загузка данных на ветки TTreeView )

Сообщение B4rr4cuda » 27.09.2013 13:19:09

Может вам посмотреть на VirtualTreeView? Я его люблю за возможность представлять свои структуры, не маясь загрузкой/выгрузкой в дерево.. т.е актуальные данные отображаются со стороних структур.
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Re: Злоба дня ( Загузка данных на ветки TTreeView )

Сообщение Alex2013 » 08.10.2013 12:54:54

Лекс Айрин писал(а):так как содержимое TTreeView легко записывается в обычный текстовый файл, то и работать с ним, после этого, можно как с текстом.

Это разумеется понятно, но нужно писать по сути ЕЩЕ один TTreeView но проще действительно свой написать с нуля (Или выдрать например из КОЛ где реализация вроде попроще ...) И даже если применять TMemoryStream вместо файла будет на редкость тупо
ЗЫ
B4rr4cuda писал(а): VirtualTreeView
:?:
Гм Спасибо... Не сталкивался надо посмотреть ....
Alex2013
долгожитель
 
Сообщения: 3146
Зарегистрирован: 03.04.2013 11:59:44

Re: Злоба дня ( Загузка данных на ветки TTreeView )

Сообщение Лекс Айрин » 08.10.2013 18:48:12

Alex2013 писал(а):Это разумеется понятно, но нужно писать по сути ЕЩЕ один TTreeView но проще действительно свой написать с нуля


В принципе, если речь идет о загрузке в ветку , то это довольно легко и сделать и стандартными средствами... сложнее следить за вложенностью данных.

function Add

function AddChild
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: Злоба дня ( Загузка данных на ветки TTreeView )

Сообщение B4rr4cuda » 13.10.2013 23:04:49

Alex2013 писал(а):Гм Спасибо... Не сталкивался надо посмотреть ....

Посмотрите, не пожалеете. У этого компонента высокий порог вхождения, требуется сначала разобраться как с ним работать, но потом эффективность на очень высоком уровне.

http://wiki.freepascal.org/VirtualTreeview

Русская документация по этому компоненту
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 220

Рейтинг@Mail.ru