如分别对文件名、文件大小、修改日期、文件类型等进行排序(升序或降序),就象资源管理器中的一样,但不是用控件,只是把结果输出到字符串中。我想过用TStringList实现,但一个TStringList只能放一类数据,如文件名或大小等,这样就得创建好几个对象,而且它们之间还需联动,即一个TStringList排序后,其它TStringList中的元素对应排序TStringList元素排序后的位置再排序,但这种方法我只是想了想,觉得无法实现就放弃了。请问各位有其它思路吗?

解决方案 »

  1.   

    我觉得可以定一个类,这个类里面包含,文件名,文件大小,时间,类型等字段,在写一个list类,在这个list类中定义排序的功能。
    也可以写一个记录类型(record)包含那些文件信息,使用tlist保存,定义几个过程进行排序。
    还可以把这些信息分别保存到listview中,但是我不知道listview有没有排序的功能,不过可能有。
      

  2.   

    笨,你使用TListView控件啊,搜索到的文件直接放入里面,然后对TListView排序就可以啦
      

  3.   

    To Linux2001:
     看清楚问题了老大,我已经说明了不能用控件,只是输入到字符串中,要是用控件我还发什么愁呀!!!
      

  4.   

    你可以模拟TListView,把文件的信息存到一个对象中,而所有的文件以此对象的形式保存到数组中,自己做一个排序的函数,根据参数的不同,而选择不同的排序所用的字段,然后进行排序,估计这样就行了。
      

  5.   

    文件名放到TStringList中,文件的其它特性做成Record,动态分配,把Record的地址保存在TStringList.Objects中。
      

  6.   

    我的做法是用Record来保存文件的所有特征。然后用一个SortList来存放所有文件的Record.