获得汉字的拼音简码

(转:http://develop.csai.cn/delphi/200803041629531413.htm)

    本实例是通过汉字的前8个字节向左移动8位后再加上汉字的后8个字节所获得的值,在定义的汉字拼音表中进行查找,以获得汉字的拼音简码。

function TForm1.py(x: string): char;
    begin
     case word(x[1]) shl 8+word(x[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 TForm1.Button1Click(Sender: TObject);
    var
     i:Integer;
     hp:String;
    begin
     Edit2.Text:='';
     for i:=1 to (length(Edit1.Text) div 2) do
     begin
       hp:=Copy(Edit1.Text,i*2-1,2);
       Edit2.Text:=Edit2.Text+py(hp);
     end;
    end;

posted on 2009-03-03 11:04  todd.chun  阅读(251)  评论(0)    收藏  举报