首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

求Delphi算拼音码的源码有木有。解决方法

2013-07-01 
求Delphi算拼音码的源码有木有。。百度倒是一把,但都不能用。。小弟现在用的是XE3[解决办法]function GetPinYi

求Delphi算拼音码的源码有木有。。
百度倒是一把,但都不能用。。小弟现在用的是XE3
[解决办法]
function GetPinYinCode(const Hanzi: AnsiString): AnsiChar; //获得常用字首拼码
var
  i: Integer;
begin
  case WORD(Hanzi[1]) shl 8 + WORD(Hanzi[2]) 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';
  end;
end;
  
function ChinawordToPinyin(const S: string): string;
var
  i: integer;
  vStr:String;
begin
  result:='';
  for I := 1 to Length(S) do
  begin
    vStr := Copy(S, i, 1);
    if Trim(GetPinYinCode(vStr)) = '' then
      result := result + vStr
    else
      result := result + GetPinYinCode(vStr);
  end;
end;

热点排行