以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  这个getpy的结果有点意外  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=138282)

--  作者:rjh4078
--  发布时间:2019/7/27 11:43:00
--  这个getpy的结果有点意外

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190727114204.png
图片点击可在新窗口打开查看
返回的结果为什么是B?

--  作者:rjh4078
--  发布时间:2019/7/27 11:46:00
--  
试验了一下0412的版本结果是正确的 
--  作者:rjh4078
--  发布时间:2019/7/27 11:50:00
--  
有没有应急的办法 项目回不去了
--  作者:有点蓝
--  发布时间:2019/7/27 11:51:00
--  
多音字的原因,这个没有办法解决,可能.net4.0的算法不一样了,试试另外一个:http://www.foxtable.com/webhelp/topics/1270.htm
--  作者:rjh4078
--  发布时间:2019/7/27 12:24:00
--  
结果是一样的  这就郁闷了 有很多根据拼音生成的动态控件  现在都不对了



--  作者:rjh4078
--  发布时间:2019/7/27 12:53:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190727125122.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190727125235.png
图片点击可在新窗口打开查看

单独一个汉字也是这个结果  而且这个字多音差距也太远了吧

--  作者:有点蓝
--  发布时间:2019/7/27 16:12:00
--  
内置拼音用法有问题,多音字默认是按照拼音排序取值,不是按照常用字频率取值的。临时解决,下载dll放到Foxtable按照目录,然后添加引用,全局代码:

Public Function GetPinYin2(text As String, mode As Short) As String
Dim fnt As New Pinyin4net.Format.HanyuPinyinOutputFormat
fnt.ToneType = Pinyin4net.Format.HanyuPinyinToneType.WITHOUT_TONE
fnt.VCharType = Pinyin4net.Format.HanyuPinyinVCharType.WITH_U_UNICODE
Dim sb As New StringBuilder
For Each c As Char In text
    If mode = 0 Then
        sb.Append(" " & Pinyin4net.PinyinHelper.ToHanyuPinyinStringArray(c, fnt)(0))
    Else
        sb.Append(Pinyin4net.PinyinHelper.ToHanyuPinyinStringArray(c, fnt)(0)(0))
    End If
Next
Return sb.ToString().Trim
End Function

调用

Dim str As String = "采购入库单"

MsgBox(GetPinYin2(str, 0))

MsgBox(GetPinYin2(str, 1))
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:pinyin4net.zip


[此贴子已经被作者于2019/7/27 16:12:36编辑过]

--  作者:rjh4078
--  发布时间:2019/7/27 16:51:00
--  
感谢老师辛苦付出 我马上试试
--  作者:rjh4078
--  发布时间:2019/7/27 20:04:00
--  
这个方法有个问题 如果字符里有汉字数字字母混合就会报错
比如 项目组A
机台B

--  作者:rjh4078
--  发布时间:2019/7/28 8:56:00
--  
现在只能先去旧版里生成一个表 在新版里过渡一下 期待修复