Константы - записи

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

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

Здесь <идентификатор> - идентификатор константы; 

          <тип> - тип записи; 

         <сп.знач.полей> - список значений полей.

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

type

point = record

х, у : 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; 

у : 1900..1999 

end;

const

origon :point = (x :0; у : -1) ;

line:vector = ((x:-3.1; у: 1.5) , (x: 5.9; у: 3.0)) ;

SomeDay: date = (d : 16; m : Mar; у : 1989);

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

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

Perconl : forma = (Country : 'Норвегия'; EntryPort : 

        'Мурманск'; EntryDate : (16, 3, 89); count : 12) ; 

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