| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3206 人关注过本帖, 2 人收藏
标题:继续请大家帮助:如何提取姓名字段中第一个字的拼音?
只看楼主 加入收藏
apple0072011
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:249
专家分:989
注 册:2011-8-17
收藏
得分:4 
众里寻它千百度,暮然回首却在VFP论坛处,多谢TonyDeng版主共享

天道酬勤
2012-03-29 09:10
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:0 
由TONYDENG版主提供的PY.TXT生成的全拼字库(含多音字)PY.DBF
py.rar (49.65 KB)
2012-03-29 11:28
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
这个是从Windows XP的拼音码表导出的全拼编码,是GBK的,其实包含了词组的全拼码,我把它们过滤掉了,只留下单字。这个码表还有一栏拼音,似乎是对应GB2312的,还没验证。

授人以渔,不授人以鱼。
2012-03-29 14:47
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:4 
不知楼主解决了没有
2012-03-29 16:10
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:0 
程序代码:
CLOSE TABLES
SET SAFETY OFF
USE PY ALIAS PY
CREATE CURSOR TABNAME (XM C(6),QP C(10),JP C(1))
SELECT TABNAME
INSERT INTO TABNAME VALUES ("张一","","")
INSERT INTO TABNAME VALUES ("王一","","")
INSERT INTO TABNAME VALUES ("李一","","")
INSERT INTO TABNAME VALUES ("杨一","","")
SCAN
     REPLACE QP WITH PY(LEFTC(XM,1),2) IN TABNAME
     REPLACE JP WITH PY(LEFTC(XM,1),1) IN TABNAME
ENDSCAN
BROWSE
SET SAFETY ON
*----取拼音函数
FUNCTION PY
PARAMETERS C,N
*---- 如果N=1 转换为简拼,N=2 转换为全拼  C:要转换的汉字
LOCAL CPY,ZF
STORE "" TO CPY,ZF
FOR I=1 TO LEN(ALLTRIM(C))
    IF ASC(SUBSTR(ALLTRIM(C),I,1))>128
       ZF=SUBSTR(ALLTRIM(C),I,2)
       SELECT PY
       LOCATE FOR HZ==ZF
       IF FOUND()
          CPY=CPY+IIF(N=1,UPPER(ALLTRIM(LEFT(PY,1))),PROPER(ALLTRIM(PY)))
       ELSE
          CPY=CPY+ZF
       ENDIF
       I=I+1
    ELSE
       CPY=CPY+SUBSTR(ALLTRIM(C),I,1)
    ENDIF
ENDFOR
RETURN CPY
2012-03-29 18:47
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
呵呵,我把原始的码表传上来,有兴趣的自己研究吧:

WINPY.zip (325.69 KB)

授人以渔,不授人以鱼。
2012-03-29 19:42
gwyccgs
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-4-27
收藏
得分:0 
有多少记录, 为什么要这样处理呢?
2012-04-27 14:29
gyp0117
Rank: 1
等 级:新手上路
帖 子:44
专家分:8
注 册:2012-3-9
收藏
得分:0 
2013-08-09 15:57
abc1
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-12-4
收藏
得分:0 
试了bccn201203老师提供的函数,大部分汉字没有问题,好像“马”不能正常转换,转换的是“L”而不是
“M”
2016-09-27 01:27
hyswcyh
Rank: 8Rank: 8
等 级:贵宾
威 望:20
帖 子:391
专家分:896
注 册:2004-11-23
收藏
得分:0 
用的着。谢谢各位!
2016-09-27 21:57
快速回复:继续请大家帮助:如何提取姓名字段中第一个字的拼音?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.057305 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved