Показать сообщение отдельно
  #1  
Старый 23.07.2015, 15:01
Аватар для ___toha___
___toha___ ___toha___ вне форума
Прохожий
 
Регистрация: 18.12.2012
Адрес: Сасово
Сообщения: 23
Версия Delphi: 7
Репутация: 10
Восклицание Занесение данных в TreeView

Здравствуйте! У меня возникла проблема. Никогда не работал с TreeView. Вроде там все просто, но нормально реализовать не могу.
Вот смотрите. Допустим, я имею 3 структуры данных:
Код:
TR1 = record
  Name: string; 
end;

TR2 = record
  Name: string; 
  R1: array of TR1;
end;

TR3 = record
  Name: string;
  R2: array of TR2; 
  R3: array of TR3;
end;


И мне нужно это как-то запихать в TreeView!
То есть как это должно быть.
Код:
Ну у нас 3 массива:
R1: array of TR1;
R2: array of TR2;
R3: array of TR3;

Например, имеется 3 элемента R3. Они должны быть на 0 уровне дерева
-0 элемент R3
-1 элемент R3
-2 элемент R3


Например, 1 элемент массива R3, содержит 2 элемента R1
-0 элемент R3
-1 элемент R3
--0 элемент R1
--1 элемент R1
-2 элемент R3

И например еще, 0 элемент массива R3, содержит 1 элемент R2

-0 элемент R3
--0 элемент R2
-1 элемент R3
--0 элемент R1
--1 элемент R1
-2 элемент R3

И еще, 0 элемент массива R2, которая находится в 0 элементе R3, содержит 2 элемента R1

-0 элемент R3
--0 элемент R2
---0 элемент R1
---1 элемент R1
-1 элемент R3
--0 элемент R1
--1 элемент R1
-2 элемент R3

Может понять сразу нельзя, но я думал, так хранить данные удобнее, а начал выводить на TreeView и сел. Несколько раз получалось добиться нужного, но на такой код самому смотреть стыдно. Использовал много дополнительных переменных и т.д. Может есть какой-нибудь способ быстро или удобно это распределить?


P.S. При чем, строку такого вида из массивов:
-0 элемент R3
--0 элемент R2
---0 элемент R1
---1 элемент R1
-1 элемент R3
--0 элемент R1
--1 элемент R1
-2 элемент R3
Я могу получить! А ПРОСТО ЗАПИСАТЬ В ДЕРЕВО нет
Ответить с цитированием