Подпрограммы для работы с динамическими массивами

function Low(a: array of T): integer;
        Возвращает 0
function High(a: array of T): integer;
        Возвращает верхнюю границу динамического массива
function Length(a: array of T): integer;
        Возвращает длину динамического массива
function Length(a: array of T; dim: integer): integer;
        Возвращает длину динамического массива по размерности dim
procedure SetLength(var a: array of T);
        Устанавливает длину одномерного динамического массива. Старое содержимое сохраняется
procedure SetLength(var a: array of T; n1,n2,...: integer);
        Устанавливает размеры n-мерного динамического массива. Старое содержимое сохраняется
procedure Copy(var a: array of T);
        Создаёт копию динамического массива
procedure Sort<T>(a: array of T);
        Сортирует динамический массив по возрастанию
procedure Sort<T>(l: List<T>);
        Сортирует список по возрастанию
procedure Reverse<T>(a: array of T);
        Изменяет порядок элементов в динамическом массиве на противоположный
procedure Reverse<T>(a: array of T; index,length: integer);
        Изменяет порядок элементов на противоположный в диапазоне динамического массива длины length начиная с индекса index