Thema: Delphi random generator

Einzelnen Beitrag anzeigen

Brüggendiek

Registriert seit: 13. Dez 2002
Ort: Dortmund
275 Beiträge
 
Delphi 5 Standard
 
#3

Re: random generator

  Alt 10. Jan 2004, 19:37
Hallo!

Wenn das Randomize nicht ausgeführt wird, kommt in der Regel bei jedem Programmaufruf dieselbe Folge von Zufallszahlen. Theoretisch kann man das ausnutzen, indem man RandSeed auf einen festen Wert setzt (ohne Initialisierung wäre das 0). Sollte man aber nicht, denn laut Delphi-Hilfe "kann sich die Implementation in späteren Versionen ändern" - d.h. dann kommt 'ne andere Zahlenfolge.

Randomize setzt den Startwert des Zufallsgenerators auf die Uhrzeit (nicht die Zeit seit Programmstart).

Ein häufig zu findender Fehler ist es,
Delphi-Quellcode:
Randomize;
wert:=Random(grenze);
zu schreiben - bei genügend schnellem Aufruf (z.B. in einer Schleife) gibt das eine Folge von gleichen Zahlen. Randomize wird nur einmal im Programmlauf aufgerufen - OnCreate der Mainform oder der Initialisation-Abschnitt einer Unit wären angemessene Orte dafür.

Gruß

Dietmar Brüggendiek
Dietmar Brüggendiek
  Mit Zitat antworten Zitat