TStringList 的Sorted属性

时间:2024-07-09 11:34:38

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;