Array as a Function Return Type and Method Parameter
Arrays in Delphi allow us to refer to a series of variables by the same name and to use a number (an index) to tell them apart.
Here's an example integer array that can hold up to 7 (integer) values. Note: this is a fixed-size static Delphi array declaration.
When you want a function to return an array type variable, you might be tempted to use the next declaration:
Obviously, when you declare functions that will return array value, you cannot include index type specifiers return declaration.
In order to allow a function to return an array value, you first need to create a custom array type, then use it as a return function type:
Delphi tips navigator:
» Is the Current Windows user a Computer Administrator
« Drop Multiple Instances of a Component on a Delphi Form
Here's an example integer array that can hold up to 7 (integer) values. Note: this is a fixed-size static Delphi array declaration.
var DayVisitors : array[0..6] of Integer;
Arrays as Function Return Types
In Delphi, functions are routines that return a value.When you want a function to return an array type variable, you might be tempted to use the next declaration:
function GetWeekTotal(weekIndex : integer) : array[0..6] of integer; begin //this will NOT compileend;
When you try to compile this code, you'll get the next compile-time error: [Pascal Error] E2029 Identifier expected but 'ARRAY' found.Obviously, when you declare functions that will return array value, you cannot include index type specifiers return declaration.
In order to allow a function to return an array value, you first need to create a custom array type, then use it as a return function type:
//this WILL compiletype TDayVisitors = array[0..6] of integer;...function GetWeekTotal(weekIndex : integer) : TDayVisitors; begin //do some calculation for the provided "week"end;
Arrays as Method/Routine Properties
Similar to using arrays as function return types, when you declare routines that take array parameters, you cannot include index type specifiers in the parameter declarations.type TDayVisitors = array[0..6] of integer;...procedure DisplayWeekTotal(weekVisitors : TDayVisitors) ; begin //display some info for the provided "week"end;
Delphi tips navigator:
» Is the Current Windows user a Computer Administrator
« Drop Multiple Instances of a Component on a Delphi Form
Source...