2008年3月27日星期四

根据人名查询拼音首字母【VB2008版】【转自网络并进行整理】

Namespace Hztopy.Permissions
    Public Class Convert
        Function Find(ByVal hz As String) As String
            Dim Str As String = String.Empty
            For i As Integer = 0 To hz.Length - 1
                Str += GetOneIndex(hz.Substring(i, 1))
            Next
            Return Str
        End Function

        Private Function GetOneIndex(ByVal OneIndexTxt As String) As String
            If CInt(AscW(CChar(OneIndexTxt))) >= 0 And CInt(AscW(CChar(OneIndexTxt))) < 256 Then
                Return OneIndexTxt
            Else
                Return GetGbkX(OneIndexTxt)
            End If
        End Function

        Private Function GetGbkX(ByVal str As String) As String
            If String.Compare(str, "吖", StringComparison.CurrentCulture) < 0 Then Return str
            If String.Compare(str, "八", StringComparison.CurrentCulture) < 0 Then Return "A"
            If String.Compare(str, "嚓", StringComparison.CurrentCulture) < 0 Then Return "B"
            If String.Compare(str, "咑", StringComparison.CurrentCulture) < 0 Then Return "C"
            If String.Compare(str, "妸", StringComparison.CurrentCulture) < 0 Then Return "D"
            If String.Compare(str, "发", StringComparison.CurrentCulture) < 0 Then Return "E"
            If String.Compare(str, "旮", StringComparison.CurrentCulture) < 0 Then Return "F"
            If String.Compare(str, "铪", StringComparison.CurrentCulture) < 0 Then Return "G"
            If String.Compare(str, "讥", StringComparison.CurrentCulture) < 0 Then Return "H"
            If String.Compare(str, "咔", StringComparison.CurrentCulture) < 0 Then Return "J"
            If String.Compare(str, "垃", StringComparison.CurrentCulture) < 0 Then Return "K"
            If String.Compare(str, "嘸", StringComparison.CurrentCulture) < 0 Then Return "L"
            If String.Compare(str, "拏", StringComparison.CurrentCulture) < 0 Then Return "M"
            If String.Compare(str, "噢", StringComparison.CurrentCulture) < 0 Then Return "N"
            If String.Compare(str, "妑", StringComparison.CurrentCulture) < 0 Then Return "O"
            If String.Compare(str, "七", StringComparison.CurrentCulture) < 0 Then Return "P"
            If String.Compare(str, "亽", StringComparison.CurrentCulture) < 0 Then Return "Q"
            If String.Compare(str, "仨", StringComparison.CurrentCulture) < 0 Then Return "R"
            If String.Compare(str, "他", StringComparison.CurrentCulture) < 0 Then Return "S"
            If String.Compare(str, "哇", StringComparison.CurrentCulture) < 0 Then Return "T"
            If String.Compare(str, "夕", StringComparison.CurrentCulture) < 0 Then Return "W"
            If String.Compare(str, "丫", StringComparison.CurrentCulture) < 0 Then Return "X"
            If String.Compare(str, "帀", StringComparison.CurrentCulture) < 0 Then Return "Y"
            If String.Compare(str, "咗", StringComparison.CurrentCulture) < 0 Then Return "Z"
            Return str
        End Function
    End Class

End Namespace

没有评论: