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