uses
System.Generics.Collections, { TArray }
System.Generics.Defaults; { TComparer<T> }
var StringArray: TArray<string>; { Also works with "array of string" }
...
{ Sorts the array case insensitive }
TArray.Sort<string>(StringArray, TComparer<string>.Construct(
function (const A, B: string): Integer
begin
Result := string.CompareText(A, B);
end
));