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