找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 4086|回复: 0

[算法] 【原创】取某个或N个汉字的拼音简码

[复制链接]

1214

主题

352

回帖

11

精华

管理员

菜鸟

积分
93755

贡献奖关注奖人气王精英奖乐于助人勋章

发表于 2009-11-11 21:35:50 | 显示全部楼层 |阅读模式
<font face="Verdana">
<p><br/>**************************************<br/>**函数名:hzsx<br/>**功&nbsp; 能:取某个或N个汉字的拼音简码<br/>**整理人:吕志杰<br/>**日&nbsp; 期: 2008年4月9日<br/>**例&nbsp; 子:?hzsx("中华人民共和国")<br/>**************************************</p>
<p>FUNCTION hzsx(hz AS STRING)<br/>&nbsp;PRIVATE II , JJ , FF,SM<br/>&nbsp;II = 1<br/>&nbsp;SM = ''<br/>&nbsp;DO WHILE II &lt;= LEN(ALLTRIM(hz))<br/>&nbsp;&nbsp;IF&nbsp; .NOT. ASC(SUBSTR(hz,II,2)) &gt;= 122<br/>&nbsp;&nbsp;&nbsp;SM = SM + SUBSTR(hz,II,1)<br/>&nbsp;&nbsp;&nbsp;II = II + 1<br/>&nbsp;&nbsp;&nbsp;LOOP<br/>&nbsp;&nbsp;ENDIF<br/>&nbsp;&nbsp;JJ = SUBSTR(hz,II,2)<br/>&nbsp;&nbsp;DO CASE<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '啊' AND JJ &lt; '芭'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'a'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '芭' AND JJ &lt; '擦'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'b'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '擦' AND JJ &lt; '搭'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'c'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '搭' AND JJ &lt; '蛾'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'd'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '蛾' AND JJ &lt; '发'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'e'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '发' AND JJ &lt; '噶'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'f'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '噶' AND JJ &lt; '哈'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'g'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '哈' AND JJ &lt; '击'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'h'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '击' AND JJ &lt; '喀'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'j'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '喀' AND JJ &lt; '拉'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'k'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '拉' AND JJ &lt; '妈'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'l'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '妈' AND JJ &lt; '拿'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'm'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '拿' AND JJ &lt; '哦'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'n'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '哦' AND JJ &lt; '啪'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'o'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '啪' AND JJ &lt; '期'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'p'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '期' AND JJ &lt; '然'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'q'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '然' AND JJ &lt; '撒'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'r'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt; '撒' AND JJ &lt; '塌'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 's'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '塌' AND JJ &lt; '挖'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 't'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '挖' AND JJ &lt; '昔'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'w'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '昔' AND JJ &lt; '压'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'x'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '压' AND JJ &lt; '匝'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'y'<br/>&nbsp;&nbsp;&nbsp;CASE JJ &gt;= '匝'<br/>&nbsp;&nbsp;&nbsp;&nbsp;SM = SM + 'z'<br/>&nbsp;&nbsp;ENDCASE<br/>&nbsp;&nbsp;II = II + 2<br/>&nbsp;ENDDO<br/>&nbsp;RETURN (SM)<br/>ENDFUNC</font></p>
【VB】QQ群:1422505加的请打上VB好友
【易语言】QQ群:9531809  或 177048
【FOXPRO】QQ群:6580324  或 33659603
【C/C++/VC】QQ群:3777552
【NiceBasic】QQ群:3703755
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表