Visual Basic Keygenerator erstellen

... komplette Frage anzeigen

1 Antwort

Zähle doch ganz einfach die Buchstaben mit, und wenn eine Grenze (z.B. 15) überschritten ist, dann durfen nur noch Zahlen verwendet werden:

        TextBox1.Clear()
        Dim rnd As New Random
        Dim char_count As Integer = 0
        Dim r As Integer
        For i As Integer = 0 To 31
            If i = 8 Or i = 12 Or i = 16 Or i = 20 Or i = 32 Then
                TextBox1.Text &= "-"
            End If
            r = rnd.Next(0, 36)
            If r < 10 Then
                TextBox1.Text &= r
            Else
                char_count += 1
                If char_count > 15 Then
                    i -= 1
                    Continue For
                End If
                r = r - 10
                TextBox1.Text &= Chr(65 + r)
            End If
        Next

Hier mein Test-Ergebnis: J5AMA5QR-E0TY-FL93-G29U-X03M44054871

Allerdings wirst Du immer am Anfang Deiner Zeichenkette mehr Buchstaben und am Ende mehr Zahlen haben. Kein Wunder - bei 26 Buchstaben und 10 Zahlen ist die Wahrscheinlichkeit, einen Buchstaben zu erhalten fast dreimal so groß.

Hoffe, es hilft Dir weiter!

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?