Transfer routines convert an actual parameter to data of another type.
1 – CHR
The CHR function returns a char value whose ordinal value in the ASCII character set is the parameter, provided such a character exists. Syntax: CHR( x ) The parameter 'x' must be integer or unsigned and have a value from 0 to 255.
2 – DBLE
The DBLE function converts the parameter and returns its DOUBLE equivalent. Syntax: DBLE( x ) The parameter 'x' must be of an arithmetic type. The value of 'x' must not be too large to be represented by a double-precision number.
3 – INT64
The INT64 function converts the parameter and returns its INTEGER64 equivalent. Syntax: INT64(x) Overflow can occur and is detected at runtime if overflow checking is enabled and the value of 'x' is outside the range of INTEGER64.
4 – INT
The INT function converts the parameter and returns its INTEGER equivalent. Syntax: INT(x) Overflow can occur and is detected at runtime if overflow checking is enabled and the value of 'x' is outside the range of INTEGER.
5 – ORD
The ORD function returns an integer value that is the position of the parameter in the ordered sequence of values of the parameter's type. Syntax: ORD( x ) The parameter 'x' must be of an ordinal type. Note that the ordinal value of an INTEGER object is the integer itself. If 'x' is of type UNSIGNED, its value must not be greater than MAXINT.
6 – PACK
The PACK procedure copies components of an unpacked array variable to a packed array variable. Syntax: PACK( a,i,z ) The parameter 'a' is an unpacked array. The parameter 'i' is a value to indicate the starting value of the index of 'a'. The parameter 'z' is a packed array of the same component type as 'a'. The number of components in parameter a must be greater than or equal to the number of components in 'z'. The PACK procedure assigns the components of 'a', starting with a[i], to the array 'z', starting with z[lower bound], until all the components in 'z' are filled. In general, when specifying 'i', keep in mind that the upper bound of a (that is, n) must be greater than or equal to i + v - u, where 'v' is the upper bound of 'z' and 'u' is the lower bound of 'z'. That is, ORD(n) must be greater than or equal to ORD(i) + ORD(v) - ORD(u).
7 – QUAD
The QUAD function converts the parameter and returns its QUADRUPLE equivalent. Syntax: QUAD( x ) The parameter 'x' must be of an arithmetic type.
8 – ROUND
The ROUND function converts the value of the parameter by rounding the fractional part of the value, and returns its integer equivalent. Syntax: ROUND( x ) The parameter 'x' must be of type REAL, SINGLE, DOUBLE, or QUADRUPLE. The value of 'x' must not be too large to be represented by an integer.
9 – SNGL
The SNGL function converts the parameter and returns its real equivalent. Syntax: SNGL( x ) The parameter 'x' must be of an arithmetic type. The value of 'x' must not be too large to be represented by a single-precision number.
10 – TRUNC
The TRUNC function converts the value of the parameter by truncating the fractional part of the value and returns its integer equivalent. Syntax: TRUNC( x ) The parameter 'x' must be of type REAL, SINGLE, DOUBLE, or QUADRUPLE. The value of 'x' must not be too large to be represented by an integer.
11 – UINT
The UINT function converts the value of the parameter and returns its unsigned equivalent. Syntax: UINT( x ) The parameter 'x' must be of an ordinal type. No error results if 'x' is an integer and has a negative value. The value returned is x MOD 2**32.
12 – UINT64
The UINT64 function converts the value of the parameter and return its UNSIGNED64 equivalent. Syntax: UINT64(x) The parameter 'x' must be of an ordinal type. No error results if 'x' is an integer and has a negative value. The value returned is x MOD 2**64.
13 – UNPACK
The UNPACK procedure copies components of a packed array to an unpacked array variable. Syntax: UNPACK( z,a,i ) The parameter 'z' is a packed array. The parameter 'a' is an unpacked array variable. The parameter 'i' is the starting value of the index of 'a'. The number of components in 'a' must be greater than or equal to the number of components in 'z'. The UNPACK procedure assigns the components of 'z', starting with z[lower bound], to the array 'a', starting with a[i], until all the components in 'z' are used. In general, when specifying 'i', keep in mind that the upper bound of 'a' (that is, n) must be greater than or equal to i + v - u, where 'v' is the upper bound of 'a' and 'u' is the lower bound of 'a'. That is, ORD(n) must be greater than or equal to ORD(i) + ORD(v) - ORD(u). Normally, you cannot pass the individual components of a packed array to formal VAR parameters; you must unpack the array first.
14 – UROUND
The UROUND function converts the value of the parameter and returns its unsigned equivalent by rounding the fractional part of the value. Syntax: UROUND( x ) The parameter 'x' must be of type REAL, SINGLE, DOUBLE, or QUADRUPLE. No error results if the value of 'x' is negative or greater than 4,294,967,295. In that case, the unsigned result is the rounded parameter value MOD 4,294,967,296.
15 – UTRUNC
The UTRUNC function converts the parameter and returns its unsigned equivalent by truncating the fractional part of the value. Syntax: UTRUNC( x ) The parameter 'x' must be of type REAL, SINGLE, DOUBLE, or QUADRUPLE. No error results if the value of 'x' is negative or greater than 4,294,967,295. In that case, the unsigned result is the truncated parameter value MOD 4,294,967,296.