nein, der Code sollte nicht ordnungsgemäß funtionieren:
isdouble:=False; muß for die Schleife, denn so wird nur die letzte Zahl geprüft.
for J:=1 to 6 do du prüfst auf Zahlen, die es noch nicht gibt (funktioniert zwar, ist aber nicht schön).
Und wozu 2 Schleifen?
Delphi-Quellcode:
procedure GenerateLottoNumbers;
var isdouble: Boolean;
I, J: Integer;
zahl: array[1..6] of Integer;
begin;
randomize;
for I:=1 to 6 do
begin
repeat
zahl[I]:=Random(49)+1;
isdouble:=False;
for J:=1 to I - 1 do
isdouble:=isdouble or (zahl[I]=zahl[J]);
until not isdouble;
TLabel(FindComponent('Label'+IntToStr(I))).Caption:=ItToStr(zahl[I]);
end;
end;