4D v12.4Creating Arrays |
||||||||||||||||||||||
|
4D v12.4
Creating Arrays
|
Command | Creates or resizes an array of |
ARRAY INTEGER | 2-byte Integer values |
ARRAY LONGINT | 4-byte Integer values (*) |
ARRAY REAL | Real values |
ARRAY TEXT | Text values (up to 2 GB of text per element) (**) |
ARRAY STRING | (obsolete in Unicode mode) (**) |
ARRAY DATE | Date values |
ARRAY BOOLEAN | Boolean values |
ARRAY PICTURE | Pictures values |
ARRAY POINTER | Pointer values |
Each array declaration command can create or resize one-dimensional or two-dimensional arrays. For more information about two-dimensional arrays, see the section Two-dimensional Arrays.
(*) Longint arrays allows you to manipulate data of Time type. To display a Time array in a form, apply to the associated form object the display format &/x, in which x represents the number of the format in the Time formats list (by order of appearance). For example, &/4 will display the Hour Min format.
(**) Text and String arrays work with the same types of elements: characters.
The following line of code creates (declares) an Integer array of 10 elements:
ARRAY INTEGER(aiAnArray;10)
Then, the following code resizes that same array to 20 elements:
ARRAY INTEGER(aiAnArray;20)
Then, the following code resizes that same array to no elements:
ARRAY INTEGER(aiAnArray;0)
You reference the elements in an array by using curly braces ({…}). A number is used within the braces to address a particular element; this number is called the element number. The following lines put five names into the array called atNames and then display them in alert windows:
ARRAY TEXT(atNames;5)
atNames{1}:="Richard"
atNames{2}:="Sarah"
atNames{3}:="Sam"
atNames{4}:="Jane"
atNames{5}:="John"
For($vlElem;1;5)
ALERT("The element #"+String($vlElem)+" is equal to: "+atNames{$vlElem})
End for
Note the syntax atNames{$vlElem}. Rather than specifying a numeric literal such as atNames{3}, you can use a numeric variable to indicate which element of an array you are addressing.
Using the iteration provided by a loop structure (For...End for, Repeat...Until or While...End whileDatabase Engine Errors (-10600 -> 4004)), compact pieces of code can address all or part of the elements in an array.
There are other 4D commands that can create and work with arrays. More particularly:
Product: 4D
Theme: Arrays
ARRAY BOOLEAN
ARRAY DATE
ARRAY INTEGER
ARRAY LONGINT
ARRAY PICTURE
ARRAY POINTER
ARRAY REAL
ARRAY STRING
ARRAY TEXT
Arrays
Two-dimensional Arrays