|
[Home
| Didaktik] |
|
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 -------
|