Для упрощения доступа к полям записи может использоваться оператор присоединения. Структура оператора имеет вид
WITH <переменная_Типа_Запись> DO <оператор>;
где WITH, DO - ключевые слова ( с, делать).
Пример. WITH a DO// где a – запись, структуру см. в п. 11.1
begin
name:='MARINA';
god:=1991;
date:=23;
mes:=3
end;
Поле записи может иметь практически любой тип (массив, другая запись, множество). Доступ к вложенным элементам сложных структур, например к записи в записи, выполняется перечислением ряда полей через точку или оператор присоединения.
Пример. Определим вложенную запись (запись в записи)
TYPE
STUDENT = RECORD
name: string;
DenRogden: RECORD
den, mes: byte;
god: word
end;
end;
VAR z: STUDENT;
Имя DenRogden в свою очередь тоже является записью, тогда обращение к вложенным полям выполняется в виде
z.name := 'LIZA';
z.DenRogden.god := 1994;
Используя оператор присоединения, к этим же полям можно получить доступ другими способами:
WITH z DO
begin
name := 'LIZA';
with DenRogden DO
god := 1994;
end;
или
WITH z DO name := 'LIZA';
WITH Z DO with DenRogden DO god := 1994;
К полю GOD можно также обратиться и следующим оператором:
WITH z.DenRogden DO god:=1994;
Используя тип "запись", можно составить базы данных для разных назначений, а затем обрабатывать их с помощью программы [3–6]. При этом нужно следить, чтобы среди идентификаторов полей не было одинаковых.