Created
November 18, 2012 16:08
-
-
Save vertrigo/4106018 to your computer and use it in GitHub Desktop.
лаб9 - вариант 24 (модуль)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| unit obj_un; | |
| interface | |
| uses graph; | |
| type gr=object | |
| gd,gm:integer; | |
| procedure graphinit; | |
| procedure graphclose; | |
| end; | |
| type obj=object(gr) | |
| a,b,x,y,s,tx,ty:integer; | |
| procedure setcoord(px,py,sz:integer); | |
| procedure circleshow; | |
| procedure circlehide; | |
| procedure rectshow; | |
| procedure recthide; | |
| procedure treugshow; | |
| procedure treughide; | |
| end; | |
| implementation | |
| procedure gr.graphinit; | |
| begin | |
| gd:=detect;initgraph(gd,gm,'c:\TP\BGI\'); | |
| if graphresult <> 0 then begin writeln('Can not open a graphical mode!'); halt(1) end | |
| end; | |
| procedure gr.graphclose; | |
| begin | |
| closegraph | |
| end; | |
| procedure obj.setcoord(px,py,sz:integer); | |
| begin | |
| s:=sz;x:=px;y:=py; | |
| end; | |
| procedure obj.circleshow; | |
| begin | |
| setcolor(getmaxcolor); | |
| circle(x,y,s); | |
| end; | |
| procedure obj.circlehide; | |
| begin | |
| setcolor(getbkcolor); | |
| circle(x,y,s); | |
| end; | |
| procedure obj.rectshow; | |
| begin | |
| setcolor(getmaxcolor); | |
| rectangle(x-s*2,y-s,x+s*2,y+s); | |
| end; | |
| procedure obj.recthide; | |
| begin | |
| setcolor(getbkcolor); | |
| rectangle(x-s*2,y-s,x+s*2,y+s); | |
| end; | |
| procedure obj.treugshow; | |
| begin | |
| setcolor(getmaxcolor); | |
| a:=75; b:=23; | |
| moveto(x,y-a); | |
| tx:=round(a*cos(60)); | |
| ty:=round(a*sin(60)); | |
| linerel(-tx,-ty*5); | |
| linerel(2*tx,ty+b); | |
| linerel(-tx,ty*5); | |
| end; | |
| procedure obj.treughide; | |
| begin | |
| setcolor(getbkcolor); | |
| a:=75; b:=23; | |
| moveto(x,y-a); | |
| tx:=round(a*cos(60)); | |
| ty:=round(a*sin(60)); | |
| linerel(-tx,-ty*5); | |
| linerel(2*tx,ty+b); | |
| linerel(-tx,ty*5); | |
| end; | |
| end. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment