读书人

“汉字转化拼音” 中的一个有关问题

发布时间: 2013-02-27 10:48:11 作者: rapoo

求助:“汉字转化拼音” 中的一个问题
*----以下代码存入一个GetPY.prg中,即建立自定义函数----*

PARAMETERS cChina
LOCAL pcPychr,i,j,c,Hz
Release pcPychr
Public pcPychr
pcPychr= ' '
Set Collate To 'Pinyin '
Pycode= '八嚓发旮铪讥讥咔垃拿讴趴七仨他哇哇哇夕丫匝 ' &&从B开始的每个拼音码的首字码
For i=1 To Len(cChina)
IF Asc(Substr(cChina,i,1))> 160
hz=Substr(cChina,i,2)
c= ' '
s=1
For j=1 To 52
s1=Substr(Pycode,j,2)
IF hz <Substr(Pycode,j,2)
c=Chr(96+S)
Exit
Endif
j=j+1
s=s+1
Endfor
pcPychr=pcPychr+Upper(c)
i=i+1
Else
pcPychr=pcPychr+Upper(Substr(cChina,i,1))
Endif
Endfor
Return pcPychr
**End**



运行此函数发现凡是‘M’声母开头的汉字 转换后为‘L’开头
例如:?GetPY('头孢美唑钠') 显示为 TBLZN
那位高手能帮小弟解决一下啊
不胜感激啊
------解决方案--------------------


用这个试试:'阿巴擦搭娥发噶哈击喀垃妈拿哦啪期然撒塌挖西压匝'
[解决办法]
函数本身是没有问题,不过适用范围较小

?GetPY('头孢美唑钠')
得到
TBMZN
[解决办法]
本帖最后由 apple_8180 于 2012-11-01 14:54:58 编辑 看来常用字还可以,生僻字就有问题了。
改为用 myFll.fll 中的 toPY() 函数吧。
不管用什么,多音字都会有问题
<木瓜的MyFll.fll(1.182.10.526)及说明>
http://download.csdn.net/source/2505656

读书人网 >VFP

热点推荐