10 Zeichen lange Buchstabenfolge mit Random

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Krschy.

    10 Zeichen lange Buchstabenfolge mit Random

    Hallo,

    Ich möchte gerne eine Buchstabenfolge mit 10 Buchstaben erstellen.

    Hier mein Codeversuch:


    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. TextBox1.Text = String.Empty
    3. Dim Allowed As String() = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"}
    4. For i As Integer = 0 To 10
    5. TextBox1.Text &= Allowed(New Random().Next(Allowed.Length))
    6. Next
    7. End Sub


    Kann mir jemand sagen was daran falsch ist ?

    Ich bekomme 10x den selben Buchstaben hintereinander angezeigt.
    Probier es mal hiermit.

    VB.NET-Quellcode

    1. Dim rn As New Random
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. TextBox1.Clear()
    4. Dim Chars() As Char = "abcdefghijklmnopqrstuvwxyz0123456789".ToCharArray
    5. For i As Integer = 0 To 10
    6. TextBox1.AppendText(Chars(rn.Next(Chars.Length)))
    7. Next
    8. End Sub

    2. Möglichkeit

    Ich würde hierfür lieber eine Funktion schreiben:

    So würde ichs machen ->

    Also ich habe ein Modul erstellt, Name: RandomKeys und das dann geschreiben

    VB.NET-Quellcode

    1. Function GenerateNeuUID(ByVal länge As Long, ByVal ZuVerwendeneBuchstabenoZahlen As String)
    2. Dim zufallskette As String = ""
    3. For i As Long = 0 To länge - 1
    4. Randomize()
    5. zufallskette = zufallskette & ZuVerwendeneBuchstabenoZahlen.Chars(Int(Rnd() * ZuVerwendeneBuchstabenoZahlen.Length) + 0)
    6. Next
    7. zufallskette = zufallskette & My.Computer.Name '<- Das brauchst du nicht, das war für mich, ich generierte UIDs
    8. Return zufallskette
    9. End Function


    Das kann ich jetzt auch ausserhalb benutzen.

    So ruf ich meine Funktion dann auf:

    VB.NET-Quellcode

    1. 'Dim rdm As New Random <- Nicht vergessen, wer C&P macht
    2. Try
    3. '####################################################################################
    4. GenerateNeuUID(rdm.Next(600, 1200), "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz!§$%&/()=?"
    5. 'ODER
    6. GenerateNeuUID(rdm.Next(600, 1200), "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz"
    7. '####################################################################################
    8. Catch ex Exception
    9. MessageBox.Show("Fehler: " & vbCtrf & ex.Message.ToString, ex.tostring)
    10. End Try
    11. '##By krischkros##


    Bittö