Zufallsgenerator!

Mit Randomize initialisierst du den (Pseudo)Zufallsgenerator.
Wird kein Parameter angegeben verwendet er die Anzahl der Millisekunden seit dem Systemstart als Basis.

Mit Rnd kannst du dann die jeweils nächste Zahl der Folge abfragen, diese wird zwischen 0 und 1 liegen. Mit folgender Formel erzeugst du Ganzzahlen im Bereich von 1 bis 5: Int((5 * Rnd) + 1).

Gibst du beim Aufruf von Randomize einen Parameter mit wird von Rnd eine Zahlenreihe erzeugt die du mit dem selben Startwert wiederholen kannst, willst du also wirklich (scheinbar) zufällige Zahlen solltest du den Zufallszahlengenerator immer neu initialisieren.

Ausführlichere Verwendung von Rnd siehe Hilfe.
 
Ich bin mir nicht sicher, ob Zufallszahlen die mittels Rundung erzeugt werden, noch gleichverteilt sind.

die Formel geht normalerweise so, dass der Zufallswert mit der Zahl multipliziert wird, dazu 1 addiert wird und dann das ganze nach Int gebracht wird, dadurch dass man die Nachkommastellen abschneidet.

Wie das in VB geht, weiss ich leider nicht.
 
wenn du einen "richtigen" zufallsgenerator machen willst, mach es so:


Code:
Private Sub Form_Load()
Randomize
End Sub

Das ist auch kein richtiges Zufallsprinzip, aber sowas gibt es in der Informatik auch nicht, aber es richtet sich soviel eich weiß nach der Systemuhr, also ist die ausgabe doch "zufällig"


Code:
Private Sub Command1_Click()
Label1.Capiton = Int(Rnd * 10)
End Sub

Geb das einfach mal zum testen ein, also mit CMDbutton, nem label und das wars. Dann siehste ja wies funktioniert, denke aber das es das ist was du suchst :-)

Hoffe ich konnte dir helfen.
 
@JoKne

Das ist doch auch nichts anderes als RetLaw geschrieben hat.

Nochmal wegen der ganze Geschichte zur Berechnung von ganzzahligen Zufallswerten in einem bestimmten Bereich. Hier eine 'Formel' wie sie in der MSDN steht:

Int((Obergrenze - Untergrenze + 1) * Rnd + Untergrenze)

Viel Spaß damit!

Zorck
 

Neue Beiträge

Zurück