Оператор приєднання with
Оператор приєднання with
призначений для
спрощення доступу до полів записів
(record)
і має такий синтаксис:
![](/html/2706/1245/html_JzOr2J0FkP.BmTP/img-TQwekq.png)
![](/html/2706/1245/html_JzOr2J0FkP.BmTP/img-7DLUdL.png)
Якщо оператор with
не використати, то
при звертанні до полів записів необхідно
вказувати повне кваліфікуєме ім'я поля,
що складається з ланцюжка ідентифікаторів,
розділених точками.
type T_Rec
= record
А: record
В: record
X : Char;
Y : Byte
End
С: Real
End
D : String
End
var Rec
: T_Rec;
|
Наприклад, якщо
зроблено опис
то для присвоювання полю Y
значення 0, а полю С - значення 3.1415
необхідно записати
Rec.А.В.Y := 0;
Rec.А.С:= 3.1415;
|
У найпростішому випадку оператор
приєднання дозволяє скоротити імена
полів запису в такий спосіб
with Rec
do
begin
A.B.Y := 0;
А.С:= 3.1415
end
|
with Rec
do
with A
do
begin
B.Y := 0;
С:= 3.1415
end
|
Якщо ж використати не
один, а два оператори
with,
то можна записати
Останній фрагмент можна
записати більш компактно одним оператором
with, указавши
імена Rec і А в одному списку посилань
with Rec,
A do
begin
B.Y:= 0;
С:=3.1415
end
|
with Rec,
A, B do
begin
X: = '*' ;
У:=0
end
|
Якщо потрібний доступ
тільки до полів X і Y, то можна записати