求助:“汉字转化拼音” 中的一个问题
*----以下代码存入一个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