Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Orologio - QUADRA.PAS

QUADRA.PAS

Caricato da: Poggi Marco
Scarica il programma completo

  1. unit QUADRA;
  2.  
  3. interface
  4. uses grafica, crt;
  5.  
  6. type quadrante=object
  7.       r:real;
  8.       pp:punto;
  9.       constructor quadrante(a:real; pu:punto);
  10.       destructor DistruggiQuadrante;
  11.       procedure ciclo;
  12.      end; (* fine della classe quadrante *)
  13.  
  14. implementation
  15.  
  16. constructor quadrante.quadrante(a:real; pu:punto);
  17. begin
  18.  r:=a;
  19.  (*pu.cerchio(0, 0, r, brown); *)
  20.  pp.inizio(pu.f);
  21.  ciclo;
  22. end;
  23.  
  24. procedure quadrante.ciclo;
  25. var ih,im,j:integer;
  26.     lh,lm,aln,alh,be:real;
  27.     seg:finestra;
  28. begin
  29.  lm:=r/12;
  30.  lh:=1.5*lm;
  31.  for j:=0 to 11 do (* ciclo che disegna i minuti *)
  32.  begin
  33.   be:=j*(2*pi/12);
  34.   for im:=1 to 4 do
  35.   begin
  36.    aln:=be+im*(2*pi/60);
  37.    with seg do
  38.    begin
  39.     x0:=(r-lm)*cos(aln);
  40.     y0:=(r-lm)*sin(aln);
  41.     xf:=r*cos(aln);
  42.     yf:=r*sin(aln);
  43.    end;
  44.    pp.linea(seg, yellow);
  45.   end;
  46.  end; (* fine del ciclo che disegna i minuti *)
  47.  for ih:=0 to 12 do (* ciclo che disegna le ore *)
  48.  begin
  49.   alh:=ih*(2*pi/12);
  50.   with seg do
  51.   begin
  52.     x0:=(r-lh)*cos(alh);
  53.     y0:=(r-lh)*sin(alh);
  54.     xf:=r*cos(alh);
  55.     yf:=r*sin(alh);
  56.   end;
  57.   pp.linea(seg, white);
  58.  end;
  59. end;
  60.  
  61. destructor quadrante.DistruggiQuadrante;
  62. begin
  63.  (* Distruttore *)
  64.  pp.DistruggiPunto;
  65. end;
  66.  
  67. begin
  68.  {Inizializzazione}
  69. end.