Записи
Запись – это структура данных, состоящая из фиксированного числа компонентов, называемых полями записи. В отличие от массива, компоненты (поля) записи могут быть различного типа. Чтобы можно было ссылаться на тот или иной компонент записи, поля именуются.
Структура объявления типа записи такова:
<имя типа> = RECORD <сп.полей> END
Здесь:
- <имя типа> – правильный идентификатор;
- RECORD, END – зарезервированные слова (запись,конец);
- <сп.полей> – список полей; представляет собой последовательность разделов записи, между которыми ставится точка с запятой.
Каждый раздел записи состоит из одного или нескольких идентификаторов полей, отделяемых друг от друга запятыми. За идентификатором (идентификаторами) ставится двоеточие и описание типа поля (полей), например:
type BirthDay = record day,month: Byte; year: Word end; var a,b: Birthday; …….
В этом примере тип BIRTHDAY (день рождения) есть запись с полями DAY, MONTH и YEAR (день, месяц и год); переменные А и В содержат записи типа BIRTHDAY.
Как и в массиве, значения переменных типа записи можно присваивать другим переменным того же типа, например:
а: = b;
К каждому из компонентов записи можно получить доступ, если использовать составное имя, т.е. указать имя переменной, затем точку и имя поля:
а.day: = 27; b.year: = 1939;
Для вложенных полей приходится продолжать уточнения:
type BirthDay = record day,month: Byte; year: Word end; var с: record name: String; bd: BirthDay end; begin ….. if c.bd.year = 1939 then… end.
Чтобы упростить доступ к полям записи, используется оператор присоединения WITH:
WITH <переменная> DO <оператор>
Здесь:
- WITH, DO – ключевые слова (с, делать);
- <переменная> – имя переменной типа запись, за которым, возможно, следует список вложенных полей;
- <оператор> – любой оператор Турбо Паскаля.