Меню сайта
Мини-чат
Чтобы добавить сообщение, необходимо авторизоваться.
Главная » Статьи » Не стандартные примеры на Delphi » Pascal

Динамические массивы V
SottNick пишет:

Если хочется, чтобы в многомерном массиве был разный размер у разных измерений например: VarArray: array[1..2, 1..?] of TType , где ? зависит от "строки" массива (1..2)

То дозволяется сделать так:

  1. Объявление


        Var
    VarArray: array of array of array............

  2. Установка длин


        SetLength (VarArray, Razmernost1); // У первого измерения

    SetLength (VarArray[1], Razmernost2); // У второго измерения первой "строки"
    SetLength (VarArray[2], Razmernost3); // У второго измерения второй "строки"
    SetLength (VarArray[n], Razmernost4); // У второго измерения n-ной "строки"

    SetLength (VarArray[1][1], Razmernost5); // У третьего измерения первой "строки" первого "столбца"
    SetLength (VarArray[1][2], Razmernost6); // У третьего измерения первой "строки" второго "столбца"
    SetLength (VarArray[n][m], Razmernost7); // У третьего измерения n-ной "строки" m-ного "столбца"

    т.д.
    Все можно изменять в процессе естественно.

  3. Получение длин


        Razmernost1:=Length (VarArray); // У первого измерения (количество строк)

    Razmernost2:=Length (VarArray[1]); // У второго измерения первой "строки" (количество столбцов)
    Razmernost3:=Length (VarArray[2]); // У второго измерения второй "строки" (количество столбцов)
    Razmernost4:=Length (VarArray[n]); // У второго измерения n-ной "строки" (количество столбцов)

    Razmernost5:=Length (VarArray[1][1]); // У третьего измерения первой "строки" первого "столбца"
    Razmernost6:=Length (VarArray[1][2]); // У третьего измерения первой "строки" второго "столбца"
    Razmernost7:=Length (VarArray[n][m]); // У третьего измерения n-ной "строки" m-ного "столбца"

  4. Обращение
    VarArray[n][m][o][p][r]:=1; // :Integer // К элементу n-ной "строки",
    m-ного "столбца",
     // o-того "?",
    p-того "?", r-того "?"
  5. Обнуление (освобождение памяти)


        SetLength (VarArray, 0); // Всех сразу  
Категория: Pascal | Добавил: DelphiAiX (09.05.2012)
Просмотров: 671 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]