Открытые массивы в Delphi

Если размер массивов заранее не известен, то можно прибегнуть к описанию открытых массивов в Delphi. Для этого объявляется процедура или функция, которая объявляется как массивы базовых типов без указания их размерности.

Пример:

procedure SummArrays (A: array of Integer; var

  B: array of Integer);

В таком случае передаваемый в функцию первый массив будет копироваться и с копией массива А, будет работать процедура. С массивом, который объявлен в var, процедура будет работать непосредственно с исходным массивом.

Для массива, переданного как открытый, очевидно, что размер массива может определяться функцией Length – число элементов и High – наибольшее значение индекса. Поэтому верно выражение: High = Length – 1.

Пример:

procedure SummArrays (A: array of Integer; var   B: array of Integer);

var i : word;

begin

                for i:=0 to High (A) do B[i]:=A[i]+B[i];

end;

Вызов в теле программы:

var A1, A2 : [1..3] of Integer;

begin

заполняется массив (тут операторы)

SummArrays (A1, A2);

end;

Можно также вызвать таким образом: SummArrays ([1.3, 4.40, 0.4]);

. открытый массив delphi
. Delphi открытый массив
Комментирование и размещение ссылок запрещено.