Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.09.11;
Скачать: [xml.tar.bz2];

Вниз

массивы   Найти похожие ветки 

 
Max   (2011-05-31 12:46) [0]

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


 
Ega23 ©   (2011-05-31 12:48) [1]

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


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

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


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

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

      end

и  т.д
end


 
Ega23 ©   (2011-05-31 13:15) [4]

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


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


> Max   (31.05.11 13:08) [3]

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

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


 
clickmaker ©   (2011-05-31 13:20) [6]

Variant, VarArrayCreate()



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2011.09.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
15-1306223398
I need help
2011-05-24 11:49
2011.09.11
сделать с использованием логических операторов


2-1306708852
R_R
2011-05-30 02:40
2011.09.11
Как посмотреть i-ую строчку в ADOTable?


2-1306358052
Gu
2011-05-26 01:14
2011.09.11
Свои кнопки в OpenDialog


2-1306129367
vasja123
2011-05-23 09:42
2011.09.11
ошибка при инициализации MCI


15-1305844976
Германн
2011-05-20 02:42
2011.09.11
Инструмент для анализа TCP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский