is-Logo Ampelanlage
Implementation TSteuerung

S. Spolwig
 

[Home | Unterrichtssequenzen]
Startseite

Ziele:
Eigene Klasse schreiben

Informationen
zur Vertiefung

Klasse TSteuerung implementieren  

TSteuerungDamit die Steuerung die Ampelanlage schalten kann, müssen ihr die beiden Ampelexemplare bekannt gemacht werden.


 

UNIT uSteuerung;
(* ******************************************************************** *)
(* K L A S S E : TSteuerung                                             *)
(* -------------------------------------------------------------------- *)
(* Version     : 1.0                                                    *)
(* Autor       : S. Spolwig                                             *)
(* Beschreibung: Die Klasse bildet die Steuerung für zwei Ampeln ab.    *)
(*  Lampen ab. Keine Attribute, Methoden für die Schalt-   *)
(*               sequenzen                                              *)
(* Compiler    : Delphi 5.0                                             *)
(* Aenderungen : 0.9 11-MAY-01                                       *)
(* ******************************************************************** *)

INTERFACE
// =======================================================================
uses uAmpel;

type
  TSteuerung = class(TObject)
   public
    procedure SetLink (am1, am2 : TAmpel);
    procedure Start;
    procedure Stop;
  end;
(* -------------------- B e s c h r e i b u n g -------------------------

Oberklasse     : -
Bezugsklassen  : TAmpel

Methoden
--------
SetLink (am1, am2 : TAmpel);
  Auftrag: alle Ampeln bei der Steuerung anmelden (anschließen)
  vorher : -
  nachher: done

Start
  Auftrag: alle Ampeln an und auf Schaltsequenz programmiert
  vorher : -
  nachher: Schaltsequenz läuft

Stop
  Auftrag: alle Ampeln aus
  vorher : -
  nachher: alle Lampen sind dunkel
----------------------------------------------------------------------- *)


IMPLEMENTATION
// ====================================================================
uses uZeit; // importiert SetPause

var
  Ampel_1,
  Ampel_2 : TAmpel; // je nach Bedarf

procedure TSteuerung.SetLink (am1, am2 : TAmpel);
// --------------------------------------------------------------------
begin
  Ampel_1 := am1;
  Ampel_2 := am2;
end;

procedure TSteuerung.Start;
// --------------------------------------------------------------------
begin
  Ampel_1.Rot;
  Ampel_2.Gruen;
  Zeit.SetPause(1000);
  Ampel_1.Gelb;
  Ampel_2.Gelb;
  Zeit.SetPause(1000);
  Ampel_1.Gruen;
  Ampel_2.Rot;
end;

procedure TSteuerung.Stop;
// --------------------------------------------------------------------
begin
  Ampel_1.Abschalten;
  Ampel_2.Abschalten;
end;

END.

 

 

 

s. Vorlage

 

 

 

 

 


©  05. Oktober 2008    Siegfried Spolwig