Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.09.04;
Скачать: [xml.tar.bz2];

Вниз

Сохранения деревьев в файл   Найти похожие ветки 

 
BVP   (2003-08-21 14:02) [0]

Уважаемые Мастера Подскажите пожалуйста компонент (маленький и невизуальный) для работы с деревьями(типа TTree из KOL, или TreeView что-бы была
вставка,удаление, перемещение узлов),
способный сохранять дерево в файл.
Еще желательно иметь возможность отображать это дерево на экран
другим компонентом. Например,данные из TTable через TDataSource может отображать DBGrid или еще кто-то, если ли что-то подобное для деревьев?
Если можно то в исходниках.
Спасибо заранее.


 
Miralex   (2003-08-21 14:33) [1]

Насчет "вставка,удаление, перемещение узлов TreeView" - ищи мои топики в етом разделе!


 
pasha_golub   (2003-08-21 14:34) [2]

TTreeView умеет все, если мало напиши потомка


 
Vlad   (2003-08-21 14:38) [3]

Вставка, удаление, перемещение, а так же сохранение в файл, загрузка из файла - все это стандартное TTreeView.

А вот что значит "маленький и невизуальный" + "способный отображать на экран" - мне непонятно.

Построить TreeView на основе TTable - задача нехитрая.
Небольшая рекурсивная процедура.


 
BVP   (2003-08-21 15:40) [4]

>>Vlad
маленький и невизуальный - значит что компонент не
должен быть наследником TWinControl и оболочкой для SysTree, не должен показываться на экран,
иметь Handl, и всякие ненужные свойства и методы типа Visible
онКлик и прочее. Отображать(рисовать) на экран дерево он
не должен (в крайнем случае это я сделаю сам).
он должен иметь что-то вроде
property Items: TTreeNodes; но не TTreeNodes ,
поскольку создать обьект типа TTreeNodes без Owner:TCustomTreeView не

получается
( constructor TTreeNodes.Create(AOwner: TCustomTreeView);)
, а TreeView не желателен поотму как истользовать в приложении без формы его (TreeView) ненжуно.
А узлы св-со Name:String и Data типа TBlobField или что нибудь еще длясохранения BLOB().
И все это нужно сохранять в файл (и читать тоже).
Извините за непонятный стиль обьяснения и обилие скобок.


 
Vlad   (2003-08-21 15:56) [5]

Может в TClientDataSet - создать иерархическую структуру таблицы. Насколько я помню он позволяет сохранять в файл, причем как в двоичный так и в XML формате


 
BVP   (2003-08-21 16:19) [6]

>>Vlad
А примерчик создания такой иерархической таблицы можно пожалста.
Сомнение у меня TClientDataSet работает через BDE?
Если да, то не годится таскать за собой BDE.


 
Vlad   (2003-08-21 16:23) [7]

Прелесть TClientDataSet в том и заключается, что он вобще может работать в отрыве от всяких баз. см. метод CreateDataSet. Там хороший пример. И соотв. никаких BDE не надоть...
Вот пример иерархической структуры таблицы:

| ID | PARENT_ID | NAME | .....
Где parent_id - ссылка на собственный id. Т.е. родительская ветка.


 
BVP   (2003-08-25 12:12) [8]

>>Vlad
Спасибо 80%-е.
Поскольку этот TClientDataSet немного не то,
но работает, даже в консольном приложении и
при этом
program Project1;
uses Forms, DBClient,DB;
var ClientDataSet1: TClientDataSet;
begin
ClientDataSet1:=TClientDataSet.Create(nil);
ClientDataSet1.Free;
end.
весит всего 625кб :)

А то что я хотел( что бы сразу дерево, а не табло и маленькое ) видимо нет в природе.
Пока!
Пока.(В смысле гудбай)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.09.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
7-10988
Poma
2003-06-21 17:04
2003.09.04
Как отличить CD-ROM, floopy и логический диск


1-10751
Евгыш
2003-08-25 13:09
2003.09.04
Предотвращение выгрузки COM сервера


1-10828
VIL
2003-08-25 12:24
2003.09.04
Caption активной страницы PageControl


3-10632
Riko
2003-08-12 16:15
2003.09.04
Поиск в базе средствами SQL


1-10667
Dennis
2003-08-25 14:19
2003.09.04
---|Ветка была без названия|---





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский