获得中文每个字的拼音首字母

function get_py(st : string):string;
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 :
= 'V';
end;
end;
var
s,s1,s2,zf:
string;
i,j,k : integer;
begin
zf:
=''; k:=0;
while length(st)>0 do
begin
k:
=k+1;
while (length(st)>0) and (st[1]<#160) do delete(st,1,1);
if length(st)>1 then
begin
s1:
=copy(st,1,2);
delete(st,1,2);
end;
if length(s1)>1 then zf:=zf+GetPYIndexChar(s1);
if length(zf)>6 then break;
s1:
='' ;
if k>100 then
begin
zf:
='XXX';
break;
end;
end;
result:
=zf;
end;

  

posted @ 2011-08-29 09:36  许明吉博客  阅读(590)  评论(0编辑  收藏  举报