45f9d30a

Задание записей константой


Как и массивы, записи не могут быть заданы неименованной или нетипизированной константой.

Для того чтобы задать запись типизированной константой, следует вначале описать соответствующий тип в разделе type, а затем воспользоваться им в разделе const:

type <имя_типа> = record <имя_поля1>: <тип_поля1>; [<имя_поля2>: <тип_поля2>;] [...] end; const <имя_константы>: <имя_типа> = <начальное_значение>;

Начальное значение для переменной типа запись задается перечислением в круглых скобках начальных значений для всех полей (соответствующих типов!) с обязательным указанием имени задаваемого поля. Имя поля от его начального значения отделяется двоеточием, значения соседних полей разделяются точкой с запятой:

(<имя_поля1>: <значение_поля1>; _; <имя_поляN>: <значение_поляN>);

Например:

type data = record day: 1..31; month: 1..12; year: 1900..2100; end; const my_birthday: data = (day:17; month:3; year:2004);

Можно, конечно, не описывать тип константы отдельно, а объединить оба определения:

const my_birthday: record day: 1..31; month: 1..12; year: 1900..2100; end; = (day:17; month:3; year:2004);

Если описана двумерная таблица, то ее начальные значения задаются как вектор, каждый компонент которого является записью. Таким образом, правила задания типизированной константы-таблицы сочетают в себе правила задания массива и записи:

type family = (mother, father, child); const birthdays : array[family] of data = ((day: 8; month: 3; year: 1975), (day: 23; month: 2; year: 1970), (day: 1; month: 9; year: 2000));




Начало  Назад  Вперед