1 、设置 sorted := true;

2、添加数据

add('3');add('4');add('1');

showmessage(commatext);// 1,3,4

3、再修改Sorted属性 为 false ,前面已经添加的数据 不会恢复为添加时的顺序341

添加新数据 add('5');

4、showmessage(commatext);//1345

procedure TStringList.SetSorted(Value: Boolean);

begin
if FSorted <> Value then
begin
if Value then Sort;  //修改sorted属性时,只有 新值是 true时 才会排序;新值是 false时,不会排序
FSorted := Value;
end;
end;
procedure TStringList.Sort;
begin
  CustomSort(StringListCompareStrings);
end;

procedure TStringList.CustomSort(Compare: TStringListSortCompare);
begin
  if not Sorted and (FCount > 1) then//sorted是false时 才会排序
  begin
    Changing;
    QuickSort(0, FCount - 1, Compare);
    Changed;
  end;
end;

 

 posted on 2014-12-01 14:55  宝兰  阅读(425)  评论(0编辑  收藏  举报