Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.06;
Скачать: CL | DM;

Вниз

Как за Node: TTreeNode привязыть число   Найти похожие ветки 

 
DelphiLexx ©   (2007-04-06 10:47) [0]

Я хочу за каждым Node: TTreeNode привязывать определенное число сво-ва Node.Tag к сожалению нет как мне это сделать?


 
clickmaker ©   (2007-04-06 10:47) [1]

.Data


 
DelphiLexx ©   (2007-04-06 10:48) [2]

Что Data? Не совсем понятно.


 
Сергей М. ©   (2007-04-06 10:50) [3]


> Что Data?


Вместо отсутствующего Tag имеется св-во Data - его и используй.


 
S@shka ©   (2007-04-06 11:22) [4]

Комментирую

var
 P : PInteger;
begin
  New (P);
  P^ := ... твое число
  Node.Data := P;

end;

при уничтожении не забываем про Dispose


 
Amoeba ©   (2007-04-06 17:44) [5]

Если это число Integer, Word и т.д., т.е. целое, то необходимо и достаточно

Integer(Node.Data) := N;


 
_Аноним   (2007-04-06 17:47) [6]


> т.е. целое

Точнее, то есть любой тип с размером SizeOf(Pointer)  или меньше


 
Amoeba ©   (2007-04-06 17:47) [7]


> S@shka ©   (06.04.07 11:22) [4]

Если число целое, то незачем такой огород городить. Если вещественное длиннее 4 байтов - то, естественно, придется использовать указатели, New и Dispose.


 
begin...end ©   (2007-04-07 12:47) [8]

> Amoeba ©   (06.04.07 17:44) [5]

Не совсем так. Node.Data := Pointer(N).


 
TStas ©   (2007-04-08 14:35) [9]

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


 
Loginov Dmitry ©   (2007-04-08 15:44) [10]

> Только когда дерево в файл сохраняется, указатели на данные
> нихрена сами не сохраняются, поэтому их нужно сохранять
> вручную


А где тут шла речь про сохранение в файл? Тем более указателей. Тем более нахрена указатели сохранять в файл?


 
_Аноним   (2007-04-08 17:15) [11]


> Loginov Dmitry ©

Если "указатели" на самом деле инты, то может и пригодиться сохранение в файл

Кстати в генофонде в этом месте явный косяк


 
ANB ©   (2007-04-09 16:31) [12]


> Если "указатели" на самом деле инты, то может и пригодиться
> сохранение в файл
>
> Кстати в генофонде в этом месте явный косяк

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


 
VID ©   (2007-04-14 03:36) [13]

создаем свой класс
type
 TNodeEx = class(TTreeNode)
   FSomeInt: Integer;
 end;


затем обрабатываем событие CreateNodeClass дерева
procedure TForm1.TreeView1CreateNodeClass(Sender: TCustomTreeView;
 var NodeClass: TTreeNodeClass);
begin
 NodeClass := TNodeEx;
end;



 
VID ©   (2007-04-14 03:37) [14]

очевидно, что в последствии, при обращении к нодам, необходимо будет кастить их к созданному классу
TNodeEx(treeview.items[0]).FSomeInt := 12002;


 
_Аноним   (2007-04-14 11:58) [15]


> ANB ©
</I
> По всей видимости, в броланд не думали, что кто то в указателе
> будет хранить целые числа :) А смысла сохранять указатели
> в файл нету никакого.

>

Это было бы половина беды. Беда ниачинается, когда окно пересоздается (а борлаанды очень любят пересоздавать окна). Похоже, тот же механизм сохранения\восстановления используется.



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

Текущий архив: 2007.05.06;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.017 c
2-1176295679
Ezorcist
2007-04-11 16:47
2007.05.06
Отреагировать на ошибку 10061 TClientSocket-a


3-1171611402
zorik
2007-02-16 10:36
2007.05.06
Firebird 2. Declare procedure


2-1176795142
webpauk
2007-04-17 11:32
2007.05.06
Загрузка из ftMemo в TStringList


11-1158926579
kichrot
2006-09-22 16:02
2007.05.06
Запрет перемещения разделителя в заголовке ListView


8-1156315403
Maxim new
2006-08-23 10:43
2007.05.06
Ассоциация файлов