delphi获得汉字拼音
delphi取得汉字拼音
delphi取得汉字拼音
function GetPinYin(const w: AnsiString): WideString; var i: Integer; begin case WORD(w[1]) shl 8 + WORD(w[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'; else result:=w; end; end; function HanZiToPinyin(const S: widestring): widestring; var i: integer; begin result:=''; for i := 1 to Length(S) do result := result + GetPinYin(S[i]); end;