我在VB中用了这样的代码:
输入 OneChar 字符(汉字)
然后做以下判断:
但是最终的结果是很多常见字得不到拼音索引,
谁可以帮忙解决?希望在VC中解决,谢了    If OneChar >= Chr(128) Then
        If Asc(OneChar) >= &HA3B0 And Asc(OneChar) <= &HA3B9 Then   '全角数字
            OneResult = Chr(Asc(OneChar) - &HA3B0 + vbKey0)
        ElseIf Asc(OneChar) >= &HA3C1 And Asc(OneChar) <= &HA3DA Then '全角字母大写
            OneResult = Chr(Asc(OneChar) - &HA3C1 + vbKeyA)
        ElseIf Asc(OneChar) >= &HA3E1 And Asc(OneChar) <= &HA3FA Then '全角字母小写
            OneResult = Chr(Asc(OneChar) - &HA3E1 + Asc("a"))
        ElseIf Asc(OneChar) >= &HB0A1 And Asc(OneChar) <= &HB0C4 Then
            OneResult = "A"
        ElseIf Asc(OneChar) >= &HB0C5 And Asc(OneChar) <= &HB2C0 Then
            OneResult = "B"
        ElseIf Asc(OneChar) >= &HB2C1 And Asc(OneChar) <= &HB4ED Then
            OneResult = "C"
        ElseIf Asc(OneChar) >= &HB4EE And Asc(OneChar) <= &HB6E9 Then
            OneResult = "D"
        ElseIf Asc(OneChar) >= &HB6EA And Asc(OneChar) <= &HB7A1 Then
            OneResult = "E"
        ElseIf Asc(OneChar) >= &HB7A2 And Asc(OneChar) <= &HB8C0 Then
            OneResult = "F"
        ElseIf Asc(OneChar) >= &HB8C1 And Asc(OneChar) <= &HB9FD Then
            OneResult = "G"
        ElseIf Asc(OneChar) >= &HB9FE And Asc(OneChar) <= &HBBF6 Then
            OneResult = "H"
        ElseIf Asc(OneChar) >= &HBBF7 And Asc(OneChar) <= &HBFA5 Then
            OneResult = "J"
        ElseIf Asc(OneChar) >= &HBFA6 And Asc(OneChar) <= &HC0AB Then
            OneResult = "K"
        ElseIf Asc(OneChar) >= &HC0AC And Asc(OneChar) <= &HC2E7 Then
            OneResult = "L"
        ElseIf Asc(OneChar) >= &HC2E8 And Asc(OneChar) <= &HC4C2 Then
            OneResult = "M"
        ElseIf Asc(OneChar) >= &HC4C3 And Asc(OneChar) <= &HC5B5 Then
            OneResult = "N"
        ElseIf Asc(OneChar) >= &HC5B6 And Asc(OneChar) <= &HC5BD Then
            OneResult = "O"
        ElseIf Asc(OneChar) >= &HC5BE And Asc(OneChar) <= &HC6D9 Then
            OneResult = "P"
        ElseIf Asc(OneChar) >= &HC6DA And Asc(OneChar) <= &HC8BA Then
            OneResult = "Q"
        ElseIf Asc(OneChar) >= &HC8BB And Asc(OneChar) <= &HC8F5 Then
            OneResult = "R"
        ElseIf Asc(OneChar) >= &HC8F6 And Asc(OneChar) <= &HCBF9 Then
            OneResult = "S"
        ElseIf Asc(OneChar) >= &HCBFA And Asc(OneChar) <= &HCDD9 Then
            OneResult = "T"
        ElseIf Asc(OneChar) >= &HCDDA And Asc(OneChar) <= &HCEF3 Then
            OneResult = "W"
        ElseIf Asc(OneChar) >= &HCEF4 And Asc(OneChar) <= &HD1B8 Then
            OneResult = "X"
        ElseIf Asc(OneChar) >= &HD1B9 And Asc(OneChar) <= &HD4D0 Then
            OneResult = "Y"
        ElseIf Asc(OneChar) >= &HD4D1 And Asc(OneChar) <= &HD7F9 Then
            OneResult = "Z"
        End If
    Else
        OneResult = UCase(OneChar)
    End If

解决方案 »

  1.   

    try this( sorry, I have not tested it)
    http://www.cnskye.com/program/skillshow.asp?id=615
    《汉字转化为拼音》
      

  2.   

    可以去这里看一看,有完整的源代码,绝对实用:
    http://playguy.onchina.net
      

  3.   

    这个
    http://www.cnskye.com/program/skillshow.asp?id=615
    要收费后在给源码,不知道要等到何年:)
      

  4.   

    playguy,我先试试,可惜是javascript的