unit uFensterFrm;
//
***********************************************************************
// K L A S S E : TFensterFrm
//
-----------------------------------------------------------------------
// Version : 1.2
// Autor : S. Spolwig, OSZ-Handel
I, 10997 Berlin
// Aufgabe : GUI fuer das Ratespiel
Zahlenraten, 1 Fachklasse
// Compiler : DELPHI 6
// Aenderung : 1.2 - 23-MAR-01
//
1.3 - 18-AUG-02 Status : int
//
***********************************************************************
interface
//
=======================================================================
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs,
StdCtrls, ExtCtrls,
uRatespiel;
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 RatezahlAnnehmen(Sender: TObject; var Key:
Char);
procedure HilfeBtnClick(Sender: TObject);
private
{ Private-Deklarationen }
procedure Init;
procedure DatenAktualisieren;
procedure FensterAktualisieren;
public
{ Public-Deklarationen }
end;
var
FensterFrm : TFensterFrm;
Ratespiel : TRatespiel; // hier wird das
aktuelle Objekt deklariert
implementation
//
=======================================================================
{$R *.DFM}
procedure TFensterFrm.FormCreate(Sender: TObject);
//
-----------------------------------------------------------------------
begin
Ratespiel := TRatespiel.Create; // Objekt erzeugen
Init;
end;
procedure TFensterFrm.EndeBtnClick(Sender: TObject);
//
-----------------------------------------------------------------------
begin
Close
end;
procedure TFensterFrm.RatezahlAnnehmen (Sender: TObject;
var Key: Char);
//
-----------------------------------------------------------------------
var antwort : integer;
begin
if key = chr(13)
then
begin
DatenAktualisieren;
FensterAktualisieren;
end;
if Ratespiel.IstFertig
then
begin
antwort := Application.Messagebox('Wollen Sie
weiterspielen?',
'Systemmeldung',MB_OKCANCEL);
case antwort of
IDOK : Init;
IDCANCEL : Close;
end;
end
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;
// ================= hier beginnen die privaten Methoden
=================
procedure TFensterFrm.Init;
//
-----------------------------------------------------------------------
begin
Ratespiel.Init;
EingabeEdt.Text := '';
ZaehlerLbl.Caption := inttostr(0);
MeldePnl.Caption := 'Neues Spiel - neues Glück';
end;
procedure TFensterFrm.DatenAktualisieren;
//
-----------------------------------------------------------------------
begin
Ratespiel.SetRatezahl(strToInt(EingabeEdt.Text));
Ratespiel.ZaehlerErhoehen;
end;
procedure TFensterFrm.FensterAktualisieren;
// -----------------------------------------------------------------------
begin
if Ratespiel.GetStatus = 0
then MeldePnl.Caption := (' Gratuliere! Richtig geraten! ')
else
if Ratespiel.GetStatus = -1
then MeldePnl.Caption := (' Ratezahl zu niedrig ... ')
else MeldePnl.Caption := (' Ratezahl zu hoch ... ');
ZaehlerLbl.Caption:= intToStr(RateSpiel.GetZaehler);
end;
END. // --------- Unit ------- |