random string mask

wdw

Freshman
Joined
Dec 11, 2002
Messages
37
' the mask must 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("(###)-####-####")

Can someone please give me the right code to do this.
I want to use it in a normal textbox.

many thanks to the one who give me the right solution for my problem

greetzzz
 
This sounds like homework to me, and we don't do homework. You should make an attempt at a solution yourself, and if you run in to a specific problem, then we can help.
 
I' ve got already some code but it's written in vb6.

and i didn't get the right solution by myself so if you can help me?

Visual Basic:
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
 
Back
Top