Likewise, 

is equivalent to 

Depdts := 1; MS .= Single; end 

var CurrentDate: Date, with Currentdate do if Mo = Dec then begin Mo := Jan; 'ear .- Year + 1 end else Mo .= succ(Mo) 

var CurrentDate: Date; if CurrentDate. Mo = Dt then begin CurrentDate .Mt :" Jan; CurrentDate.Year: CurrentDate.Year + 1 end else CurrentDate.Mo :, SJcc(CurrentDate.Mo) 

And the following accomplishes the vaccine update example given earlier: 

with VaccinationDate [Clild3] do begin Year := 1973; Mo := Apr; Day := 23 end 

When the with statement is executed, a reference to the record variable is established prior to the ~'xecution of the qualified statement. Therefore assignments made by th~' qualified statement to any elements of the record variable list will n(~t change the identity of the record variable. 

For example: 

var Who: FamilyMember; Who := Father; with VaccinationDate[W 0] do begin Who := Mother; Mo .- Jul; Day := 7; YE'ar := 1947 end 

The with statement sets the fields of VaccinationDate [Father] . 

