MainFrm.pas
上传用户:nvosite88
上传日期:2020-10-14
资源大小:3k
文件大小:2k
- unit MainFrm;
- interface
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- StdCtrls;
- type
- TMainForm = class(TForm)
- ChineseEdt: TEdit;
- PYEdt: TEdit;
- btnConvert: TButton;
- Label1: TLabel;
- Label2: TLabel;
- Label3: TLabel;
- Label4: TLabel;
- Label5: TLabel;
- Label6: TLabel;
- procedure btnConvertClick(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
- var
- MainForm: TMainForm;
- implementation
- {$R *.DFM}
- // 获取指定汉字的拼音索引字母,如:“汉”的索引字母是“H”
- 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(32);
- end;
- end;
- procedure TMainForm.btnConvertClick(Sender: TObject);
- var
- I: Integer;
- PY: string;
- s: string;
- begin
- s := '' ;
- I := 1;
- while I <= Length(ChineseEdt.Text) do
- begin
- PY := Copy(ChineseEdt.Text, I , 1);
- if PY >= Chr(128) then
- begin
- Inc(I);
- PY := PY + Copy(ChineseEdt.Text, I , 1);
- s := s + GetPYIndexChar(PY);
- end
- else
- s := s + PY;
- Inc(I);
- end;
- PYEdt.Text := s;
- end;
- end.