Quick start manual
5-46
Delphi Language Guide
creates an array called Maze where
Maze[0,0,0] = 0
Maze[0,0,1] = 1
Maze[0,1,0] = 2
Maze[0,1,1] = 3
Maze[1,0,0] = 4
Maze[1,0,1] = 5
Maze[1,1,0] = 6
Maze[1,1,1] = 7
Array constants cannot contain file-type values at any level.
Record constants
To declare a record constant, specify the value of each field—as fieldName: value,
with the field assignments separated by semicolons—in parentheses at the end of the
declaration. The values must be represented by constant expressions. The fields must
be listed in the order in which they appear in the record type declaration, and the tag
field, if there is one, must have a value specified; if the record has a variant part, only
the variant selected by the tag field can be assigned values.
Examples:
type
TPoint = record
X, Y: Single;
end;
TVector = array[0..1] of TPoint;
TMonth = (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);
TDate = record
D: 1..31;
M: TMonth;
Y: 1900..1999;
end;
const
Origin: TPoint = (X: 0.0; Y: 0.0);
Line: TVector = ((X: -3.1; Y: 1.5), (X: 5.8; Y: 3.0));
SomeDay: TDate = (D: 2; M: Dec; Y: 1960);
Record constants cannot contain file-type values at any level.
Procedural constants
To declare a procedural constant, specify the name of a function or procedure that is
compatible with the declared type of the constant. For example,
function Calc(X, Y: Integer): Integer;
begin
ƒ
end;
type TFunction = function(X, Y: Integer): Integer;
const MyFunction: TFunction = Calc;