is-Logo Taschenlampe V. 1.0
 

S. Spolwig
 

[Home | Unterrichtssequenzen]
Startseite

unit uFenster;
// ***********************************************************************
// K L A S S E : TLampenGUI
// -----------------------------------------------------------------------
// Version  : 1.0   - Prototyp
// Autor    : S. Spolwig, 2005
//            nach einer Vorlage von Christian Steinbrucker, OSZ TIEM, Berlin
// Aufgabe  : GUI fuer die Taschenlampe
// Compiler : DELPHI 6
// Aenderung: -
// ***********************************************************************


interface
// =======================================================================
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls,ComCtrls,
  uTaschenlampe;

type
  TLampenGUI = class(TForm)
    GehaeusePnl   : TPanel;
    LampenShp     : TShape;
    AufschriftLbl : TLabel;
    SchalterUpDown: TUpDown;
    procedure FormCreate(Sender: TObject);
    procedure SchalterUpDownClick(Sender: TObject; Button: TUDBtnType);

   private
    procedure Darstellen(TLa: TTaschenlampe);
  end;

var
  LampenGUI   : TLampenGUI;
  Taschenlampe: TTaschenlampe;

implementation
{$R *.dfm}
// =======================================================================

procedure TLampenGUI.FormCreate(Sender: TObject);
// -----------------------------------------------------------------------
begin
  Taschenlampe := TTaschenlampe.Create;
end;

procedure TLampenGUI.SchalterUpDownClick(Sender: TObject; Button: TUDBtnType);
// -----------------------------------------------------------------------
begin
  if (SchalterUpDown.Position >= 1)
  then
    begin
      Taschenlampe.Einschalten;       // leuchtet oder auch nicht
      SchalterUpDown.Position := 0
    end
  else Taschenlampe.Ausschalten;
  Darstellen (Taschenlampe);
end;


Procedure TLampenGUI.Darstellen(TLa: TTaschenlampe);
// -----------------------------------------------------------------------
Begin
  If TLa.Leuchtet = true
  Then LampenShp.brush.color := clyellow
  ELSE LampenShp.brush.color := clBlack;
End;

END. // -------- UNIT -------------

 

UNIT uTaschenlampe;
(* ******************************************************************** *)
(* K L A S S E : TTaschenlampe                                          *)
(* -------------------------------------------------------------------- *)
(* Version     : 1.0                                                    *)
(* Autor       :                                                        *)
(* Beschreibung: Die Klasse abstrahiert und modelliert eine gekapselte  *)
(*               Wegwerf-Taschenlampe                                   *)
(* Compiler    : Delphi 6.0                                             *)
(* Aenderungen : -                                                      *)
(* ******************************************************************** *)

INTERFACE
// =======================================================================

type
  TTaschenlampe = class(TObject)
   private
    Lampe    : boolean;  // Elektriker-Deutsch für Glühbirne o. ä.
    Batterie : Boolean;
    Schalter : boolean;

   public
    constructor Create;
    procedure   Einschalten;
    procedure   Ausschalten;
    function    Leuchtet : boolean;
  end;

(* -------------------- B e s c h r e i b u n g -------------------------

Oberklasse    : -
Bezugsklassen : -      import:

Methoden
--------
Create
  Auftrag: Erzeugen initialisieren
  vorher : -
  nachher: Lampe, Batterie sind true, Schalter false


Einschalten
  Auftrag: Schalter auf true
  vorher : -
  nachher: done

Ausschalten
  Auftrag: Schalter auf false
  vorher : -
  nachher: done

Leuchtet  : boolean;
  Anfrage: ob die Taschenlampe 'brennt'
  vorher :
  nachher: leuchtet, wenn Lampe Licht gibt, Batterie OK und Schalter auf EIN

--------------------------------------------------------------------- *)
IMPLEMENTATION
// ====================================================================

constructor TTaschenlampe.Create;
// --------------------------------------------------------------------
begin
  inherited Create;
  Lampe     := true; // drin und ok
  Batterie  := true; // drin und ok
  Schalter  := false // aus
end;

procedure TTaschenlampe.Einschalten;
// --------------------------------------------------------------------
begin
  Schalter := true;
end;

procedure TTaschenlampe.Ausschalten;
// --------------------------------------------------------------------
begin
  Schalter := false;
end;

function TTaschenlampe.Leuchtet : boolean;
// --------------------------------------------------------------------
begin
  Result := (Lampe = true) AND (Batterie = true) AND (Schalter = true)
end;

END. // -------- UNIT -------------

 

©  05. Oktober 2008    Siegfried Spolwig

page_top