Если размер массивов заранее не известен, то можно прибегнуть к описанию открытых массивов в 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 открытый массив открытый различный массив delphi