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
Geometria - unit_figura_base.pas

unit_figura_base.pas

Caricato da: Poggi Marco
Scarica il programma completo

  1. unit unit_figura_base;
  2.  
  3. {$mode objfpc}{$H+}
  4.  
  5. interface
  6.  
  7. uses
  8.   Classes, SysUtils,
  9.   grafica, tpenna;
  10.  
  11. type FiguraBase=class
  12.   private
  13.     pennino:TipoPenna;
  14.     procedure setPennino(p:TipoPenna);
  15.   protected
  16.     procedure setPennaInfoglio();
  17.     var inizializzata:boolean;
  18.         foglio:Ttavola;
  19.   public
  20.     constructor crea(seme:Ttavola);
  21.     procedure setPuntoInizio(x,y:integer); virtual;
  22.     procedure setPuntoFine(x,y:integer); virtual;
  23.     procedure traccia(); virtual;
  24.     function denominazione:string; virtual;
  25.     function perimetro: double; virtual;
  26.     function area: double; virtual;
  27.     procedure setFoglio(nuovoSeme: Ttavola);
  28.     function figuraInizializzata:boolean;
  29.     property penna:TipoPenna read pennino write setPennino;
  30. end;
  31.  
  32. implementation
  33.  
  34. constructor FiguraBase.crea(seme:Ttavola);
  35. begin
  36.   foglio:=seme;
  37.   inizializzata:=false;
  38.   pennino.spessore:=1;
  39.   pennino.colore:=$7E7E7E;
  40.   setPennaInfoglio();
  41. end;
  42.  
  43. procedure FiguraBase.setPuntoInizio(x,y:integer);
  44. begin
  45.   { non fa nulla; prototipo}
  46.   inizializzata:=true;
  47. end;
  48.  
  49. procedure FiguraBase.setPuntoFine(x,y:integer);
  50. begin
  51.   { non fa nulla; prototipo}
  52. end;
  53.  
  54. procedure FiguraBase.traccia();
  55. begin
  56.   { non fa nulla; prototipo }
  57. end;
  58.  
  59. function FiguraBase.denominazione:string;
  60. begin
  61.   denominazione:='Figura base';
  62. end;
  63.  
  64. procedure FiguraBase.setPennaInfoglio();
  65. begin
  66.   foglio.spessore:=pennino.spessore;
  67.   foglio.tinta:=pennino.colore;
  68. end;
  69.  
  70. procedure FiguraBase.setPennino(p:TipoPenna);
  71. begin
  72.   pennino:=p;
  73. end;
  74.  
  75. procedure FiguraBase.setFoglio(nuovoSeme: Ttavola);
  76. begin
  77.   foglio:=nuovoSeme;
  78. end;
  79.  
  80. function FiguraBase.figuraInizializzata:boolean;
  81. begin
  82.   figuraInizializzata:=inizializzata;
  83. end;
  84.  
  85. function FiguraBase.perimetro: double;
  86. begin
  87.   perimetro:=0.0;
  88. end;
  89.  
  90. function FiguraBase.area: double;
  91. begin
  92.   area:=0.0;
  93. end;
  94.  
  95. end.