In this example:
Unit unit1; interfaceuses windows, messages, sysutils, variants, classes, graphics, controls, forms, dialogs, stdctrls; Type tform1 = Class (tform) button1: tbutton; button2: tbutton; button3: tbutton; button4: tbutton; Procedure submit (Sender: tobject ); procedure button4click (Sender: tobject); end; var form1: tform1; implementation {$ R *. DFM} {defines two rectangular constants} const r1: trect = (left: 20; top: 30; Right: 160; bottom: 100); r2: trect = (left: 100; top: 10; Right: 180; bottom: 120); {initialization button display} procedure tform1.formcreate (Sender: tobject); begin button1.caption: = 'two original rectangles '; button2.caption: = 'interse'; button3.caption: = 'minus'; button4.caption: = 'consorted'; end; {draw two original rectangles} procedure tform1.button1click (Sender: tobject); begin refresh; canvas. brush. color: = clolive; canvas. rectangle (R2); canvas. brush. color: = clblue; canvas. rectangle (R1); end; {intersection: intersectrect} procedure tform1.button2click (Sender: tobject); var R: trect; begin refresh; intersectrect (R, R1, R2); canvas. brush. color: = clred; canvas. rectangle (r); end; {subtract: subtractrect} procedure tform1.button3click (Sender: tobject); var R: trect; begin refresh; subtractrect (R, R1, R2); canvas. brush. color: = clred; canvas. rectangle (r); end; {Union: unionrect} procedure tform1.button4click (Sender: tobject); var R: trect; begin refresh; unionrect (R, R1, R2); canvas. brush. color: = clred; canvas. rectangle (r); end.