/////以前用过的一段截取汉字拼音首字母的代码。请参考下。
unit myunit;
interface
uses
dialogs,sysutils;
function GetPyIndexChar(Hzchar:string):String; /////获取汉字首拼音字母
function RePYStr(HzStr:string):string;/////返回整串汉字首字母串
implementation
function GetPyIndexChar(Hzchar:string):String;
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..$D1B8 : Result :='X';
$D1B9..$D4D0 : Result :='Y';
$D4D1..$D7F9 : Result :='Z';
else
Result := char(0);
end;
end;
function RePYStr(HzStr:string):string;/////返回整串汉字首字母串
var i : Integer;
tem : string;
tt : char;
begin /////客户编码
HzStr := Trim(HzStr);
i := 1;
tem := '';
while i <= length(HzStr) do
begin
tt := HzStr;
if ord(tt) > 127 then
begin
tem := tem + GetPyIndexChar(copy(HzStr,i,2));
//ShowMessage(tem);
i := i + 2;
end
else
begin
tem := tem + copy(HzStr,i,1);
//ShowMessage(tem);
i := i + 1;
end;
end;
Result := UpperCase(tem);
end;
end.