is-Logo

Didaktik / Methodik
OOP im Anfangsunterricht

S. Spolwig

[Home | Didaktik]
Startseite
 

Page down

Visuelle Programmierung
 

unit uFenster;
// Version     : 1.0 - Zahlenraten - "visuelle Programmierung"

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

type
  TFensterFrm = class(TForm)
    EingabeLbl    : TLabel;
    EingabeEdt    : TEdit;
    EndeBtn       : TButton;
    MeldePnl      : TPanel;
    HilfeBtn      : TButton;
    ZaehlerGrpBox : TGroupBox;
    ZaehlerLbl    : TLabel;

    procedure FormCreate(Sender: TObject);
    procedure EndeBtnClick(Sender: TObject);
    procedure Raten(Sender: TObject; var Key: Char);
    procedure HilfeBtnClick(Sender: TObject);

  private
    Geheimzahl : integer;
    Ratezahl   : integer;
    Zaehler    : integer;
    procedure Init;
  end;

var
 FensterFrm : TFensterFrm;

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

procedure TFensterFrm.Raten (Sender: TObject; var Key: Char);
// -----------------------------------------------------------------------
var antwort : integer;

begin

  if key = chr(13)
  then
   begin
    Ratezahl := strtoint(EingabeEdt.Text);
    Zaehler := Zaehler + 1;
    ZaehlerLbl.Caption := inttostr(Zaehler);
    
    if Ratezahl = Geheimzahl
    then
     begin
     MeldePnl.Caption := (' Gratuliere! Richtig geraten! ');

     antwort := Application.Messagebox('Wollen Sie weiterspielen?',
                                        'Systemmeldung',MB_OKCANCEL);
     case antwort of
      IDOK     : Init;
      IDCANCEL : Close;
     end;
    end
  else
    if Ratezahl < Geheimzahl
    then MeldePnl.Caption 	:= (' Ratezahl zu niedrig ... ')
    else MeldePnl.Caption 	:= (' Ratezahl zu hoch ... ');
  end;
end;


procedure TFensterFrm.FormCreate(Sender: TObject);
// -----------------------------------------------------------------------
begin
  Init;
end;

procedure TFensterFrm.HilfeBtnClick(Sender: TObject);
// -----------------------------------------------------------------------
begin
  showmessage('Eine Zahl von 1..100 mit möglichst wenigen Versuchen raten.'
                + #13 + 'Tip im Editfeld eingeben!');
end;

procedure TFensterFrm.EndeBtnClick(Sender: TObject);
// -----------------------------------------------------------------------
begin
  Close
end;

// ================= hier beginnen die privaten Methoden =================

procedure TFensterFrm.Init;
// -----------------------------------------------------------------------
begin
  EingabeEdt.Text 	:= '';
  ZaehlerLbl.Caption:= inttostr(0);
  MeldePnl.Caption 	:= 'Neues Spiel - neues Glück';
  Ratezahl := 0;
  Zaehler  := 0;
  randomize;
  Geheimzahl := random(100)+1;
end;

END. // --------- Unit -------
 

Gastvortrag an der TU Dresden  -             02. Nov. 2004     Siegfried Spolwig

Page top