时间: 2021-07-31 作者:daque
type tptarray = array[0..0] of tpoint; pptarray = ^tptarray; procedure drawdynamicpolyarray(numpoints : integer; canvas : tcanvas); var p : pptarray; i : integer; begin {$ifopt r+} {$define ckrange} {$r-} {$endif} getmem(p, sizeof(tpoint) * numpoints); randomize; for i := 0 to (numpoints -1) do begin p^[i].x := random(form1.width); p^[i].y := random(form1.height); end; polygon(canvas.handle, p, numpoints); freemem(p, sizeof(tpoint) * numpoints); {$ifdef ckrange} {$undef ckrange} {$r+} {$endif} end; procedure tform1.button1click(sender: tobject); begin form1.canvas.brush.color := clwhite; form1.canvas.fillrect(rect(0, 0, form1.width, form1.height)); form1.canvas.brush.color := clred; drawdynamicpolyarray(spinedit1.value, form1.canvas); end; procedure tform1.formcreate(sender: tobject); begin spinedit1.minvalue := 2; spinedit1.maxvalue := 1000; spinedit1.value := 100; end; end.