如何按照拼音排序???

SummerPulse 2004-09-26 11:32:02
假如我做一个通讯录,怎么样把通讯录里面的人名按照拼音排序???
...全文
183 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
COpyFRee 2004-09-27
  • 打赏
  • 举报
回复
首先取汉字的拼音首字母,然后对字母排序。

[-转-]
//--------------------------------------------------------------------------
//根据汉字编码取得其拼音首字符
char __fastcall GetPY1Char(AnsiString HZ)
{
if(HZ.Trim().IsEmpty()||HZ.Length()!=2) return ' ';

WORD n = MAKEWORD(BYTE(HZ[2]),BYTE(HZ[1]));

if ( 0xB0A1<=n && n<=0xB0C4 ) return 'A';
if ( 0XB0C5<=n && n<=0XB2C0 ) return 'B';
if ( 0xB2C1<=n && n<=0xB4ED ) return 'C';
if ( 0xB4EE<=n && n<=0xB6E9 ) return 'D';
if ( 0xB6EA<=n && n<=0xB7A1 ) return 'E';
if ( 0xB7A2<=n && n<=0xB8C0 ) return 'F';
if ( 0xB8C1<=n && n<=0xB9FD ) return 'G';
if ( 0xB9FE<=n && n<=0xBBF6 ) return 'H';
if ( 0xBBF7<=n && n<=0xBFA5 ) return 'J';
if ( 0xBFA6<=n && n<=0xC0AB ) return 'K';
if ( 0xC0AC<=n && n<=0xC2E7 ) return 'L';
if ( 0xC2E8<=n && n<=0xC4C2 ) return 'M';
if ( 0xC4C3<=n && n<=0xC5B5 ) return 'N';
if ( 0xC5B6<=n && n<=0xC5BD ) return 'O';
if ( 0xC5BE<=n && n<=0xC6D9 ) return 'P';
if ( 0xC6DA<=n && n<=0xC8BA ) return 'Q';
if ( 0xC8BB<=n && n<=0xC8F5 ) return 'R';
if ( 0xC8F6<=n && n<=0xCBF0 ) return 'S';
if ( 0xCBFA<=n && n<=0xCDD9 ) return 'T';
if ( 0xCDDA<=n && n<=0xCEF3 ) return 'W';
if ( 0xCEF4<=n && n<=0xD188 ) return 'X';
if ( 0xD1B9<=n && n<=0xD4D0 ) return 'Y';
if ( 0xD4D1<=n && n<=0xD7F9 ) return 'Z';
return ' ';
}
COpyFRee 2004-09-27
  • 打赏
  • 举报
回复
.
Chxis 2004-09-27
  • 打赏
  • 举报
回复
sql server里面order by xm就是按照拼音来排序的啦
SummerPulse 2004-09-27
  • 打赏
  • 举报
回复
谢谢 !

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧