VB 5/6-Tipp 0351: Zufallszahlen in vorgegebenen Grenzen generieren
von ActiveVB
Beschreibung
Da immer wieder im Forum erfragt, jetzt auch als Tipp, das Bilden von Zufallszahlen innerhalb eines durch Minimum und Maximum begrenzten Bereichs.
Update am 23. September 2004 von alchimist: Die Funktion enthielt einen Fehler, bei dem der größte und der kleinste Wert nicht in der gleichen Häufigkeit vorkamen, wie die dazwischen.
Schwierigkeitsgrad: | Verwendete API-Aufrufe: keine | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------- Anfang Projektdatei Project1.vbp ------------- '--------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Listen-Steuerelement "List1" ' Steuerelement: Schaltfläche "Command1" Option Explicit Private Sub Form_Load() 'Ordentlich durchmischen, sonst kommt immer wieder die gleiche 'Zahlen-Reihenfolge Randomize End Sub Private Sub Command1_Click() Dim x As Long List1.Clear For x = 0 To 100 List1.AddItem CStr(GetRandomNum(7, 22)) Next x End Sub Private Function GetRandomNum(Min As Long, Max As Long) As Long GetRandomNum = Int(Rnd * (Max - Min + 1) + Min) End Function '---------- Ende Formular "Form1" alias Form1.frm ---------- '-------------- Ende Projektdatei Project1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
VB5 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
VB6 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 8 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von Simon Wawroschek am 08.10.2007 um 22:55
Gaanz aktuell darf ich hier noch meinen Senf hinzufügen:
@chr0m
Int rundet ab und Rnd ist immer kleiner als eins.
Insofern ist die aktuelle Version da oben sinnvoll. :)
Kommentar von chr0m am 21.04.2005 um 16:57
Meiner Meinung nach ist die Formel
"Rnd * (Max - Min + 1) + Min" falsch, müsste doch eigentlich "Rnd * (Max - Min) + Min heissen.
Warum wird nochmal die Zufallszahl addiert?
Kommentar von ChuchiMeischtr am 27.04.2004 um 22:11
Also, mehr als dürftig... In MSDN wird diese GetRandomNum-Funktion mehr als ausführlich beschrieben, das einzige, was hier neu ist, ist das Ganze in eine Liste zu schreiben!
MSDN-Stichwort: "Rnd -Funktion (Bsp.)"
Kommentar von Paul Veith am 17.05.2002 um 07:45
Ich möchte ein Ratespiel ähnlich "Wer wird Millionär" schreiben. Wie schaffe ich es, dass auf den 4 Antwortbuttons enmal die richtige Antwort und drei manl die falsche Antwort erscheint, ohne dass es doppelt belebte Buttons gibt?
Danke
Paul
Kommentar von mO der Troll am 04.11.2001 um 15:19
(bitte nicht lachen)
Juuhuu endlich weis ich wie man das mach das nicht immer die selben zahlen bei rnd kommen (Ramdomize)
Danke Danke Danke
Kommentar von Markus am 12.08.2001 um 22:32
Nicht übel nur nicht sehr genau dokumentiert suche so was in c++ ne ahnung wo ich so was finden kann?
Kommentar von Simon Wawroschek am 18.05.2001 um 22:17
Zzzzzzz...
Kommentar von Knutz am 01.05.2001 um 02:37
Cool!