Форум: "Основная";
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];
ВнизПомогите с алгоритмом Найти похожие ветки
← →
Oleg Fomicheff (2002-01-18 13:44) [0]Help!
Задача:
есть дерево (TreeView) и есть набор данных (строки 3 - 4 шт для каждого элемента из дерева). Данные вводятся через edit и memo.
Вопрос: как ЛУЧШЕ и ПРОЩЕ организовать хранение связанной информации, при условии, что дерево это может редактироваться пользователем в ходе программы?
Если можно с примером.
---
Олег.
← →
yaJohn (2002-01-18 14:10) [1]Pri sozdanii Node:
Node.Data:=TStringList.Create;
TStringList(Node.Data).Text:=#13#10#13#10;//dlia 2 strok
Pri select Node:
Memo1.Lines.CommaText:=TStringList(Node.Data)[0];
Edit1.Text:=TStringList(Node.Data)[1];
Pri redaktirovanii:
TStringList(Node.Data)[0]:=Memo1.Lines.CommaText;
TStringList(Node.Data)[1]:=Edit1.Text;
← →
yaJohn (2002-01-18 14:20) [2]Mda, pri udalenii Node ne zabit"
TStringList(Node.Data).Free
← →
Oleg Fomicheff (2002-01-18 14:22) [3]спасибо,
а вот вопрос:
как реорганизовывать этот stringlist при сортировке дерева, если дерево может быть отсортировано и целиком, и его отдельные ветви.
---
олег.
← →
yaJohn (2002-01-18 14:25) [4]A ne nado nichego reorganizovivat ;)))
StringList ne odin, a mnogo. Po shtuke na kajdiy uzel dereva. Ssilka na kajdiy StringList hranitsia v Node.Data Kuda Node - tuda i ego StringList s dannimi.
← →
Oleg Fomicheff (2002-01-18 15:45) [5]А как же тогда все это множество листов _сохранить_ и _загрузить_?
не хотелось бы иметь толпу файлов, как бы их все в один забить?
через поток?
но я не соображу как их потом сохранять и загружать:(((
А как это повлияет на быстродействие и работоспособность системы в целом, когда в дереве будет 10000 - 15000 элементов?
← →
yaJohn (2002-01-18 16:11) [6]>А как же тогда все это множество листов _сохранить_ и _загрузить_?
A eto uje sovsem drugoy vopros.
IMHO optimalniy variant budet sdelat svoe derevo s sohraneniem - vostanovleniem a potom otobrajaat" ego na TTreeView.
>но я не соображу как их потом сохранять и загружать:(((
K sojaleniu eto ne tak prosto. TTreeView prosto ne prednaznachen dlia etogo. SaveToFile k nemu pridelali yavno zria. Stoit zaglianut", v to, chto on sohraniaet....
>А как это повлияет на быстродействие и работоспособность системы в целом, когда в дереве будет 10000 - 15000 элементов?
V opisanom mnoy variante - pochti nikak. TTreeView sojret resursov pobol"she. Pri takom kol-ve itemov ispolzovanie "levih" metodov hranenia dannih - katastrofa. Poetomu "ЛУЧШЕ и ПРОЩЕ" ne viydet. Tolko s ILI. Da i ispolzovat" TTreeView pri takih mashtabah ne rekomenduetsia.
← →
Oleg Fomicheff (2002-01-18 20:22) [7]>>А как же тогда все это множество листов _сохранить_ и
>> _загрузить_?
> A eto uje sovsem drugoy vopros.
и где на него найти ответ? :)
>>но я не соображу как их потом сохранять и загружать:(((
>TTreeView prosto ne prednaznachen dlia etogo. SaveToFile k nemu
>pridelali yavno zria.
ну почему, у меня вроде нормально сохраняет/загружает.
Только не могу я придумать, как сохранять множество stringlist"ов в один файл
(сама идея co stringlist"ами мне понравилась и работает на "ура!")
← →
pasha_golub (2002-01-29 16:43) [8]Попробуй хранить все в
record
Item1: string[50];
Data1: string[30];
...
datan: string[30];
end;
Если я не ошибаюсь, то Data это указатель. Вот потом берешь и указываешь. А сортировку выполняешь по любому полю записи. Можно даже записи хранить в отдельном TList, так как там сортировка лучше. Я так думаю.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c