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;