以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  拼音简码出错  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=105818)

--  作者:yancheng
--  发布时间:2017/8/26 19:26:00
--  拼音简码出错
If e.DataCol.name="品牌" And e.DataRow.IsNull("品牌") = False Then
   e.DataRow("品牌拼音简码")=GetPinYin(e.newValue,1)
End If

为什么:品牌为:强力,拼音为:jl

其它的拼音,还没发现错误的。

--  作者:有点甜
--  发布时间:2017/8/27 11:20:00
--  

全局代码写代码

 

Public Function GetPinYin(s As String, i As Integer) As String
    Return foxtable.GetPinYin(s.replace("强", "墙"), i)
End Function


--  作者:有点甜
--  发布时间:2017/8/27 11:21:00
--  
或者,可以做一个多音字表,把字符记录起来,对应读音。

 

先去表那里查找是否有数据,如果有,则取值,如果没有,就用getpinyin函数。

 

或者,看看这个例子 https://my.oschina.net/u/1270374/blog/163990


--  作者:yancheng
--  发布时间:2017/8/29 19:38:00
--  

全局代码写代码

 

Public Function GetPinYin(s As String, i As Integer) As String
    Return foxtable.GetPinYin(s.replace("强", "墙"),
i)      ------------不是不,后面应该是:1  ? (s.replace("强", "墙"), 1)
End Function


--  作者:yancheng
--  发布时间:2017/8/29 19:44:00
--  
呵呵。还不会全局用法。
--  作者:有点蓝
--  发布时间:2017/8/29 20:54:00
--  
嗯,笔误,是1.

建议还是使用多音字表