TTreeView получить стринг по указателю - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, я заполняю компонент ТТreeView следующим образом:
Node1:=Tree.Items.AddObject(nil, List.ValueFromIndex[k], Pointer(StrToInt(List.ValueFromIndex[k+1])) );
Node2:=Tree.Items.AddObject(nil, List.ValueFromIndex[k+6], Pointer(StrToInt(List.ValueFromIndex[k+7])) );
Как мне получить текст(string) по поинтеру(объекту), НО НЕ ПО ИНДЕКСУ! Спасибо )))

Решение задачи: «TTreeView получить стринг по указателю»

textual
Листинг программы
procedure TForm1.Button8Click(Sender: TObject);
var node : TTreeNode;
begin
  node := TreeView1.Items.FindNodeWithData(Pointer(StrToInt(Edit1.Text))); // в Edit1 пишем нужное число (из тех, которые добавлялись через AddObject)
  if(Assigned(node)) then ShowMessage(node.Text);
end;

Объяснение кода листинга программы

  1. Объявлена переменная node типа TTreeNode.
  2. При нажатии кнопки Button8 происходит поиск узла в TreeView1 по данным, введённым в Edit1.
  3. Для поиска используется метод FindNodeWithData, в который передаётся указатель на число, полученное из Edit1.Text с помощью функции StrToInt.
  4. Если узел найден, то отображается сообщение с текстом узла.
  5. Если узел не найден, то ничего не происходит.

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы