![]() |
Random
Ich habe nichts gefunden, also die Frage: gibts in den unendlichen Weiten der API einen Befehl, der halbwegs vernünftig ein zufälliges Ergebnis zurückgibt?
|
Was ist das Problem mit dem Standard-Delphi Befehl Random. Wenn es nicht gerade um Top-Security Anwendungen geht, sollte der doch zufällig genug sein, oder?
...:cat:... |
*selber-hau* !!!
|
Zitat:
Vergiß nicht den einmaligen Aufruf von Randomize, damit nicht bei jedem Programmstart der gleiche Zufall kommt. ...:cat:.... |
Vielen Dank für diesen netten Hinweis. Man kann übrigens Randomize auch öfter aufrufen, wenn man immer mit einer davor erzeugten Zufallszahl den Seed neu setzt... :freak:
|
Zitat:
Delphi-Quellcode:
...:cat:...
procedure Randomize;
var systemTime : record wYear : Word; wMonth : Word; wDayOfWeek : Word; wDay : Word; wHour : Word; wMinute : Word; wSecond : Word; wMilliSeconds: Word; reserved : array [0..7] of char; end; asm LEA EAX,systemTime PUSH EAX CALL GetSystemTime MOVZX EAX,systemTime.wHour IMUL EAX,60 ADD AX,systemTime.wMinute { sum = hours * 60 + minutes } IMUL EAX,60 XOR EDX,EDX MOV DX,systemTime.wSecond ADD EAX,EDX { sum = sum * 60 + seconds } IMUL EAX,1000 MOV DX,systemTime.wMilliSeconds ADD EAX,EDX { sum = sum * 1000 + milliseconds } MOV RandSeed,EAX end; |
ähhmm...kann mir wer erklähren, was ein seed is??? *Schähmtsichweilerdasnichtweiß* :oops:
|
Genaugenommen ein Samen. In diesem Fall ist es der Anfang einer Serie von Pseudo-Zufallszahlen.
...:cat:... |
Samen...achso :mrgreen: . Danke, es heißt praktisch, ab der Aufrufstelle werden wieder neue Zufallszahlen gebildet, was aber eigentlich keine Wirkung hat, weil sie ja eh schon zufällig sind, oder? :wink:
|
Nicht ganz. Die RandSeed Variable wird zur Berechnung der nächsten Pseudo-Zufallszahl herangezogen. Deshalb auch Pseudo, ein Computer kann nicht wirklich Zufallszahlen ermitteln. Es ist immer Mathe dahinter.
...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz