|
unit QUADRA;
interface
uses grafica, crt;
type quadrante=object
r:real;
pp:punto;
constructor quadrante(a:real; pu:punto);
destructor DistruggiQuadrante;
procedure ciclo;
end; (* fine della classe quadrante *)
implementation
constructor quadrante.quadrante(a:real; pu:punto);
begin
r:=a;
(*pu.cerchio(0, 0, r, brown); *)
pp.inizio(pu.f);
ciclo;
end;
procedure quadrante.ciclo;
var ih,im,j:integer;
lh,lm,aln,alh,be:real;
seg:finestra;
begin
lm:=r/12;
lh:=1.5*lm;
for j:=0 to 11 do (* ciclo che disegna i minuti *)
begin
be:=j*(2*pi/12);
for im:=1 to 4 do
begin
aln:=be+im*(2*pi/60);
with seg do
begin
x0:=(r-lm)*cos(aln);
y0:=(r-lm)*sin(aln);
xf:=r*cos(aln);
yf:=r*sin(aln);
end;
pp.linea(seg, yellow);
end;
end; (* fine del ciclo che disegna i minuti *)
for ih:=0 to 12 do (* ciclo che disegna le ore *)
begin
alh:=ih*(2*pi/12);
with seg do
begin
x0:=(r-lh)*cos(alh);
y0:=(r-lh)*sin(alh);
xf:=r*cos(alh);
yf:=r*sin(alh);
end;
pp.linea(seg, white);
end;
end;
destructor quadrante.DistruggiQuadrante;
begin
(* Distruttore *)
pp.DistruggiPunto;
end;
begin
{Inizializzazione}
end.
|
|