程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 將漢字翻譯成拼音縮寫的函數

將漢字翻譯成拼音縮寫的函數

編輯:Delphi

function GetPyChar(const HZ: AnsiString): string; 
const 
 HZCode: array[0..25, 0..1] of Integer = ((1601, 1636), (1637, 1832), (1833, 2077), 
  (2078, 2273), (2274, 2301), (2302, 2432), (2433, 2593), (2594, 2786), (9999, 0000), 
  (2787, 3105), (3106, 3211), (3212, 3471), (3472, 3634), (3635, 3722), (3723, 3729), 
  (3730, 3857), (3858, 4026), (4027, 4085), (4086, 4389), (4390, 4557), (9999, 0000), 
  (9999, 0000), (4558, 4683), (4684, 4924), (4925, 5248), (5249, 5589)); 
var 
 i,j,HzOrd: Integer; 
begin 
 i := 1; 
 while i <= Length(HZ) do 
  begin 
  if (HZ[i] >= #160) and (HZ[i + 1] >= #160) then 
  begin 
   HzOrd := (Ord(HZ[i]) - 160) * 100 + Ord(HZ[i + 1]) - 160; 
   for j := 0 to 25 do 
   begin 
    if (HzOrd >= HZCode[j][0]) and (HzOrd <= HZCode[j][1]) then 
    begin 
     Result := Result + Char(Byte('A') + j); 
     Break; 
    end; 
   end; 
   Inc(i); 
  end else Result := Result + HZ[i]; 
   Inc(i); 
 end; 
end; 
 
//測試: 
procedure TForm1.Button1Click(Sender: TObject); 
begin 
 ShowMessage(GetPyChar('萬一的 Delphi 博客')); //結果:WYD Delphi BK 
end; 
 
 
//只單獨漢字: 
function GetPyFitstChar(HZ: AnsiString): Char; 
begin 
 case LoWord(HZ[1]) shl 8 + LoWord(HZ[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); 
begin 
 ShowMessage(GetPyFitstChar('萬一的 Delphi 博客')); //結果:W 
end; 


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved