网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
获取一个汉字的拼音首字
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式

unit PY;

interface
uses sysutils;

// 获取汉字的拼音首字符,这个函数将用在GetPYIndexStr 中.
function GetPYIndexChar(strChinese: string; bUpCase: Boolean = True): char;

// 获取多个汉字的拼音首字符组成的字符串.
function GetPYIndexStr(strChinese: string; bUpCase: Boolean = True): string;

implementation

////////////////////////////////////////////////////////////////////////////
// 函数: GetPYIndexChar(strChinese: string;bUpCase: Boolean = True): char;
//
// 函数功能:获取汉字的拼音首字符.
// 例: GetPYIndexChar(''程'') 将返回''C''.
//
// 注意:对于多于一个汉字的输入(string类型)只有第一个有效,但不会产生错误
// 例如,GetPYIndexChar(''程序'')也将返回''C''.
//
// 第二个参数决定返回大写还是小写 , 缺省为大写 .
////////////////////////////////////////////////////////////////////////////
function GetPYIndexChar(strChinese: string;bUpCase: Boolean = True): char;
begin
// 根据汉字表中拼音首字符分别为“A”至“Z”的汉字内码范围,
// 要检索的汉字只需要检查它的内码位于哪一个首字符的范围内,
// 就可以判断出它的拼音首字符。
  case WORD(strChinese) shl 8 + WORD(strChinese) of
    $B0A1..$B0C4 : result := ''A'';
    $B0C5..$B2C0 : result := ''B'';
    $B2C1..$B4ED : result := ''C'';
    $B4EE..$B6E9 : result := ''D'';
    $B6EA..$B7A1 : result := ''E'';
    $B7A2..$B8C0 : result := ''F'';
    $B8C1..$B9FD : result := ''G'';
    $B9FE..$BBF6 : result := ''H'';
    $BBF7..$BFA5 : result := ''J'';
    $BFA6..$C0AB : result := ''K'';
    $C0AC..$C2E7 : result := ''L'';
    $C2E8..$C4C2 : result := ''M'';
    $C4C3..$C5B5 : result := ''N'';
    $C5B6..$C5BD : result := ''O'';
    $C5BE..$C6D9 : result := ''P'';
    $C6DA..$C8BA : result := ''Q'';
    $C8BB..$C8F5 : result := ''R'';
    $C8F6..$CBF9 : result := ''S'';
    $CBFA..$CDD9 : result := ''T'';
    $CDDA..$CEF3 : result := ''W'';
    $CEF4..$D188 : result := ''X'';
    $D1B9..$D4D0 : result := ''Y'';
    $D4D1..$D7F9 : result := ''Z'';
    else
               result := char(0);
  end;
  if not bUpCase then
  begin // 转换为小写
    result := Chr(Ord(result)+32);
  end;
end;

////////////////////////////////////////////////////////////////////////////
// 函数: GetPYIndexStr(strChinese: string;bUpCase: Boolean = True): string;
//
// 函数功能:获取多个汉字的拼音首字符组成的字符串.
// 例: GetPYIndexStr(''程'') 将返回''C''.
//     GetPYIndexStr(''程序'')将返回''CX
  • 下一篇资讯: Delphi使用技巧ABC
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号