近日做软件,想将商品名称自动形成拼音码和五笔码,但却没有此能力,请各位帮忙,谢谢。
我已有自动生成拼音码的代码,但没有五笔码的。望各位发送确实可以生成的代码。
可以发送到邮箱:[email protected]
或QQ:79938938谢谢

解决方案 »

  1.   

    弄一个五笔的字库就可以了,我就弄了一个Access库
      

  2.   

    只会拼音的,五笔没弄过
    '==================================================
    ' 函数: ReturnSM
    '
    ' 功能: 返回字符串中没个字符的拼音声母第一个字母
    '
    ' 注意: 该函数只能处理3755个常用汉字(B0 - D7)
    '       若超出函数的范围将返回常数 ERR_RESULT$
    '
    ' 入口: Str     待处理的字符串
    '
    Public Function ReturnSM$(ByVal Str$)
    '-------------------------------------------------
        Dim tmpStr$, tmpASCII&, ReStr$
        Dim i As Integer
        
        ReStr$ = ""
        ReturnSM$ = ""
        
        For i = 1 To Len(Str$)
        
        ' 取出字符串中的第一个字符
        tmpStr$ = Mid$(Str$, i, 1)
        
        ' 若tmpStr长度为 0 ,则函数无返回值
        If Len(tmpStr$) <= 0 Then Exit Function
        
        ' 返回字符映射表中的字符码
        tmpASCII& = VBA.Asc(tmpStr$)
        
        ' 处理tmpStr,并返回其声母,若超出处理范围,则返回错误
        Select Case tmpASCII&
            Case &HB0A1 To &HB0C4
                
                ReStr$ = "A"
                
            Case &HB0C5 To &HB0FE, &HB1A1 To &HB1FE, _
                 &HB2A1 To &HB2C0
                
                ReStr$ = "B"
                
            Case &HB2C1 To &HB2FE, &HB3A1 To &HB3FE, _
                 &HB4A1 To &HB4ED
                
                ReStr$ = "C"
            
            Case &HB4EE To &HB4FE, &HB5A1 To &HB5FE, _
                 &HB6A1 To &HB6E9
                
                ReStr$ = "D"
            
            Case &HB6EA To &HB6FE, &HB7A1
                
                ReStr$ = "E"
            
            Case &HB7A2 To &HB7FE, &HB8A1 To &HB8C0
                
                ReStr$ = "F"
            
            Case &HB8C1 To &HB8FE, &HB9A1 To &HB9FD
                
                ReStr$ = "G"
            
            Case &HB9FE, &HBAA1 To &HBAFE, &HBBA1 To &HBBF6
                
                ReStr$ = "H"
            
            Case &HBBF7 To &HBBFE, &HBCA1 To &HBCFE, _
                 &HBDA1 To &HBDFE, &HBEA1 To &HBEFE, _
                 &HBFA1 To &HBFA5
                
                ReStr$ = "J"
            
            Case &HBFA6 To &HBFFE, &HC0A1 To &HC0AB
                
                ReStr$ = "K"
            
            Case &HC0AC To &HC0FE, &HC1A1 To &HC1FE, _
                 &HC2A1 To &HC2E7
                
                ReStr$ = "L"
            
            Case &HC2E8 To &HC2FE, &HC3A1 To &HC3FE, _
                 &HC4A1 To &HC4C2
                
                ReStr$ = "M"
            
            Case &HC4C3 To &HC4FE, &HC5A1 To &HC5B5
                
                ReStr$ = "N"
            
            Case &HC5B6 To &HC5BD
                
                ReStr$ = "O"
            
            Case &HC5BE To &HC5FE, &HC6A1 To &HC6D9
                
                ReStr$ = "P"
            
            Case &HC6DA To &HC6FE, &HC7A1 To &HC7FE, _
                 &HC8A1 To &HC8BA
                
                ReStr$ = "Q"
            
            Case &HC8BB To &HC8F5
                
                ReStr$ = "R"
            
            Case &HC8F6 To &HC8FE, &HC9A1 To &HC9FE, _
                 &HCAA1 To &HCAFE, &HCBA1 To &HCBF9
                
                ReStr$ = "S"
            
            Case &HCBFA To &HCBFE, &HCCA1 To &HCCFE, _
                 &HCDA1 To &HCDD9
                
                ReStr$ = "T"
            
            Case &HCDDA To &HCDFE, &HCEA1 To &HCEF3
                
                ReStr$ = "W"
            
            Case &HCEF4 To &HCEFE, &HCFA1 To &HCFFE, _
                 &HD0A1 To &HD0FE, &HD1A1 To &HD1B8
                
                ReStr$ = "X"
            
            Case &HD1B9 To &HD1FE, &HD2A1 To &HD2FE, _
                 &HD3A1 To &HD3FE, &HD4A1 To &HD4D0
                
                ReStr$ = "Y"
            
            Case &HD4D1 To &HD4FE, &HD5A1 To &HD5FE, _
                 &HD6A1 To &HD6FE, &HD7A1 To &HD7F9
                
                ReStr$ = "Z"
            
            Case Else:  ReStr$ = tmpStr$
        End Select
        
        ReturnSM$ = ReturnSM$ & ReStr$
        
        Next
        
        Exit Function
    Err:
        ' 超出函数的处理范围
        ReStr$ = ERR_RESULT$
    '-------------------------------------------------
    End Function
      

  3.   

    还是数据库好
    建议直接找找以前的输入法
    都有代码库的
    呵呵,看看windows的Sys目录里面
      

  4.   

    信 誉 值:  96==楼主不厚道????呵呵,问题解决我会给分,难道问题没解决,我也需要为了CSDN的结贴限制而给分吗???我要的不是词组的五笔码,因为商品名称不一定都是词组。我要的是生成每个字的五笔码
      

  5.   

    五笔字型编码库
    http://www.ke32.com/Web/Teaching/WB/031002_1521.html
      

  6.   

    KiteGirl(小仙妹)写的这个东西
    (点“下载”下载ZIP文件。代码在vbs文件里,是VBScript写的)
    http://smallfairy.51.net/KiteGirl/PYGet.htm