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

推荐订阅源

小众软件
小众软件
C
Check Point Blog
Vercel News
Vercel News
Y
Y Combinator Blog
G
Google Developers Blog
P
Proofpoint News Feed
WordPress大学
WordPress大学
MongoDB | Blog
MongoDB | Blog
博客园 - 司徒正美
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
L
LangChain Blog
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
博客园_首页
B
Blog RSS Feed
The Cloudflare Blog
MyScale Blog
MyScale Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Security Blog
Microsoft Security Blog

博客园 - 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