Thema: Delphi randomize result ???

Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.119 Beiträge
 
Delphi 11 Alexandria
 
#19
  Alt 11. Jan 2003, 15:07
Moin Zusammen,

Zitat von Delphi Hilfe Randomize:
Kombinieren Sie in einer Schleife nicht den Aufruf von Randomize mit Aufrufen der Funktion Random. Normalerweise wird Randomize vor den Aufrufen von Random nur einmal aufgerufen.
und wenn man sich dann mal in der System.pas ansieht, was Randomize macht, hat das durchaus seine Richtigkeit, denn es wird nichts weiter gemacht, als die aktuelle Systemzeit in ihre Entsprechung in Millisekunden umzurechnen und diese dann in der Variablen RandSeed zu speichern.
Die Zahlenfolge die Random ausgibt hängt direkt mit dem Wert in Randseed zusammen, so dass bei einem gleichen Wert für RandSeed die Zahlenfolge von Random auch immer die gleiche ist.
Wer also immer die gleiche "zufällige" Zahlenfolge braucht setzt RandSeed auf immer den gleichen Wert.
Auf Randomize kann man also im Prinzip verzichten, indem man RandSeed selber setzt.

Mehrfaches Aufrufen von Randomize schadet also nur dann, wenn die Zeitdifferenz zwischen den Aufrufen zu klein ist, wie eben, z.b. in einer Schleife.

Übrigens ist die Auflösung des Timers nicht eine 18tel Sekunde (0,0556 sek) sondern 18 Millisekunden (0,018 Sek).
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat