Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 29th, 2012  |  syntax: VisualBasic  |  size: 2.08 KB  |  hits: 20  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Option Strict On
  2. Imports System.Text
  3.  
  4. Public Class RandomKeyGenerator
  5.     Dim Key_Letters As String
  6.     Dim Key_Numbers As String
  7.     Dim Key_Chars As Integer
  8.     Dim LettersArray As Char()
  9.     Dim NumbersArray As Char()
  10.  
  11.  
  12.     Protected Friend WriteOnly Property KeyLetters() As String
  13.         Set(ByVal Value As String)
  14.             Key_Letters = Value
  15.         End Set
  16.     End Property
  17.  
  18.  
  19.     Protected Friend WriteOnly Property KeyNumbers() As String
  20.         Set(ByVal Value As String)
  21.             Key_Numbers = Value
  22.         End Set
  23.     End Property
  24.  
  25.  
  26.     Protected Friend WriteOnly Property KeyChars() As Integer
  27.         Set(ByVal Value As Integer)
  28.             Key_Chars = Value
  29.         End Set
  30.     End Property
  31.  
  32.  
  33.     Function Generate() As String
  34.         Dim i_key As Integer
  35.         Dim Random1 As Single
  36.         Dim arrIndex As Int16
  37.         Dim sb As New StringBuilder
  38.         Dim RandomLetter As String
  39.  
  40.  
  41.         LettersArray = Key_Letters.ToCharArray
  42.         NumbersArray = Key_Numbers.ToCharArray
  43.  
  44.         For i_key = 1 To Key_Chars
  45.  
  46.  
  47.             Randomize()
  48.             Random1 = Rnd()
  49.             arrIndex = -1
  50.  
  51.  
  52.             If (CType(Random1 * 111, Integer)) Mod 2 = 0 Then
  53.  
  54.  
  55.                 Do While arrIndex < 0
  56.                     arrIndex = _
  57.                      Convert.ToInt16(LettersArray.GetUpperBound(0) _
  58.                      * Random1)
  59.                 Loop
  60.                 RandomLetter = LettersArray(arrIndex)
  61.  
  62.  
  63.                 If (CType(arrIndex * Random1 * 99, Integer)) Mod 2 <> 0 Then
  64.                     RandomLetter = LettersArray(arrIndex).ToString
  65.                     RandomLetter = RandomLetter.ToUpper
  66.                 End If
  67.                 sb.Append(RandomLetter)
  68.             Else
  69.  
  70.                 Do While arrIndex < 0
  71.                     arrIndex = _
  72.                       Convert.ToInt16(NumbersArray.GetUpperBound(0) _
  73.                       * Random1)
  74.                 Loop
  75.                 sb.Append(NumbersArray(arrIndex))
  76.             End If
  77.         Next
  78.         Return sb.ToString
  79.     End Function
  80. End Class