Zitat von
dino:
nur habe ich da keine ahnung von, wie man das im Programm einbaut, dass er guckt, was die einzelnen random aufrufe an Cpu verbrauchen
Nein, ich meinte das CPU-Fenster. Also nen Haltepunkt beim Randomaufruf reinsetzen, starten und, sobald der Haltepunkt erreicht ist, Strg+Alt+C. Dann ein paar mal F7 und man kann besser nachvollziehen, was passiert. Allerdings musst du dafür ein klitzekleines bisschen
ASM können.
Zitat von
dino:
ist random ein besonderes Geheimniss von Delphi???
Wie kommst du darauf, der Code liegt offen.
Zitat von
schrimm:
also unser delphi lehrer hat das immer mit randomize gemacht, ka, was das dann macht, aber es scheint zufälliger zu werden.
aber wenn ich in einer schleife (lottozahlenzeugs) immer erst randomize und dann random gemacht habe, kam da immer die gleichen zahlen in einem durchgang hinaus, jedoch nach neustart des progs wieder andere, aber alle 6 gleich
Man soll Randomize ja auch nur einmal aufrufen, weil es den RandSeed wie gesagt entweder mit dem Var-Parameter von QPC oder dem TickCount initialisiert. Danach wird der RandSeed immer nur noch geändert, wenn Random aufgerufen wird. Wenn du Randomize in einer Schleife 6mal direkt hintereinander aufrufst, hat sich der TickCount in diesen Sekundenbruchteilen wohl kaum geändert. Der RandSeed wird immer wieder zurückgesetzt und du kriegst immer das gleiche raus.
Zitat von
3_of_8:
Randomize initialisiert den Random-Seed mit irgendeinem Zeitwert, welcher genau weiß ich jetzt nicht
s.o.
Zitat von
dino:
reden wir überhaupt noch davon, wie das random bei delphi realisiert wurde?
Was sollen wir darüber reden, die Implementierung ist bekannt.
Die einzige Frage, die für mich noch unbeantwortet ist, ist die Herkunft der mysteriösen Konstante $08088405.