Оперирование несколькими полями
Если программе предстоит несколько раз подряд обращаться к полям одной и той же записи, может оказаться неудобным записывать это обращение полностью:
my_birthday.day:= 17; my_birthday.month:= 3; my_birthday.year:= 2004;
Для сокращения таких участков служит оператор with, позволяющий обращаться к полям, не указывая каждый раз имя всей записи:
with <имя_записи> do begin <операторы> {имена полей здесь используются как <имя_поля>, а не как <имя_записи>.<имя_поля>} end;
Например:
with my_birthday do begin day:= 17; month:= 3; year:= 2004; end;
Замечание. Для того чтобы внутри оператора with можно было обратиться не к полю записи, а к глобальной переменной с таким же именем, перед этой переменной нужно указать (через точку) имя программы: <имя_программы>.<имя_переменной>.
Например:
with my_birthday do begin day:= 17; month:= 3; {поле записи birthday.month} year:= 2004; programma.month:= 5; {глобальная переменная month} end;