ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
817
817
EMPFEHLEN
-
Hallo,
ich habe ein mittelschweres Problem mit Visual Basic 6 SP6.
Mit der normalen random-Funktion bekomme ich keine wirklichen Zufallszahlen. Denn bei jedem 3ten oder 4ten Start der Funktion spuckt diese wieder die selbe Anfangszahl aus. Somit scheint VB auf eine interne Liste zurückzugreifen, und nicht wirklich "random" zu arbeiten.
Naja, ich möchte nun aber eine Zufallszahl zwischen 1 und 20 (einschließlich 1 und 20) ausgeben lassen. Mir kam es schon in den Kopf, die aktuelle Uhrzeit mit einzubauen, da die ja immer unterschiedlich ist, jedoch erstickte auch dieser Ansatz im Keim.
Wäre für Hilfe sehr Dankbar,
Mit freundlichen Grüßen
-
dividiere und multipliziere die Zufallszall die du erhälst mit dem datum bis es passt das ist die einzige möglchkeit an vernünftige Zufallswerte zu kommen.
zum beispiel so :
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Private Sub Form_Load() Randomize Dim dblRandom As Double Dim dblDate As Double Dim intZufallszahl As Integer dblDate = CDbl(Now) dblRandom = ((Rnd * 20) + 1) / dblDate dblDate = CDbl(Now) dblRandom = dblRandom * dblDate intZufallszahl = CInt(dblRandom) Call MsgBox(intZufallszahl) End Sub
Gruß bbGeändert von Alex F. (26.04.05 um 19:41 Uhr)
-
Hallo,
zuerst einmal danke für die schnelle Antwort. Leider erhalte ich durch diese Methode meines Wissens nach keine wahren und realistischen - d.h. ausgeglichenen - Zufallszahlen. Denn mit je mehr Bedingungen eine solche Abfrage verknüpft ist, desto unausgeglichener dürften die Zahlen doch schließlich auftreten.
Ich hoffe, ich irre mich nicht, denn mir geht es in erster Linie um eine ausgeglichene Verteilung auf die Einzelzahlen.
Mit freundlichen Grüßen,
David
-
da war ich nicht schnell genug mit editieren
da hast du mit sicherheit recht was die bedingungen angeht aber das problem mit den zufallszahlen ist, das die Randomize funktion (auch in anderen programmiersprachen) beim ersten Start eigentlich immer die gleiche Zahl liefert.
Um dies zu relativieren könntest du zum beispiel auch die rnd funktion mehrfach aufrufen z.b. mit einer scheinbar zufälligen anzahl (ebenfalls über rnd ermittelt ) sonst schau mal hier du bist ja nicht der einzige mit diesem problem
http://www.activevb.de/rubriken/faq/random.html
Gruß bb
-
Hallo,
vielen Dank für deine Hilfe
Mit freundlichen Grüßen
Ähnliche Themen
-
Kann man dieses Query auch ohne "like" realisieren?
Von port29 im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 15.09.10, 11:36 -
"Das wahre Office" - Probleme mit digitalriver
Von t0ny im Forum Office-AnwendungenAntworten: 0Letzter Beitrag: 15.03.10, 18:19 -
Aufgaben-"Verwaltung" - Wie realisieren?
Von String im Forum .NET Windows FormsAntworten: 3Letzter Beitrag: 08.02.10, 10:39 -
Wie kann ich einen "Schwebe-Effekt" realisieren?
Von boelky im Forum Videoschnitt, Videotechnik & -produktionAntworten: 2Letzter Beitrag: 16.04.09, 13:37 -
Count"up" realisieren
Von poorboy im Forum .NET ArchivAntworten: 0Letzter Beitrag: 28.11.03, 09:58





Zitieren
Login





