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 > ) then//sorted是false时 才会排序
begin
Changing;
QuickSort(, FCount - , Compare);
Changed;
end;
end;