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