powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TTreeNode.Items.Data
9 сообщений из 9, страница 1 из 1
TTreeNode.Items.Data
    #32351335
ova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хто нить работал с этим делом, как правильно добавлять данные (хотя бы просто число integer) например в цикле, а то у меня чего-то не работает. Я, наверное, чего-то с указателями путаю.
...
Рейтинг: 0 / 0
TTreeNode.Items.Data
    #32351365
Papka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PTreeItemData = ^TTreeItemData;
TTreeItemData = record
ID: Integer;
end;

procedure TForm1.AddData;
var DataPointer: PTreeItemData;
i: integer;
begin
StructureTree.Items.BeginUpdate;
for i:= 1 to 20 do begin
New(DataPointer);
DataPointer^.ID := i;
Tree.Items.AddObject(TopItem, IntToStr(i), DataRecord);
end;
StructureTree.Items.EndUpdate;
end;

Примерно так.
...
Рейтинг: 0 / 0
TTreeNode.Items.Data
    #32351383
LexusR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
procedure TForm1.Button1Click(Sender: TObject);
var
  i : integer;
begin
  TreeView1.Items.BeginUpdate;
  for i :=  0  to  20  do
    TreeView1.Items.AddChildObject(nil,IntToStr(i),pointer(i));
  TreeView1.Items.EndUpdate;
end;

...
Рейтинг: 0 / 0
TTreeNode.Items.Data
    #32351441
ova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Papka.

Я приблизительно так и делал, но тут у меня вопрос. А когда нужно высвобождать указатели? Я делал в одном цикле и New и Dispose. Или это неправильно?

ПОпробую еще оба варианта.

Большое спасибо!
...
Рейтинг: 0 / 0
TTreeNode.Items.Data
    #32351498
Papka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я высвобождал указатели в событии OnDeleteTreeNode.
...
Рейтинг: 0 / 0
TTreeNode.Items.Data
    #32352254
Denis Uskov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Papka
>PTreeItemData = ^TTreeItemData;
TTreeItemData = record
ID: Integer;
end;

Все это правильно и работает, но, IMHO, лучше заменить на:
TMyNodeData = class(TObject)
public
ID : Integer;
end;

И вместо New & Dispose использовать
NodeData:=TMyNodeData.Create & NodeData.Free;
Туда же можно еще и методы прикрутить!

С уважением, Denis Uskov
...
Рейтинг: 0 / 0
TTreeNode.Items.Data
    #32352276
ova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вопрос, чем это лучше.

Мне, например, нужно только сохранить одно целое значение.
Я сделал, как написали - все работает
...
Рейтинг: 0 / 0
TTreeNode.Items.Data
    #32353388
Denis Uskov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всему свое время.
Для курсовой может и так пойдет.

С уважением, Denis Uskov
...
Рейтинг: 0 / 0
TTreeNode.Items.Data
    #32353502
Papka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Denis Uskov

Согласен. Так получится красивее. Просто копировал исходник в котором мне как-бы хватало и простого рекорда. Так понял из вопроса, что главное был принцип работы.

> ova

Советую воспользоваться предложенным вариантом. В принципе он правильнее.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TTreeNode.Items.Data
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]