Benutzer mit den meisten Antworten
"NextDouble" ist kein Member von "Single"._

Frage
-
Hallo liebes Forum,
(Forms-Anwendung)
ich bekomme bei meinem Skript, welches nebenbei eine PictureBox in einem festgelegtem Bereich herumspringen lässt, in einer meiner Formen diese Fehlermeldung:
Skript: X = CInt(Math.Floor((790 - 12 + 1) * Rnd.NextDouble())) + 12
Y = CInt(Math.Floor((537 - 105 + 1) * Rnd.NextDouble())) + 105
Fehlermeldung:
"NextDouble" ist kein Member von "Single".
In einer anderen Form funktioniert das selbe Skript aber einwandfrei !
Was habe ich falsch gemacht ?
Danke im Voraus
Arcitenens
- Bearbeitet Arcitenens Samstag, 30. August 2014 14:54
Antworten
-
Hallo,
NextDouble ist Bestandteil der Random Klasse.
Davon solltest Du eine Instanz auf Klassenebene erzeugen, und dann geht es kürzer mit der Next-Methode:
Private MyRandom As New Random() Private Sub executeButton_Click(sender As Object, e As EventArgs) Handles executeButton.Click Dim X = MyRandom.Next(12, 791) Dim Y = MyRandom.Next(105, 538) End Sub
Der Name MyRandom kann auch anders heißen, besser nicht Rnd, denn Rnd ist eine eingebaute Funktion aus alten Visual Basic Classic Tagen (und die Fehlermeldung rührt daher). Die sollte man eher meiden- hier schon. wegen der notwendigen Rechnerei.
Gruß Elmar
- Bearbeitet Elmar BoyeEditor Samstag, 30. August 2014 15:06
- Als Antwort markiert Arcitenens Samstag, 30. August 2014 15:07
Alle Antworten
-
Hallo,
NextDouble ist Bestandteil der Random Klasse.
Davon solltest Du eine Instanz auf Klassenebene erzeugen, und dann geht es kürzer mit der Next-Methode:
Private MyRandom As New Random() Private Sub executeButton_Click(sender As Object, e As EventArgs) Handles executeButton.Click Dim X = MyRandom.Next(12, 791) Dim Y = MyRandom.Next(105, 538) End Sub
Der Name MyRandom kann auch anders heißen, besser nicht Rnd, denn Rnd ist eine eingebaute Funktion aus alten Visual Basic Classic Tagen (und die Fehlermeldung rührt daher). Die sollte man eher meiden- hier schon. wegen der notwendigen Rechnerei.
Gruß Elmar
- Bearbeitet Elmar BoyeEditor Samstag, 30. August 2014 15:06
- Als Antwort markiert Arcitenens Samstag, 30. August 2014 15:07