program WithTest; Type Point = record x : integer; y : integer; end; Type Shape = record id : integer; center : Point; end; Var p : Point; the_pointer : ^Point; s : Shape; begin with p,s do begin x := 123; y := 456; center.x := 111; center.y := 222; id := 101 end; with p,s do begin Writeln('p.x=',x); Writeln('p.y=',y); Writeln('s.center.x=',center.x); Writeln('s.center.y=',center.y); Writeln('s.id=',id) end; the_pointer := @p; with the_pointer^ do begin Writeln('x=',x); Writeln('y=',y) end; end.