Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Использование многомерного массива

01.01.2007
type RecType = integer; {<-- здесь задается тип элементов массива}
 
const MaxRecItem = 65520 div sizeof(RecType);
 
type
= MyArrayType = array[0..MaxRecItem] of RecType;
type
= MyArrayTypePtr = ^MyArrayType;
 
var MyArray: MyArrayTypePtr;
begin
 
ItemCnt := 10; {количество элементов массива, которые необходимо распределить}
 
GetMem(MyArray, ItemCnt * sizeof(MyArray[1])); {распределение массива}
 
MyArray^[3] := 10; {доступ к массиву}
 
FreeMem(MyArray, ItemCnt * sizeof(MyArray[1])); {освобождаем массив после работы с ним}
end;

Michael Day

Взято из Советов по Delphi от Валентина Озерова

Сборник Kuliba


Автор: Steve Schafer

type
 
PRow = ^TRow;
 
TRow = array[0..16379] of Single;
 
 
PMat = ^TMat;
 
TMat = array[0..16379] of PRow;
 
var
 
Mat: PMat;
  X
, Y, Xmax, Ymax: Integer;
 
begin
 
Write('Задайте размер массива: ');
 
ReadLn(Xmax, Ymax);
 
if (Xmax <= 0) or (Xmax > 16380) or (Ymax <= 0) or (Ymax > 16380) then
 
begin
   
WriteLn('Неверный диапазон. Не могу продолжить.');
   
Exit;
 
end;
 
GetMem(Mat, Xmax * SizeOf(PRow));
 
for X := 0 to Xmax - 1 do
 
begin
   
GetMem(Mat[X], Ymax * SizeOf(Single));
   
for Y := 0 to Ymax - 1 do
     
Mat^[X]^[Y] := 0.0;
 
end;
 
WriteLn('Массив инициализирован и готов к работе.');
 
WriteLn('Но эта программа закончила свою работу.');
end.
 
 
https://delphiworld.narod.ru/

DelphiWorld 6.0