如何判断一个输入在文本框“txt1”中的字符为合法的颜色值呢,假设现在输入的字符就是6位的,但6位的也有可能不是颜色值,比如 PPPPPP因为颜色值的每一位必须在0-9,A-F之间,这该如何判断呀

解决方案 »

  1.   

    挨个检查每个字符,检查的方法用Select Case语句,如下示例:Public Sub VerifyColor()
        Dim strTmp As String
        
        strTmp = "g"
        Select Case strTmp
        Case "0" To "9", "A" To "F", "a" To "f"
            Debug.Print "valid"
        Case Else    ' 无效值 '
            Debug.Print "无效颜色值"
        End Select
    End Sub
      

  2.   

    用strTmp依次得到你的文本框字符串里的每个字符,然后用1楼的Select Case语句就可以了。
      

  3.   

    循环语句如下:For i = 1 To 6
        strTmp = Mid(txt1, i, 1)
        ......
    Next i
      

  4.   


    Private Function Comp(ByVal s As String) As Boolean
    Dim i As Integer
    Dim s1 As String
    If Len(s) <> 6 Then Comp = False: Exit Function
    For i = 1 To 6
    s1 = Mid(s, i, 1)
    If s1 Like "[0-9,A-F]" Then
    Comp = True
    Else
    Comp = False
    Exit Function
    End If
    Next
    End FunctionPrivate Sub Form_Load()
    MsgBox Comp("124566")
    MsgBox Comp("43H456")
    End Sub
      

  5.   

    Public Function IsValidColor() As Boolean
        IsValidColor = True
        For i = 1 To 6
            ....
            If Not (strTmp Like "[0-9,A-F,a-f]") Then
                IsValidColor = False
                Exit Function
            End If
        Next i
    End Function