vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Dynamisches Lotto 
Autor: Manfred X
Datum: 19.08.12 23:35

Hallo!

Ich bin mir nicht sicher, was Du erreichen willst und der
Code ist naja ...
- explizite Datentyp-Konvertierung verwenden (Option Strict On)
- Integer.tryparse statt Isnumeric nutzen - Double-Werte sind nur
bei Dezimalbruch-Berechnungen sinnvoll
- eine Instanz von System.Random einmal ausserhalb der Funktion erstellen
und dann immer wieder aufrufen
- numberfield ist vermutlich verzichtbar, eine einfache List(of) genügt
(sort-Methode ist verfügbar)

    Public Sub Start() Handles btnstart.Click
 
        If (IsNumeric(txtwertebereich.Text)) And (IsNumeric(txtanz.Text)) And ( _
          IsNumeric(txtgames.Text)) Then
 
            Dim randomZahl As New System.Random
            Dim zList As New SortedList
            Dim Zahl As Integer
            Dim i As Integer
            Dim wBereich As Double = CDbl(Replace(txtwertebereich.Text, ".", _
              ","))
            Dim anZahl As Double = CDbl(Replace(txtanz.Text, ".", ","))
            Dim ausg As Integer = 0
            Dim secList As New SortedList
            Dim sZahl As New System.Random
            Dim superZahl As Integer
            Dim Games As Double = CDbl(Replace(txtgames.Text, ".", ",")) - 1
            Dim gSchleife As Integer
            Dim a As String = String.Empty
 
 
            For gSchleife = 0 To CInt(Games)
                If rdbja.Checked Then
                    superZahl = sZahl.Next(0, 9)
                End If
 
                '..............................................
 
                For i = 1 To CInt(anZahl)
                    Do
                        Zahl = randomZahl.Next(1, CInt(wBereich) + 1)
                        If Not zList.ContainsValue(Zahl) Then
                            zList.Add(Zahl, Zahl)
                            Exit Do
                        End If
                    Loop
                Next i
 
                Dim numberField As IList = zList.GetValueList
 
                lstbox.Items.Add("Die Lottozahlen lauten: ")
                For i = 0 To numberField.Count - 1
                    secList.Add(numberField(i), numberField(i))
                Next i
 
                a = ""
                For Each item As String In secList.Values
                    a &= item & ", "
                Next
                a = a.Substring(0, a.Length - 2)
 
                lstbox.Items.Add(a)
                If rdbja.Checked Then
                    superZahl = sZahl.Next(0, 9)
                    lstbox.Items.Add("SuperZahl= " & superZahl)
                End If
 
                secList = New SortedList
                zList = New SortedList
            Next
        End If
    End Sub
MfG
Manfred

Beitrag wurde zuletzt am 19.08.12 um 23:39:34 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Dynamisches Lotto1.775CriTT17.08.12 09:46
Re: Dynamisches Lotto1.177CLL17.08.12 14:44
Re: Dynamisches Lotto1.114CriTT17.08.12 14:47
Re: Dynamisches Lotto1.145Manfred X19.08.12 23:35
Re: Dynamisches Lotto1.264CriTT22.08.12 11:06
Re: Dynamisches Lotto1.202Manfred X23.08.12 08:10

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel