Delphi獲取漢字的拼音函式
阿新 • • 發佈:2019-02-01
function tform1.Getpy(hz: string): string; //取漢字的拼音 var i: integer; py: string; s: string; begin i := 1; s := ''; while i <= length(hz) do begin py := copy(hz, i, 1); if py >= chr(128) then begin inc(i); py := py + copy(hz, i, 1); s := s + GetPYIndexChar(py); end else s := s + py; inc(i) end; result := s; end; function tform1.GetPYIndexChar(hzchar: string): char; begin case WORD(hzchar[1]) shl 8 + WORD(hzchar[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 := char(32); end; end;