Hallo,
Zitat:
Ich habe den Wert von Counter bei mehreren Versuchen überprüft, und mit dem Feld verglichen, und immer das gleiche Ergebnis: Counter ist 19, wobei sich im Feld noch 30-40 Ziffern befinden.
Vermutlich liegt es daran, dass beim Schleifendurchlauf die zufällig gewählte Zelle bereits bei einem vorherigen Lauf zurückgesetzt wurde. Versuch mal:
Delphi-Quellcode:
while ((IsValid(SG)=true) and (Counter>=20)) do
begin
Col:=random(9);
Row:=random(9);
temp := SG.Cells[Col,Row];
if temp = '' then
Continue;
SG.Cells[Col,Row]:='';
SG.Repaint;
Counter:=Counter-1;
end;
Vielleicht erledigt sich dann
Zitat:
IsValid scheint nie false zu sein
von selbst.
Gruß