Содержание
Array.Sort([Desc : Boolean])
Упорядочить элементы массива
Метод Array.Sort упорядочивает элементы массива по возрастанию, если Desc=False, или по убыванию, если Desc=True. Не указанный аргумент Desc считается за False.
Пример:Procedure OnCreate; Var AI : Array Of Integer; AF : Array Of Float; AC : Array Of Currency; AS : Array Of String; AD : Array Of DateTime; AB : Array Of Boolean; OldState : Array; Begin // Сортировка Array Of Integer AI := [5, 1, 7, 12, -3, 17, 0]; OldState := AI; AI.Sort; Warning('[' + ToStr(OldState) + '] => [' + ToStr(AI) + ']'); // [5, 1, 7, 12, -3, 17, 0] => [-3, 0, 1, 5, 7, 12, 17] // Сортировка Array Of Float в обратном порядке AF := [5.4, 1.1, 7.3, 12.5, -3.8, 17.2, 0.3]; OldState := AF; AF.Sort(True); Warning('[' + ToStr(OldState) + '] => [' + ToStr(AF) + ']'); // [5.4, 1.1, 7.3, 12.5, -3.8, 17.2, 0.3] => [12.5, 17.2, -3.8, 0.3, 1.1, 5.4, 7.3] // Сортировка Array Of Currency AC := [5.4c, 1.1c, 7.3c, 12.5c, -3.8c, 17.2c, 0.3c]; OldState := AC; AC.Sort; Warning('[' + ToStr(OldState) + '] => [' + ToStr(AC) + ']'); // [5.40, 1.10, 7.30, 12.50, -3.80, 17.20, 0.30] => [-3.80, 0.30, 1.10, 5.40, 7.30, 12.50, 17.20] // Сортировка Array Of String AS := ['5.4', '1.1', 'BCD', '12.5', '-3.8', 'Test', '0.3']; OldState := AS; AS.Sort; Warning('[' + ToStr(OldState) + '] => [' + ToStr(AS) + ']'); // [5.4, 1.1, BCD, 12.5, -3.8, Test, 0.3] => [-3.8, 0.3, 1.1, 12.5, 5.4, BCD, Test] // Сортировка Array Of DateTime в обратном порядке AD := [EncodeDate(2000, 1, 1), EncodeDate(2001, 3, 11), EncodeDate(2000, 6, 2)]; OldState := AD; AD.Sort(True); Warning('[' + ToStr(OldState) + '] => [' + ToStr(AD) + ']'); // [1-01-2000, 11-03-2001, 2-06-2000] => [11-03-2001, 1-01-2000, 2-06-2000] // Сортировка Array Of Boolean AB := [True, False, False, True, False, True]; OldState := AB; AB.Sort; Warning('[' + ToStr(OldState) + '] => [' + ToStr(AB) + ']'); // [True, False, False, True, False, True] => [False, False, False, True, True, True] End;