|
|
|
|
|
- Passing a fixed array as a parameter to a procedure
- Declaring a fixed array member
- Dimension of a fixed array
- Fixed array of arrays, associative arrays, queues, stacks and lists
- Limitations: Elements of a fixed array
Fixed array (Variable type) In french: Tableau fixe
A fixed array is an "advanced" type of array: the dimensions of this array are set at compile time and cannot be modified. The dimensions of a fixed array are set at compile time only if they correspond to: - an integer,
- a previously created constant.
Otherwise, a WLanguage error occurs when the project is compiled. Reminder: An array is a structured type used to group together a set of elements of the same type. Each element of the array can be accessed by its index. It is recommended to use: - A fixed array to pass an array as a parameter to the Windows API functions.
- A dynamic array or a "simple" array if the array needs to be resized during the execution of the program.
- An associative array to index elements by any type of value.
CustomerArray is fixed array of 5 by 7 by 3 int
CustomerArray[2,5,3] = 47
Syntax
Declaring a fixed array (syntax 1)
<Array name> is fixed array [ <Dimension 1> [,<Dimension 2> ... [,<Dimension 10>]] ] <Type of array elements>
Example:
arrString is fixed array [10] strings
arrInt is fixed array [5,9] int
Declaring a fixed array (syntax 2) Hide the details
<Array name> is fixed array of <Dimension 1> [by <Dimension 2> ... [by <Dimension 10>]] <Type of array elements> OR <Array name> is fixed array of <Dimension 1> [,<Dimension 2> ... [,<Dimension 10>]] <Type of array elements>
<Array name>: Name of the array variable to be declared. <Dimension 1>...<Dimension 10>: Dimensions of the array from 1 to 10 (integer). <Type of array elements>: Type of the elements in the array. See the different WLanguage types.
Remark: The an keyword is not required: it is an optional word.
Referencing an element in a fixed one-dimensional array:
<Array name>[Index1]
Referencing an element in a fixed two-dimensional array:
<Array name>[Index1, Index2]
OR
<Array name>[Index1][Index2]
Referencing an element in a fixed N-dimensional array:
<Array name>[Index1, ... , IndexN]
OR
<Array name>[Index1]...[IndexN]
Passing an array as a parameter to a procedure: Hide the details
<Procedure name>(<Array name>)
<Array name>: Name of the fixed array to be used. <Index1>: Index of the element for the 1st dimension. <Index2>: Index of the element for the 2nd dimension. <IndexN>: Index of the element for the Nth dimension (N <= 10). Remark: An array cannot be handled as a whole. For example, an array cannot be assigned to another array. Remarks Passing a fixed array as a parameter to a procedure A fixed array can be passed as a parameter to a procedure. To do so, use the following syntax: <Procedure name>(<Array name>) For example: SupplierArray is fixed array of 10 by 50 string
DisplayArray(SupplierArray)
Declaring a fixed array member A "fixed array" member can be declared in: - A class. The fixed array is directly allocated in the class memory area.
- A composite variable. The fixed array is directly allocated in the memory area of the composite variable.
- A structure <Structure name>. The fixed array is directly allocated in the memory area of each <Structure name> variable.
For example: Struct is Structure
n1 is int
nArray is fixed array of 2 int
n2 is int
END
MyStructure is Struct
Representation of the memory area of "MyStructure": This memory representation is compatible with the Windows APIs. Therefore, a fixed-size array can be transmitted to a function of the Windows APIs. Dimension of a fixed array The Dimension function and the Count property are used to get the number of elements in a fixed array. Reminder: A fixed array cannot be resized. Limitations: Elements of a fixed array - A fixed array can include classes only if these classes have a constructor without parameters (or with optional parameters).
- A fixed array cannot include composite variables.
- The size of a fixed array cannot exceed 2GB.
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|