Содержание
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;
справка