From 717b9418c82503d4eea96b2e736ba23e7134a1e3 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Mon, 1 Oct 2018 22:27:14 +0200 Subject: Spielnummern neu --- raetsel.lps | 88 ++++++++++++++++++++++++++++----------------------------- raetselunit.pas | 24 ++++++++++++++-- unit1.pas | 7 +++++ 3 files changed, 72 insertions(+), 47 deletions(-) diff --git a/raetsel.lps b/raetsel.lps index ea83dbf..95f4b26 100644 --- a/raetsel.lps +++ b/raetsel.lps @@ -9,7 +9,7 @@ - + @@ -18,9 +18,9 @@ - - - + + + @@ -32,16 +32,15 @@ - + - - - + + @@ -50,7 +49,7 @@ - + @@ -90,9 +89,9 @@ - + - + @@ -126,122 +125,123 @@ - - + + - - + + - + - + - + - - + + - + - - + + - + - + + - + - + - + - - + + - + - + - + - + - + - + - + - + - - + + - + - + - + - + diff --git a/raetselunit.pas b/raetselunit.pas index 4e0ffae..04052b9 100644 --- a/raetselunit.pas +++ b/raetselunit.pas @@ -4,8 +4,6 @@ unit raetselunit; interface -// TODO: Spielnummernzufall - // TODO: Cross-Compilieren uses @@ -32,6 +30,8 @@ type vorherMalFarbe: TColor; end; + tOnSetCaption = procedure(c: string) of object; + tRaetsel = class private besitzer: tForm; @@ -40,6 +40,7 @@ type erzeugeBtn, speichernBtn, ladenBtn: tButtonWithArrowKeys; + zufallSE: tSpinEdit; progressbar1: tProgressBar; aktuelleFarbe: tColor; function besitzerHoehe: longint; dynamic; @@ -66,6 +67,7 @@ type procedure speichern(var datei: file); dynamic; procedure laden(var datei: file); dynamic; public + onSetCaption: tOnSetCaption; constructor create(aOwner: tForm); destructor destroy; override; procedure zeichnen; dynamic; abstract; @@ -230,6 +232,16 @@ begin ladenBtn.caption:='Laden!'; ladenBtn.onClick:=@ladenOnClick; ladenBtn.onKeyDown:=@onKeyDown; + zufallSE:=tSpinEdit.create(besitzer); + zufallSE.parent:=besitzer; + zufallSE.top:=erzeugeBtn.top+erzeugeBtn.height+spacing; + zufallSE.left:=spacing; + zufallSE.width:=64; + zufallSE.minValue:=0; + zufallSE.maxValue:=99999; + zufallSE.value:=random(zufallSE.maxValue+1); + zufallSE.showHint:=true; + zufallSE.hint:='Nummer'; progressbar1:=tProgressBar.create(besitzer); progressbar1.visible:=false; progressbar1.parent:=besitzer; @@ -312,6 +324,10 @@ end; procedure tRaetsel.erzeugeOnClick(sender: tObject); begin loeschen; + randSeed:=zufallSE.value; + if assigned(onSetCaption) then + onSetCaption(intToStr(zufallSE.value)); + zufallSE.value:=random(zufallSE.maxValue+1); loesen(-1); randErzeugen; leeren; @@ -396,7 +412,9 @@ begin with spinEdits[i] do begin parent:=besitzer; top:=erzeugeBtn.top+erzeugeBtn.height+spacing; - if i>0 then begin + if i=0 then + left:=zufallSE.left + zufallSE.width + else begin left:=spinEdits[i-1].left + spinEdits[i-1].width; value:=groeszen[i-1]; end; diff --git a/unit1.pas b/unit1.pas index 27ec7c2..05b97d8 100644 --- a/unit1.pas +++ b/unit1.pas @@ -19,6 +19,7 @@ type private { private declarations } procedure WMGetDlgCode(var msg: tMessage); message WM_GETDLGCODE; + procedure onSetCaption(c: string); public { public declarations } raetsel: tRaetsel; @@ -55,6 +56,12 @@ begin application.terminate; end; end; + raetsel.onSetCaption:=@onSetCaption; +end; + +procedure tForm1.onSetCaption(c: string); +begin + form1.caption:=c; end; procedure tForm1.FormDestroy(Sender: TObject); -- cgit v1.2.3-70-g09d2