Zitat von
funkuchn:
und Unterfunktionen, ja wie meinst das?
Na du kannst dir doch eigene Funktionen und Proceduren schreiben:
Delphi-Quellcode:
procedure TForm1.ErzeugeLottozahlen(liste:TStrings);
var
i : integer;
lottozahl : integer;
begin
// theoretisch kann hier auch die gleiche Lottozahl zweimal gezogen werden
// die Wahrscheinlichkeit ist klein, aber doch vorhanden
for i := 1 to 6 do
begin
lottozahl := random(49)+1;
liste.Add(IntToStr(lottozahl));
end;
end;
und dann aufrufen:
Delphi-Quellcode:
...
ErzeugeLottozahlen(Memo1.lines);
...
Um zu verhindern, dass die gleiche Lottozahl zweimal gezogen wird, muss man prüfen, ob sie schon in der Liste ist:
Delphi-Quellcode:
function TForm1.IstZahlInListe(zahl:integer; liste:TStrings):Boolean;
var i : integer;
begin
result := False;
for i := 0 to liste.Count-1 do
begin
if StrToInt(liste[i]) = zahl then
begin
result := True;
break;
end;
end;
end;
Wenn du jetzt die Funktion IstZahlInListe() geschickt einsetzt, kannst du verhindern, dass Lottozahlen doppelt gezogen werden.