Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.170 Beiträge
 
Delphi 12 Athens
 
#12

Re: Ampelschaltung mit Delphi über Com Port

  Alt 24. Feb 2010, 13:05
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;
Die Komponenten wissen wie sie selber aussehn und welche LEDs sie ansteuern müssen.
Somit muß sich das Steuerprogramm nicht darum kümmern.

Jetzt könnt ihr im Programm einfach alle nötigen Ampeln erzeugen und jede Ampel kann sich dann selber auf eine Zeichenfläche malen und die zugehörigen LEDs ansteuern.
Dann braucht ihr nur noch das Programm erstellen, welches diese Komponenten ansteuert.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat