取得汉字的拼音首字母
来源:互联网 发布:网络电影发行平台 编辑:程序博客网 时间:2024/04/26 06:24
function GetChineseAsc(const crStr:String;crLength:Integer):String;
var i,HighPosition,LowPosition:Integer;
AscValue,AscStr:String;
begin
Result:='';
i:=2; //1个汉字占用两个字节
while i<=Length(crStr) do
begin
if Length(Trim(Result))=crLength then Break; //如果超过一定长度,则退出
HighPosition:=Ord(crStr[i-1])-160;
LowPosition:=Ord(crStr[i])-160;
if (HighPosition<16) or (HighPosition>55) or (LowPosition<=0) or (LowPosition>94) then
begin
//if HighPosition>
if crStr[i-1] in ['a'..'z','A'..'Z'] then
Result:=Result+UpperCase(crStr[i-1]);
i:=i+1;
Continue;
end;
AscValue:=FormatFloat('00',HighPosition)+FormatFloat('00',LowPosition);
AscStr:='';
if (AscValue>='1601') and (AscValue<='1636') then
AscStr:='A';
if (AscValue>='1637') and (AscValue<='1832') then
AscStr:='B';
if (AscValue>='1833') and (AscValue<='2077') then
AscStr:='C';
if (AscValue>='2078') and (AscValue<='2273') then
AscStr:='D';
if (AscValue>='2274') and (AscValue<='2301') then
AscStr:='E';
if (AscValue>='2302') and (AscValue<='2432') then
AscStr:='F';
if (AscValue>='2433') and (AscValue<='2593') then
AscStr:='G';
if (AscValue>='2594') and (AscValue<='2786') then
AscStr:='H';
if (AscValue>='2787') and (AscValue<='3105') then
AscStr:='J';
if (AscValue>='3106') and (AscValue<='3211') then
AscStr:='K';
if (AscValue>='3212') and (AscValue<='3471') then
AscStr:='L';
if (AscValue>='3472') and (AscValue<='3634') then
AscStr:='M';
if (AscValue>='3635') and (AscValue<='3721') then
AscStr:='N';
if (AscValue>='3722') and (AscValue<='3729') then
AscStr:='O';
if (AscValue>='3730') and (AscValue<='3857') then
AscStr:='P';
if (AscValue>='3858') and (AscValue<='4026') then
AscStr:='Q';
if (AscValue>='4027') and (AscValue<='4085') then
AscStr:='R';
if (AscValue>='4086') and (AscValue<='4389') then
AscStr:='S';
if (AscValue>='4390') and (AscValue<='4557') then
AscStr:='T';
if (AscValue>='4558') and (AscValue<='4683') then
AscStr:='W';
if (AscValue>='4684') and (AscValue<='4924') then
AscStr:='X';
if (AscValue>='4925') and (AscValue<='5248') then
AscStr:='Y';
if (AscValue>='5249') and (AscValue<='5589') then
AscStr:='Z';
Result:=Result+AscStr;
I:=I+2
end;
end;
var i,HighPosition,LowPosition:Integer;
AscValue,AscStr:String;
begin
Result:='';
i:=2; //1个汉字占用两个字节
while i<=Length(crStr) do
begin
if Length(Trim(Result))=crLength then Break; //如果超过一定长度,则退出
HighPosition:=Ord(crStr[i-1])-160;
LowPosition:=Ord(crStr[i])-160;
if (HighPosition<16) or (HighPosition>55) or (LowPosition<=0) or (LowPosition>94) then
begin
//if HighPosition>
if crStr[i-1] in ['a'..'z','A'..'Z'] then
Result:=Result+UpperCase(crStr[i-1]);
i:=i+1;
Continue;
end;
AscValue:=FormatFloat('00',HighPosition)+FormatFloat('00',LowPosition);
AscStr:='';
if (AscValue>='1601') and (AscValue<='1636') then
AscStr:='A';
if (AscValue>='1637') and (AscValue<='1832') then
AscStr:='B';
if (AscValue>='1833') and (AscValue<='2077') then
AscStr:='C';
if (AscValue>='2078') and (AscValue<='2273') then
AscStr:='D';
if (AscValue>='2274') and (AscValue<='2301') then
AscStr:='E';
if (AscValue>='2302') and (AscValue<='2432') then
AscStr:='F';
if (AscValue>='2433') and (AscValue<='2593') then
AscStr:='G';
if (AscValue>='2594') and (AscValue<='2786') then
AscStr:='H';
if (AscValue>='2787') and (AscValue<='3105') then
AscStr:='J';
if (AscValue>='3106') and (AscValue<='3211') then
AscStr:='K';
if (AscValue>='3212') and (AscValue<='3471') then
AscStr:='L';
if (AscValue>='3472') and (AscValue<='3634') then
AscStr:='M';
if (AscValue>='3635') and (AscValue<='3721') then
AscStr:='N';
if (AscValue>='3722') and (AscValue<='3729') then
AscStr:='O';
if (AscValue>='3730') and (AscValue<='3857') then
AscStr:='P';
if (AscValue>='3858') and (AscValue<='4026') then
AscStr:='Q';
if (AscValue>='4027') and (AscValue<='4085') then
AscStr:='R';
if (AscValue>='4086') and (AscValue<='4389') then
AscStr:='S';
if (AscValue>='4390') and (AscValue<='4557') then
AscStr:='T';
if (AscValue>='4558') and (AscValue<='4683') then
AscStr:='W';
if (AscValue>='4684') and (AscValue<='4924') then
AscStr:='X';
if (AscValue>='4925') and (AscValue<='5248') then
AscStr:='Y';
if (AscValue>='5249') and (AscValue<='5589') then
AscStr:='Z';
Result:=Result+AscStr;
I:=I+2
end;
end;
- 取得汉字的拼音首字母
- 取得汉字拼音首字母
- c#取得汉字的拼音的首字母。
- C#取得汉字的拼音的首字母。
- c#取得汉字的拼音的首字母
- C#取得汉字的拼音的首字母
- c#取得汉字的拼音的首字母
- C#取得汉字的拼音的首字母
- C#取得汉字的拼音的首字母
- c#取得汉字的拼音的首字母
- C#取得汉字的拼音的首字母
- C#取得汉字的拼音的首字母
- C#取得汉字的拼音的首字母
- c#取得汉字的拼音的首字母。
- c#取得汉字的拼音的首字母
- c#取得汉字的拼音的首字母
- 取得汉字字符的拼音的首字母
- 使用Java取得汉字的拼音首字母
- 诈骗新招:冒充银行职员接电话窃密码
- Delphi用拼音首字符序列实现检索功能
- Label 滚动效果与自动换行
- 很好用的属性页控件——CTreePropSheet
- 2005最具诱惑力的短信骗局
- 取得汉字的拼音首字母
- B树系列文章(2)--插入操作
- 分页程序
- 省市联动菜单
- 网吧里狂骗手机十二部
- 最大子序列
- “三把米”骗了100多万
- 好心带路反遭骗
- 在MFC中使用Tab Control