以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  字母转大写  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=147032)

--  作者:良才
--  发布时间:2020/3/8 12:52:00
--  字母转大写
学籍号,开头是:G或L,身份证号18位包含了X,字母转为大写。请老师指教,谢谢!
If  Char.IsNumber(e.KeyChar) Then
    If e.sender.text.length < 1 OrElse e.sender.Text.Length > 18 Then
        e.cancel = True
    End If
ElseIf e.keychar = "G" OrElse e.keychar = "L" Then
    If e.sender.Text.Length >= 1 Then
        e.cancel = True
    End If
ElseIf e.keychar = chr(keys.back) Then
ElseIf e.keychar = "X" Then
    If e.sender.Text.Length < 18 OrElse e.sender.text.length > 18 Then
        e.cancel = True
    End If
Else
    e.Cancel  = True
End If
[此贴子已经被作者于2020/3/8 13:48:22编辑过]

--  作者:有点蓝
--  发布时间:2020/3/8 21:53:00
--  
没看懂上面的意思。


--  作者:良才
--  发布时间:2020/3/14 12:57:00
--  
搞定
If Char.IsNumber(e.KeyChar) Then
    If e.sender.Text.Length > 17 Then
        e.cancel = True
    End If
ElseIf e.keychar = chr(keys.back) Then
ElseIf e.keychar = "X" Then
    e.keychar = StrToTitleCase("X").ToUpper
    If e.sender.Text.Length < 17 Then
        e.cancel = True
    End If
Else
    e.Cancel  = True
End If
[此贴子已经被作者于2020/3/14 13:28:41编辑过]