BCB6 下的ListView 控件的标头排序有关问题

BCB6 下的ListView 控件的标头排序问题
1   BCB6   下的ListView   控件的标头排序问题
   
    比如一个类似这样的ListView项目
   
    文件名称         文件大小               文件修改日期   ....
1
2
3   ...

    想要实现的效果:
    点击文件名称时候,ListView   按照文件名排序   从0-9,然后从A-Z结束.
    点击文件大小时候,ListView   按照文件大小排序,从小到大
    点文件修改日期时候,ListView   按照文件日期大小进行排序...

最好能给出代码,谢谢.

------解决方案--------------------
以前的帖子,楼主试试
====================

也谈ListView的排序

--------------------------------------------

小弟看到jishiping兄弟发表了一篇关于ListView的简单排序方法的文章后,偶然查看BCB帮助,发现了另一中排序方法:
代码:
int ColumnToSort = 0;

void __fastcall TForm1::ListView1ColumnClick(TObject *Sender, TListColumn *Column)

{
ColumnToSort = Column-> Index;
((TCustomListView *)Sender)-> AlphaSort();
}

void __fastcall TForm1.ListView1Compare(TObject *Sender, TListItem *Item1, TListItem *Item2, int Data,
int &Compare)
{
if (ColumnToSort == 0)
Compare = CompareText(Item1-> Caption,Item2-> Caption);
else
{
int ix = ColumnToSort ?1;
Compare = CompareText(Item1-> SubItems[ix], Item2-> SubItems[ix]);
}
}

--------------------------------------------

两种方法其实是一样!