none
"NextDouble" ist kein Member von "Single"._ RRS feed

  • 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
    Samstag, 30. August 2014 14:53

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


    Samstag, 30. August 2014 15:06
    Beantworter

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


    Samstag, 30. August 2014 15:06
    Beantworter
  • Ah super danke 

    das hatte ich schon wieder vergessen

    Samstag, 30. August 2014 15:08