procedure frmSpiel.dummy_Click(sender: System.
Object; e: System.EventArgs);
var
lfdNr, zeile, spalte : integer;
s: Integer;
z: Integer;
begin
if (sender
is &
Label)
then lfdNr := integer((sender
as &
Label).Tag);
zeile := (lfdNr
DIV 27) + 1;
if (lfdNr
MOD 27) = 0
then dec(zeile);
spalte := lfdNr
MOD 27;
if spalte = 0
then spalte := 27;
inc(Auswahl );
Maximum := Auswahl;
Zahl.zeile := zeile
DIV 3;
if (zeile
MOD 3) = 0
then dec(Zahl.zeile);
Zahl.zeile := Zahl.zeile*3 + 1;
Zahl.spalte := spalte
DIV 3;
if (spalte
MOD 3) = 0
then dec(Zahl.spalte);
Zahl.spalte := Zahl.spalte*3 + 1;
Quadrat.zeile := zeile
DIV 9;
if (zeile
MOD 9) = 0
then dec(Quadrat.zeile);
Quadrat.zeile := Quadrat.zeile*9 + 1;
Quadrat.spalte := spalte
DIV 9;
if (spalte
MOD 9) = 0
then dec(Quadrat.spalte);
Quadrat.spalte := Quadrat.spalte*9 + 1;
for s := 1
to 28 - 1
do
begin
if (s
MOD 3) = (spalte
MOD 3)
then
begin
Basiszahlen[s,zeile].IsPossible := false;
end;
end;
for z := 1
to 28 - 1
do
begin
if (z
MOD 3) = (zeile
MOD 3)
then
begin
Basiszahlen[spalte,z].IsPossible := false;
end;
end;
for z := Zahl.zeile
to Zahl.zeile + 3 - 1
do
for s := Zahl.spalte
to zahl.spalte + 3 - 1
do
Basiszahlen[s,z].IsPossible := false;
for z := Quadrat.zeile
to Quadrat.zeile + 9 - 1
do
for s := Quadrat.spalte
to Quadrat.spalte + 9 - 1
do
begin
if ((z
MOd 3) = (zeile
MOD 3))
AND ((s
MOD 3) = (spalte
MOD 3))
then Basiszahlen[s,z].IsPossible := false;
end;
Basiszahlen[spalte,zeile].IsChecked := true;
Basiszahlen[spalte,zeile].IsPossible := true;
// ==> MessageBox.Show(spalte.ToString+'/'+zeile.ToString);
// ==> Text := spalte.ToString+'/'+zeile.ToString;
// Spiel aktualisieren
for s := 1
to 28 - 1
do
for z := 1
to 28 - 1
do
begin
if not Basiszahlen[z,s].IsPossible
then
begin
Spiel[z,s].Font :=
System.Drawing.Font.Create('
Arial', 9,
System.Drawing.FontStyle.Regular,
System.Drawing.GraphicsUnit.Point, (Byte(0)));
Spiel[z,s].Enabled := false;
end;
if Basiszahlen[z,s].IsChecked
then
begin
Spiel[s,z].Enabled := true;
Spiel[s,z].Height := 77;
Spiel[s,z].Width := 77;
Spiel[s,z].Left := Spiel[zahl.spalte,zahl.zeile].Left;
Spiel[s,z].Top := Spiel[zahl.spalte,zahl.zeile].Top;
Spiel[s,z].Font :=
System.Drawing.Font.Create('
Arial', 12,
System.Drawing.FontStyle.Bold,
System.Drawing.GraphicsUnit.Point, (Byte(0)));
Spiel[s,z].BringToFront;
end;
end;
end;