15.3. КОНСТАНТЫ-ЗАПИСИ

Определение константы-записи имеет следующий вид:

<идентификатор> : <тип> = (<сп.знач.полей>)

Здесь <идентификатор> - идентификатор константы; <тип> - тип записи; <сп. знач. полей> - список значений полей.

Список значений полей представляет собой список из последовательностей вида: имя поля, двоеточие и константа. Элементы списка отделяются друг от друга двоеточиями, например:

type

Point = record

X, Y : Real end;

Vect = array [0..1] of Point;

Month = (Jan, Feb, Mar, Apr, May, Jun, Jly, Aug, Sep, Oct, Nov, Dec) ;

Date = record

D : 1..31;

M : month;

Y : 1900..1999 end;

const

Origon : Point = (X : 0; Y : -1) ;

Line : Vector =

((X : -3.1; Y : 1.5), (X : 5.9; Y : 3.0));

SomeDay : Date = (D : 16; M : May; Y : 1997);

Поля должны указываться в той последовательности, в какой они перечислены в объявлении типа. Если в записи используется хотя бы

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

type

Forma = record

case Boolean of

True : (Birthplace : String [40]);

False : (Country : String [20];

EntryPort : String [20];

EntryDate : array [1..3] of Word;

Count : Word) end;

const

Percon1 : Forma = (Country : 'Норвегия';

EntryPort : 'Мурманск';

EntryDate : (16, 3, 89);

Count : 12);

Percon2 : Forma = (Birthplace : 'Москва');