⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pinyinfunction.pas

📁 unit pinyinfunction //汉字拼音相关的函数定义单元 Function GetHZPY(HZstr: String):String //将任意字符串中的汉字换
💻 PAS
字号:
unit pinyinfunction;

interface

  Function  GetHZPY(HZstr: String):String;     //将任意字符串中的汉字换成拼音首字母(大写)
  function  GetPYIndexChar(hzchar: string):char; //将一个汉字转化成拼音首字母(大写)

implementation



Function GetHZPY(HZstr: String):String;
Var
  lcPY,lcHZ:String;
  i:integer;
  Strchar:   array   of   Char;
begin
  lcHZ:='';
  SetLength(Strchar, Length(HZstr));
  Move(HZstr[1],   Strchar[0],   Length(HZstr));
  for i:=1 to length(HZstr) do
  begin
    if (lcHZ='') and (ord(Strchar[i-1])<128) then  //非汉字
    begin
      lcPy:=lcPy+Strchar[i-1];
      Continue;
    end
    else
    begin
      if lcHZ='' then
      begin
        lcHZ:=Strchar[i-1];     //汉字第一个字节的半个汉字
        Continue;
      end;
      begin
         lchz:= lchz+Strchar[i-1]; //两个单字节半个汉字合并成一个汉字
         lcPy:= lcPY+ GetPYIndexChar(lcHZ);
      end;
    end;
    lcHZ:='';
  end;
  Result:=lcPy;
end;



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;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -