本站首页    管理页面    写新日志    退出


«February 2026»
1234567
891011121314
15161718192021
22232425262728


公告
暂无公告...

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:DeathCat的猫窝
日志总数:17
评论数量:89
留言数量:0
访问次数:219354
建立时间:2005年4月5日




[Delphi食堂]懒人函数 之 “取汉字拼音”
软件技术

DeathCat 发表于 2005/4/6 10:48:24

其实很简单~~~调用的时候只要把字符串传进去就可以了,然后出来就是汉字拼音的字符串了。。。。需要用的时候比较爽哦~~不过有些奇形怪状的字就认不出来了。 如果你要有奇形怪状的汉字拿来到这个函数里面用,别怪我要打人哦~~~ function GetHzPy(const AHzStr: string): string;const ChinaCode: array[0..25, 0..1] of Integer = ((1601, 1636), (1637, 1832), (1833, 2077),   (2078, 2273), (2274, 2301), (2302, 2432), (2433, 2593), (2594, 2786), (9999, 0000),   (2787, 3105), (3106, 3211), (3212, 3471), (3472, 3634), (3635, 3722), (3723, 3729),   (3730, 3857), (3858, 4026), (4027, 4085), (4086, 4389), (4390, 4557), (9999, 0000),   (9999, 0000), (4558, 4683), (4684, 4924), (4925, 5248), (5249, 5589));var i, j, HzOrd: integer;begin i := 1; while i <= Length(AHzStr) do begin   if (AHzStr[i] >= #160) and (AHzStr[i + 1] >= #160) then   begin     HzOrd := (Ord(AHzStr[i]) - 160) * 100 + Ord(AHzStr[i + 1]) - 160;     for j := 0 to 25 do     begin       if (HzOrd >= ChinaCode[j][0]) and (HzOrd <= ChinaCode[j][1]) then       begin         Result := Result + char(byte('A') + j);         break;       end;     end;     Inc(i);   end else Result := Result + AHzStr[i];   Inc(i); end;end;


阅读全文(3450) | 回复(3) | 编辑 | 精华
 


回复:懒人函数 之 “取汉字拼音”
软件技术

chjpeng发表评论于2005/4/10 14:55:30

做过一个asp的函数。。。给果: 重庆 = "zhongqing"  ***处理不了多音字 深圳 ="shen"  ***圳都不能转出来   晕乎乎,不能用啊~~~~


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:懒人函数 之 “取汉字拼音”
软件技术

DeathCat发表评论于2005/4/10 10:12:03

双音不能处理,只能处理单音

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:懒人函数 之 “取汉字拼音”
软件技术

琦驼发表评论于2005/4/8 13:07:55

能处理双音么?

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.504 second(s), page refreshed 144811384 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号