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_punti.pas

unit_punti.pas

Caricato da: Poggi Marco
Scarica il programma completo

  1. unit unit_punti;
  2.  
  3. {$mode objfpc}{$H+}
  4.  
  5. interface
  6.  
  7. uses
  8.   Classes, SysUtils,
  9.   grafica, unit_figura_base;
  10.  
  11. type TPunti=class (FiguraBase)
  12.   private
  13.     var coordinate:pointf;
  14.   public
  15.     constructor crea(seme:Ttavola);
  16.     procedure setPuntoInizio(x, y: integer); override;
  17.     procedure setPuntoFine(x, y: integer); override;
  18.     procedure traccia; override;
  19.     function denominazione: string; override;
  20.     function perimetro: double; override;
  21.     function area: double; override;
  22. end;
  23.  
  24. implementation
  25.  
  26. constructor TPunti.crea(seme:Ttavola);
  27. begin
  28.   inherited crea(seme);
  29.   coordinate.x:=0.0;
  30.   coordinate.y:=0.0;
  31.   coordinate.valido:=True;
  32. end;
  33.  
  34. procedure TPunti.setPuntoInizio(x, y: integer);
  35. begin
  36.   coordinate.x:=x;
  37.   coordinate.y:=y;
  38.   inizializzata:=True;
  39. end;
  40.  
  41. procedure TPunti.setPuntoFine(x, y: integer);
  42. begin
  43.   coordinate.x:=x;
  44.   coordinate.y:=y;
  45. end;
  46.  
  47. procedure TPunti.traccia;
  48. begin
  49.   setPennaInfoglio();
  50.   foglio.punto(coordinate);
  51. end;
  52.  
  53. function TPunti.denominazione: string;
  54. begin
  55.   denominazione:=Format('Punto in (%4.0f | %4.0f)', [coordinate.x, coordinate.y]);
  56. end;
  57.  
  58. function TPunti.perimetro: double;
  59. begin
  60.   perimetro:=0.0;
  61. end;
  62.  
  63. function TPunti.area: double;
  64. begin
  65.   area:=0.0;
  66. end;
  67.  
  68. end.