![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
аналог TTreeNodes [D6, Win2k]
irq © (2004-08-18 16:36:00)Здравствуйте! Нужен аналог TTreeNodes без визуалки (сам по себе, без TTreeView). Посоветуйте, где взять. Спасибо
jack128 (2004-08-18 19:01:00) [1]вот на это у меня ушло 7,5 минут. С обдумыванием. Но без тестирования ;-)
type
TNode = class
private
FChildren: TList;
FParent: TNode;
function GetChild(index: Integer): TNode;
function GetChildCount: Integer;
public
constructor Create(AParent: TNode);
destructor Destroy; override;
property Parent: TNode read FParent;
property Children[index: Integer]: TNode read GetChild;
property ChildCount: Integer read GetChildCount;
end;
{ TNode }
constructor TNode.Create(AParent: TNode);
begin
FParent := AParent;
FChildren := TList.Create;
if Assigned(FParent) then
FParent.FChildren.Add(Self);
end;
destructor TNode.Destroy;
var
i: Integer;
begin
if Assigned(FParent) then
FParent.FChildren.Extract(Self);
for i := ChildCount - 1 downto 0 do
Children[i].Free;
FreeAndNil(FChildren);
inherited;
end;
function TNode.GetChild(index: Integer): TNode;
begin
Result := TNode(FChildren[index]);
end;
function TNode.GetChildCount: Integer;
begin
Result := FChildren.Count;
end;
ламер (2004-08-18 18:48:00) [2]> Sergey_Masloff (18.08.04 18:27) [11]
Мужики, не обижайтесь, но за 10 минут не пишется ничего реально работающее. Никогда. Как бы не казалось что это так ;-)
странно. думаю, что описать структуру узла (пользовательские данные и 2 указателя) и написать 3 процедурки (для добавления, удаления и поиска) - как раз 10 минут. не больше.
jack128 (2004-08-18 18:32:00) [3]
> Мужики, не обижайтесь, но за 10 минут не пишется ничего
> реально работающее. Никогда. Как бы не казалось что это
> так ;-)
ну блин, ну не десять, ну 20.. Ладно - 30 минут - чтоб для гарантии :-)
Sergey_Masloff (2004-08-18 18:28:00) [4]Или это я такой тормоз ;-)
Sergey_Masloff (2004-08-18 18:27:00) [5]jack128 © (18.08.04 17:41) [7]
Гаврила © (18.08.04 18:21) [10]
>Ну ведь правда за 10 минут пишется
Ну, у русских программистов все за 10 минут пишется. На словах.
Мужики, не обижайтесь, но за 10 минут не пишется ничего реально работающее. Никогда. Как бы не казалось что это так ;-)
Гаврила (2004-08-18 18:21:00) [6]Ну ведь правда за 10 минут пишется
irq (2004-08-18 17:57:00) [7]TUser:
TTreeNodes требует в качестве Owner'а TTreeView, иначе access violation на каждый чих. Они сильно повязаны друг с другом
TUser (2004-08-18 17:44:00) [8]Алголист живет здесь
algolist.manual.ru
а еще находится любым поисковиком на слово 'алгоритмы'. Кажется, он там самый первый.
jack128 (2004-08-18 17:41:00) [9]Ах да.. Адрес Яндекса помню - www.yandex.ru ;-)
jack128 (2004-08-18 17:40:00) [10]Хотя провел там довольно много времени, но адрес сайта так и неудасужелся запомнить.. Каждый раз через Яндекс ищу ;-)
irq (2004-08-18 17:25:00) [11]Уважаемый, jack128быстродумающийибыстропишушщий, ссылочку на алголист дайте, пожалуйста. Спасибо.
TUser (2004-08-18 17:20:00) [12]TTreeNode.Create
jack128 (2004-08-18 16:48:00) [13]А вообще простейшее дерво пишется да десять минут..
jack128 (2004-08-18 16:47:00) [14]На алголист, я так понимаю, тебе дорога.. Раздел "Структуры данных"
Семен Сорокин (2004-08-18 16:43:00) [15]TList?