Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

массивы [D7, XP]


Max ©   (2011-05-31 12:46:00) 

Добрый день!
Помогите разобраться. Задание подразумевает вывод данных способом "матрешки". Разбиваю по уровням вложений- в  первом массиве -кол-во записей 1 уровня. Для каждого  элемента будет (в зависимости от запроса) свой массив (2 уровень)  и т.д.
Как мне в цикле обращаться к mas1, mas2,mas3,masN и т.д?
Можно ли создавать массив каждый раз или все-таки объявить (как надо) динамические массивы изначально в переменных?


clickmaker   (2011-05-31 13:20:00) [1]

Variant, VarArrayCreate()


Юрий Зотов   (2011-05-31 13:18:00) [2]


> Max   (31.05.11 13:08) [3]

См. в справке "Многомерные динамические массивы".

Но как Вы будете объявлять такой массив, если уровень вложенности заранее неизвестен?


Ega23   (2011-05-31 13:15:00) [3]

var
 arr: array of array of array of Integer;
begin
 ....
 arr[1][2][3] := ...
end;


Max   (2011-05-31 13:08:00) [4]

я согласен - рекурсия (т.е можно оформить все через процедуру,в которой сама будет эта процедура ).
Вопрос открытый: как обращаться в цикле к новым массивам? я хочу через переменные,но не знаю как....
for imas1:=1 to Kolmas1 do
begin
    mas1[imas1] :=          
    for imas2:=1 to Kolmas2 do
      begin  
           mas2[imas2] :=          

      end

и  т.д
end


Юрий Зотов   (2011-05-31 13:06:00) [5]

Рекурсивно построить дерево (TTreeView), каждый узел которого содержит динамический массив (см. свойство TTreeNode.Data). Дерево размещается на форме слева, а справа от него, через сплиттер - что-то вроде TListBox. При выборе любого узла дерева массив этого узла отображается в ListBox'е.


Ega23   (2011-05-31 12:48:00) [6]

Если число вложений заранее известно, то вложенные циклы.
Если неизвестно - рекурсия.


Наверх

Титульная страница Поиск, карта сайта Написать письмо