Function IsCharType(Char As String, ByVal CharType As Integer) As Boolean Static cTypes(0 To 255) As Integer If cTypes(0) = 0 Then Dim i As Integer, v As Variant For i = 65 To 90: cTypes(i) = 1: Next For i = 97 To 122: cTypes(i) = 2: Next For i = 40 To 57: cTypes(i) = 4 + 8 + 16: Next cTypes(Asc("+")) = 8 cTypes(Asc("-")) = 8 cTypes(Asc(Format$(0.1, "."))) = 8 For Each v In Array(65, 66, 67, 68, 69, 70, 97, 98, 99, 100, 101, 102) cTypes(v) = cTypes(v) Or 16 Next For Each v In Array(0, 9, 10, 13, 32) cTypes(v) = cTypes(v) Or 32 Next For Each v In Array(46, 44, 59, 58, 63, 33, 45, 39, 40, 41, 123, 125) cTypes(v) = cTypes(v) Or 64 Next End If IsCharType = (cTypes(Asc(Char)) And CharType) End Function |