sort_text_array

The function sort_text_array sorts the elements of a text array and stores the sorted elements in a second array.

sort_text_array ( input;output;number of elements to sort )

The function sort_text_array is of type BOOL, and has three parameters:

  1. input; ARRAY of type TEXT. This array contains the elements that must be sorted.
  2. output; ARRAY of type TEXT. This array will receive the sorted elements.
  3. number of elements to sort; NUMBER. This is the number of elements in the array, which must be sorted starting from the first element. This can either be a number or a NUMBER variable or expression.

Return values

The function sort_text_array will return TRUE if the array was sorted successfully, and FALSE in one of the following conditions:

Note

Any word processor instructions in the text elements are included in the sort, and might cause unexplainable orderings.

Example

ARRAY TEXT input [4]
ARRAY TEXT output[4]
NUMBER i
ASSIGN input[1] := "c"
ASSIGN input[2] := "d"
ASSIGN input[3] := "a"
ASSIGN input[4] := "b"
IF sort_text_array (input; output; 4) THEN
FOR i FROM 1 UPTO 4
DO
#
@(i) @(output[i])
#
OD

ELSE
#
Failed to sort the input.
#
STOP
FI


Here the fact that the sort_text_array is a function of type BOOL is used to implement error handling. If the sort succeeds the return value of the function will be TRUE, the IF statement becomes TRUE, and the THEN part is executed. If the return is FALSE the ELSE part of the IF statement is executed.

Note

The setting EnhancedUnicodeSupport in the ITP/Server Administrator can be used to map the function sort_text_array automatically to the function sort_text_array_characters. Refer to topic Enhanced Unicode support for more information.