Карта сайтаСсылкиКонтакты

Хостинг


Массивы как возврат функции и параметры метода

PDF Печать
Статьи

Массивы в Delphi позволяют обращаться к ряду переменных под одним и тем же именем, но использовать индекс, чтобы использовать их по отдельности.


Вот объявление массива целых чисел, который содержит 7 (целочисленных) значений. Обратите внимание, что этот массив объявлен как статический.


var DayVisitors : array[0..6] of Integer;

Массив как тип возврата функции


В Delphi функции - это подпрограммы, которые возвращают значение.


Если Вам нужно, чтобы функция возвращала массив, Вы можете использовать следующее объявление, которое не будет работать:


function GetWeekTotal(weekIndex : integer) : array[0..6] of integer;
begin
  // Это НЕ БУДЕТ компилироваться
end;

Когда Вы попробуете откомпилировать этот код, Вы получите ошибку компилятора: [Error] Unit1.pas(XX): Identifier expected but 'ARRAY' found.


Это очевидно, когда Вы объявляете функции, которые возвращают значение массива, Вы не можете включать объявление индексации типа возвращения.


Чтобы позволить функции возвращать значение массива, Вы сначала должны создать пользовательский тип массива, затем использовать его:


// это БУДЕТ компилироваться
type
  TDayVisitors = array[0..6] of integer;

...

function GetWeekTotal(weekIndex : integer) : TDayVisitors;
begin
  // здесь производятся вычисления
end;

Массив как передаваемый параметр методу


Это подобно использованию массивов в возвращении функции, когда Вы объявляете подпрограмму, которая получает параметры типа массива:


type
  TDayVisitors = array[0..6] of integer;

...

procedure DisplayWeekTotal(weekVisitors : TDayVisitors) ;
begin
  // отобразить некоторую информацию
end;

 

Добавить комментарий


Защитный код
Обновить