以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  ★原getpy函数太弱智....请高手写个自定义getpy函数  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=1969)

--  作者:菜鸟foxtable
--  发布时间:2009/2/28 10:11:00
--  ★原getpy函数太弱智....请高手写个自定义getpy函数
类似getpy函数功能...自动从该表获取拼音首字母.....(原getpy函数实在是太弱智了...许多字都不认识...)


图片点击可在新窗口打开查看此主题相关图片如下:001.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:拼音.table

[此贴子已经被作者于2009-2-28 10:47:54编辑过]

--  作者:czy
--  发布时间:2009/2/28 11:04:00
--  
看来getpy是近亲结婚,天生弱智。
--  作者:ybil
--  发布时间:2009/2/28 13:23:00
--  

暂用数据库吧:

Dim n as integer
Dim T,T1 as string
Dim dr,dr1 As DataRow

dr = e.DataRow
if e.DataCol.Name = "名称" then
    if dr("名称") Is  Nothing then
        dr("拼音") = Nothing
    else
        for n  = 0 to dr("名称").Length-1
            T1 = dr("名称").substring(n,1)          
            dr1 = DataTables("拼音").Find("[字] = \'" & T1 & "\'")
            if dr1 Isnot Nothing then
                T = T & dr1("音")
            else
                T = T & T1
            End if
        Next
        dr("拼音") = T.ToUpper
    End If
End if

[此贴子已经被作者于2009-2-28 13:46:36编辑过]

--  作者:菜鸟foxtable
--  发布时间:2009/3/1 9:09:00
--  
图片点击可在新窗口打开查看多谢Y版,暂时解决了问题.
--  作者:fangling
--  发布时间:2009/3/1 13:42:00
--  
我在网上找了一个,支持大字符集,在VB.net下通过。不知在foxtable下能不能用:

Public Function GetPY(ByVal strWords As String) As String

        \'返回汉字的拼音首字母大写字符串,支持 GBK 大字符集

        Dim sReturn, sOneTxt As String
        Dim i As Integer
        For i = 0 To strWords.Length - 1
            sOneTxt = strWords.Substring(i, 1)
            sReturn = sReturn + GetGbkX(sOneTxt)
        Next

        Return sReturn

    End Function

    Private Function GetGbkX(ByVal str As String) As String

        If str.CompareTo("吖") < 0 Then
            Return str
        End If
        If str.CompareTo("八") < 0 Then
            Return "A"
        End If
        If str.CompareTo("嚓") < 0 Then
            Return "B"
        End If
        If str.CompareTo("咑") < 0 Then
            Return "C"
        End If
        If str.CompareTo("妸") < 0 Then
            Return "D"
        End If
        If str.CompareTo("发") < 0 Then
            Return "E"
        End If
        If str.CompareTo("旮") < 0 Then
            Return "F"
        End If
        If str.CompareTo("铪") < 0 Then
            Return "G"
        End If
        If str.CompareTo("讥") < 0 Then
            Return "H"
        End If
        If str.CompareTo("咔") < 0 Then
            Return "J"
        End If
        If str.CompareTo("垃") < 0 Then
            Return "K"
        End If
        If str.CompareTo("嘸") < 0 Then
            Return "L"
        End If
        If str.CompareTo("拏") < 0 Then
            Return "M"
        End If
        If str.CompareTo("噢") < 0 Then
            Return "N"
        End If
        If str.CompareTo("妑") < 0 Then
            Return "O"
        End If
        If str.CompareTo("七") < 0 Then
            Return "P"
        End If
        If str.CompareTo("亽") < 0 Then
            Return "Q"
        End If
        If str.CompareTo("仨") < 0 Then
            Return "R"
        End If
        If str.CompareTo("他") < 0 Then
            Return "S"
        End If
        If str.CompareTo("哇") < 0 Then
            Return "T"
        End If
        If str.CompareTo("夕") < 0 Then
            Return "W"
        End If
        If str.CompareTo("丫") < 0 Then
            Return "X"
        End If
        If str.CompareTo("帀") < 0 Then
            Return "Y"
        End If
        If str.CompareTo("咗") < 0 Then
            Return "Z"
        End If

        Return str

    End Function


--  作者:狐狸爸爸
--  发布时间:2009/3/2 0:04:00
--  
呵呵,多谢方兄了。
--  作者:听雪落的声音
--  发布时间:2009/6/10 14:46:00
--  
5楼的到底是什么意思呢? 狐爸根据5楼给弄个例子呗!
--  作者:hlxz
--  发布时间:2009/6/10 15:59:00
--  

原来 楼主说的拼音弱智  有3064个字不对

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:拼音.rar