惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
IT之家
IT之家
博客园 - Franky
Stack Overflow Blog
Stack Overflow Blog
宝玉的分享
宝玉的分享
Recent Announcements
Recent Announcements
Engineering at Meta
Engineering at Meta
S
SegmentFault 最新的问题
V
Visual Studio Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
H
Help Net Security
V
V2EX
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
博客园 - 叶小钗
J
Java Code Geeks
博客园 - 【当耐特】
月光博客
月光博客
爱范儿
爱范儿
人人都是产品经理
人人都是产品经理
酷 壳 – CoolShell
酷 壳 – CoolShell
小众软件
小众软件

博客园 - lauer

通过配置文件添加MIME类型 NHibernate4使用Oracle.ManagedDataAccess.dll连接oracle及配置多个数据库连接 Myeclipse闪退故障 Log4j快速使用精简版 Eclipse快捷键 10个最有用的快捷键 Java compiler level does not match解决方法 ArcMap常用VBA firefox浏览器中silverlight无法输入问题 C#导入Excel遇到数字字母混合列数据丢失解决 ArcMap计算PolyLine中点VBA ArcGIS Server .NET ADF中的AJAX之深入浅出/CallbackResult详解 地图缓存与瓦片切割步骤 柱状专题图实现例子 控制图层是否显示的方法 ArcGIS Server 开发初步 -- 自定义工具 ArcGIS Server 9.2 实现基于web浏览器的在线编辑 VB的Winsock控件GetData方法获取汉字乱码解决方法 汉字转拼音缩写(C#版) 汉字转拼音(C#版)
汉字转拼音缩写(VB版)
lauer · 2011-02-24 · via 博客园 - lauer

VB代码:

'------------------------
'汉字转拼音缩写
'------------------------
Public Function GetPYSX(Str As String) As String
On Error GoTo PROC_ERROR
    Dim i As Long
    For i = 0 To Len(Str) - 1
        GetPYSX = GetPYSX & GetPYSXChar(Mid(Str, i + 1, 1))
    Next
   
PROC_ERROR:
    Exit Function
End Function
Public Function GetPYSXChar(char As String) As String
On Error GoTo PROC_ERROR
    Dim lChar As Long
    lChar = 65536 + Asc(char)
    If (lChar >= 45217 And lChar <= 45252) Then
        GetPYSXChar = "A"
    ElseIf (lChar >= 45253 And lChar <= 45760) Then
        GetPYSXChar = "B"
    ElseIf (lChar >= 45761 And lChar <= 46317) Then
        GetPYSXChar = "C"
    ElseIf (lChar >= 46318 And lChar <= 46825) Then
        GetPYSXChar = "D"
    ElseIf (lChar >= 46826 And lChar <= 47009) Then
        GetPYSXChar = "E"
    ElseIf (lChar >= 47010 And lChar <= 47296) Then
        GetPYSXChar = "F"
    ElseIf (lChar >= 47297 And lChar <= 47613) Then
        GetPYSXChar = "G"
    ElseIf (lChar >= 47614 And lChar <= 48118) Then
        GetPYSXChar = "H"
    ElseIf (lChar >= 48119 And lChar <= 49061) Then
        GetPYSXChar = "J"
    ElseIf (lChar >= 49062 And lChar <= 49323) Then
        GetPYSXChar = "K"
    ElseIf (lChar >= 49324 And lChar <= 49895) Then
        GetPYSXChar = "L"
    ElseIf (lChar >= 49896 And lChar <= 50370) Then
        GetPYSXChar = "M"
    ElseIf (lChar >= 50371 And lChar <= 50613) Then
        GetPYSXChar = "N"
    ElseIf (lChar >= 50614 And lChar <= 50621) Then
        GetPYSXChar = "O"
    ElseIf (lChar >= 50622 And lChar <= 50905) Then
        GetPYSXChar = "P"
    ElseIf (lChar >= 50906 And lChar <= 51386) Then
        GetPYSXChar = "Q"
    ElseIf (lChar >= 51387 And lChar <= 51445) Then
        GetPYSXChar = "R"
    ElseIf (lChar >= 51446 And lChar <= 52217) Then
        GetPYSXChar = "S"
    ElseIf (lChar >= 52218 And lChar <= 52697) Then
        GetPYSXChar = "T"
    ElseIf (lChar >= 52698 And lChar <= 52979) Then
        GetPYSXChar = "W"
    ElseIf (lChar >= 52980 And lChar <= 53640) Then
        GetPYSXChar = "X"
    ElseIf (lChar >= 53641 And lChar <= 54480) Then
        GetPYSXChar = "Y"
    ElseIf (lChar >= 54481 And lChar <= 62289) Then
        GetPYSXChar = "Z"
    End If

PROC_ERROR:
    Exit Function
End Function