我在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
输入 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
http://www.cnskye.com/program/skillshow.asp?id=615
《汉字转化为拼音》
http://playguy.onchina.net
http://www.cnskye.com/program/skillshow.asp?id=615
要收费后在给源码,不知道要等到何年:)