Delphi XE2에서 문자열 목록을 정렬하는 데 문제가 있습니다. 때문에 TStringList.Sorted
가 true (도 직접도 SetSorted 사용)로 설정되지 않습니다 있다는 사실에Delphi XE2에서 문자열 목록을 정렬 된 것으로 표시하지 않습니다.
procedure AddText();
var
StrList: TStringList;
begin
StrList := TStringList.Create();
StrList.Add('Test1');
StrList.Sort();
WriteLn('Sorted: ' + BoolToStr(StrList.Sorted, true)); // Prints "Sorted: false"
StrList.Add('Test2');
StrList.Sort();
WriteLn('Sorted: ' + BoolToStr(StrList.Sorted, true)); // Prints "Sorted: false"
StrList.Add('Test3');
StrList.Free();
end;
문제, 지금까지의 내가 이해,이다 예를 들면 다음과 같습니다이다. 나만인가, 아니면 벌레 일까?
는'Sorted' 결코 목록의 ** ** 미리 상태에 대해 알려줍니다 . 'Sorted'는리스트가 어떻게 동작 하는지를 제어하는 ** 속성입니다. 거짓이면 목록에 추가하고 마지막에 새 항목이 추가됩니다. 'Sorted'가 true 일 때, 새로운 아이템은 항상 순서대로 삽입됩니다. 즉, 목록에 'b', 'c'및 'd'가 있고 'a'를 추가하면 목록의 머리에 추가됩니다. –
그들은'AutoSortNewItems' (; –