首页 > 代码库 > delphi汉字转拼音

delphi汉字转拼音

delphi汉字转拼音 2009-09-21 10:44:59| 分类: 计算机知识 |举报 |字号 订阅unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;function GetPYIndexChar( hzchar:string):char;var Form1: TForm1;implementation{$R *.dfm}function 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(0); end;end;procedure TForm1.Button1Click(Sender: TObject);beginedit2.Text:=GetPYIndexChar(edit1.Text);end;end. 1:取歌名/歌星名中汉字字符串var HanZi : widestring;...HanZi := trim(edit_sName.Text);//歌名或歌星名 FOR i := 1 TO length(HanZi) DO BEGIN IF ord(HanZi[i]) > 127 THEN Edit_PinYin.Text := Edit_PinYin.Text + HanZi[i]; //取歌名或歌星名中汉字字符串,显示在 Edit_PinYin中 END;2:取汉字字符串拼音首字母var PYstr, hzchar : STRING; hzstr : ARRAY[0..50] OF char; i : integer; HanZi : widestring; charTmp : char;... strcopy(hzstr, Pchar(trim(Edit_PinYin.Text))); FOR i := 0 TO length(widestring(trim(Edit_PinYin.Text))) - 1 DO BEGIN hzchar := hzstr[2 * i] + hzstr[2 * i + 1]; charTmp := GetPYIndexChar(hzchar); IF charTmp <> char(0) THEN PYstr := PYstr + charTmp; END; Edit_PinYin.Text := PYstr;//将最终的拼音首字母显示在Edit_PinYin中.......