Einzelnen Beitrag anzeigen

martin_

Registriert seit: 19. Mai 2008
Ort: Österreich
89 Beiträge
 
#18

Re: Ampelschaltung mit Delphi über Com Port

  Alt 25. Feb 2010, 09:07
Zitat von himitsu:
Wenn ihr das Ganze OOP-mäßig gestaltet, dann könntet ihr euch einige Objekte erstellen

z.B.
Delphi-Quellcode:
type TAmpelStatus = (asRot, asRotGelb, asGelb, asGruen, asGelbBlinkend);
  TAmpel2 = class
  private
    x, y: Integer; // die Koordinaten, wo sie auf dem Bildschirm gezeichnet wird
    PortRot: Integer; // die Adressen der entsprechenden LED
    PortGruen: Integer; //
    Status: TAmpelStatus;
  public
    Constructor Erstelle(x, y: Integer; PortRot, PortGruen: Integer);
    Procedure Umstellen(NeuerStatus: TAmpelStatus);
    Prozedure Zeichne(Zeichenflaeche: TCanvas);
  end;
  TAmpel3 = class
  private
    x, y: Integer; // die Koordinaten, wo sie auf dem Bildschirm gezeichnet wird
    PortRot: Integer; // die Adressen der entsprechenden LED
    PortGelb: Integer; //
    PortGruen: Integer; //
    BlinkerAn: Boolean; // einfach bei jedem Zeichnen umschalten und zusammen
    Status: TAmpelStatus; // mit asGelbBlinkend auf das Gelb anwenden
  public
    Constructor Erstelle(x, y: Integer; PortRot, PortGelb, PortGruen: Integer);
    Procedure Umstellen(NeuerStatus: TAmpelStatus);
    Prozedure Zeichne(Zeichenflaeche: TCanvas);
  end;
Hallo,
nachdem ich den Code gelesen habe, ergibt sich für mich folgende Frage:
Der Unterschied zwischen den beiden Klassen ist nur das eine blinken kann und die andere nicht.
Also für weitere Betrachtungen wird die erste Klasse verwendet. Wie funktioniert das mit dem Typ TAmpelStatus und der Procedure umstellen?
  Mit Zitat antworten Zitat