Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TTreeNode.Items.Data / 9 сообщений из 9, страница 1 из 1
12.12.2003, 11:31
    #32351335
ova
ova
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TTreeNode.Items.Data
Хто нить работал с этим делом, как правильно добавлять данные (хотя бы просто число integer) например в цикле, а то у меня чего-то не работает. Я, наверное, чего-то с указателями путаю.
...
Рейтинг: 0 / 0
12.12.2003, 12:14
    #32351365
Papka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TTreeNode.Items.Data
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
12.12.2003, 12:43
    #32351383
LexusR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TTreeNode.Items.Data
Код: 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
12.12.2003, 14:01
    #32351441
ova
ova
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TTreeNode.Items.Data
To Papka.

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

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

Большое спасибо!
...
Рейтинг: 0 / 0
12.12.2003, 15:17
    #32351498
Papka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TTreeNode.Items.Data
Я высвобождал указатели в событии OnDeleteTreeNode.
...
Рейтинг: 0 / 0
15.12.2003, 09:02
    #32352254
Denis Uskov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TTreeNode.Items.Data
>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
15.12.2003, 09:27
    #32352276
ova
ova
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TTreeNode.Items.Data
А вопрос, чем это лучше.

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

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

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

> ova

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


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