Hi.
Ich versuche für meine VM's Virtuelle MacAdressen zu generieren doch leider läuft mir die Prozedur zu schnell ab um vorher eine neue zu generieren.
Also schreibt er mir teilweise ein paar gleiche untereinander.
Hat jemand einen Tip?
Mit Threading.Thread.Sleep(15) gehts zwar aber dann dauert es zu lange bei mehreren.
Spoiler anzeigen
Danke im voraus.
LG
Ich versuche für meine VM's Virtuelle MacAdressen zu generieren doch leider läuft mir die Prozedur zu schnell ab um vorher eine neue zu generieren.
Also schreibt er mir teilweise ein paar gleiche untereinander.
Hat jemand einen Tip?
Mit Threading.Thread.Sleep(15) gehts zwar aber dann dauert es zu lange bei mehreren.
VB.NET-Quellcode
- Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
- For i As Integer = 0 To NumericUpDown1.Value - 1
- Dim MacString As String = CreateRandomString(6, RandomTextType.LowerCaseLettersMixedNumbers).ToUpper 'CStr(RandomString(6).ToUpper)
- Application.DoEvents()
- Dim eins As String = MacString.Substring(0, 2)
- Dim zwei As String = MacString.Substring(2, 2)
- Dim drei As String = MacString.Substring(4, 2)
- liste.Add("00:1A:79:" & eins & ":" & zwei & ":" & drei)
- Application.DoEvents()
- BackgroundWorker1.ReportProgress(i)
- Next
- End Sub
- Public Function CreateRandomString(theLen As Short, art As RandomTextType) As String
- Const lowerChars = "abcdefghijklmnopqrstuvwxyz"
- Const upperChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- Const numericChars = "0123456789"
- Const specChars = "!§$%&/()=?{[]}+*~#'-_.:,;<>"
- Dim rs As String = ""
- Dim ast As String = "", le, ix As Short
- Dim rnd As New Random()
- Select Case art
- Case RandomTextType.LowerCaseLetters
- ast = lowerChars
- Case RandomTextType.UpperCaseLetters
- ast = upperChars
- Case RandomTextType.LowerCaseLettersMixedNumbers
- ast = lowerChars + numericChars
- Case RandomTextType.UpperCaseLettersMixedNumbers
- ast = upperChars + numericChars
- Case RandomTextType.MixedAll
- ast = lowerChars + upperChars + numericChars + specChars
- End Select
- le = ast.Length - 1
- For i As Short = 1 To theLen
- ix = rnd.Next(0, le)
- rs += ast.Substring(ix, 1)
- Next
- Return rs
- End Function
- Public Enum RandomTextType
- LowerCaseLetters = 1
- UpperCaseLetters = 2
- LowerCaseLettersMixedNumbers = 3
- UpperCaseLettersMixedNumbers = 4
- MixedAll = 5
- End Enum
Danke im voraus.
LG
GOOGLE ist mein Meister :)