3. Оператор with позволяет сократить
обращение к полям записи, а также к
полям, методам и свойствам объекта.
Он имеет вид:
with имя записи или объекта do оператор
или
with список имен do оператор
4. Всюду внутри оператора можно опускать имя записи при
обращении к полю указанной записи или имя объекта при
обращении к полю, методу или свойству указанного объекта.
Например, пусть описана переменная:
var
DateOfBirthday = record
Day: Integer;
Month: Integer;
Year: Integer;
end;
6. Тогда присваивание значений ее полям без
использования оператора with имеет вид:
DateOfBirthday.Day := 23;
DateOfBirthday.Month := 2;
DateOfBirthday.Year := 1997;
8. Использование оператора with позволяет
сократить предыдущую запись:
with DateOfBirthday do
begin
Day := 23;
Month := 2;
Year := 1997;
end;
9. Если внешняя переменная имеет то же имя, что и поле
(метод, свойство), то предпочтение отдается полю
(методу, свойству). При наличии вложенных операторов
with вначале предпринимается попытка рассматривать
переменную как поле записи или объекта самого
внутреннего оператора with, затем непосредственно
объемлющего его оператора with и т.д. Если оператор
with содержит список объектов, то они рассматривается
справа налево.
15. то фрагмент программы
with a,b do
begin
x := 1;
y := 2;
z := 3;
end;
эквивалентен фрагменту
with a do
with b do
begin
x := 1;
y := 2;
z := 3;
end;а также фрагменту
b.x:=1;
a.y:=2;
z:=3;