Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB5,VB6
Expertise: Intermediate
Sep 1, 2001

RandomString - Generate a random string using a mask

' generate a random string
'
' the mask can contain the following special chars
'    ? : any ASCII character (1-127)
'    # : a digit
'    A : an alphabetic char
'    N : an alphanumeric char
'    H : an hex char
' all other chars are taken literally

' Example: a random-generated phone number
'   phone = RandomString("(###)-####-####")


Function RandomString(ByVal mask As String) As String
    Dim i As Integer
    Dim acode As Integer
    Dim options As String
    Dim char As String
    
    ' initialize result with proper lenght
    RandomString = mask
    
    For i = 1 To Len(mask)
        ' get the character
        char = Mid$(mask, i, 1)
        Select Case char
            Case "?"
                char = Chr$(1 + Rnd * 127)
                options = ""
            Case "#"
                options = "0123456789"
            Case "A"
                options = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
            Case "N"
                options = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0" _
                    & "123456789"
            Case "H"
                options = "0123456789ABCDEF"
            Case Else
                ' don't modify the character
                options = ""
        End Select
    
        ' select a random char in the option string
        If Len(options) Then
            ' select a random char
            ' note that we add an extra char, in case RND returns 1
            char = Mid$(options & Right$(options, 1), 1 + Int(Rnd * Len(options) _
                ), 1)
        End If
        
        ' insert the character in result string
        Mid(RandomString, i, 1) = char
    Next

End Function

Francesco Balena
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date