4D v16.3

ARRAY POINTER

Home

 
4D v16.3
ARRAY POINTER

ARRAY POINTER 


 

ARRAY POINTER ( arrayName ; size {; size2} ) 
Parameter Type   Description
arrayName  Array in Name of the array
size  Longint in Number of elements in the array, or Number of rows if size2 is specified
size2  Longint in Number of columns in a two-dimensional array

The ARRAY POINTER command creates or resizes an array of Pointer elements in memory.

  • The arrayName parameter is the name of the array.
  • The size parameter is the number of elements in the array.
  • The size2 parameter is optional; if size2 is specified, the command creates a two-dimensional array. In this case, size specifies the number of rows and size2 specifies the number of columns in each array. Each row in a two-dimensional array can be treated as both an element and an array. This means that while working with the firt dimension of the array, you can use other array commands to insert and delete entire arrays in a two-dimensional array.

While applying ARRAY POINTER to an existing array:

  • If you enlarge the array size, the existing elements are left unchanged, and the new elements are initialized to null pointer. This means that Nil applied to one of these elements will return True.
  • If you reduce the array size, the last elements deleted from the array are lost.

This example creates a process array of 100 Pointer elements:

 ARRAY POINTER(apValues;100)

This example creates a local array of 100 rows of 50 Pointer elements:

 ARRAY POINTER($apValues;100;50)

This example creates an interprocess array of Pointer elements and sets each element pointing to the table whose number is the same as the element. The size of the array is equal to the number of tables in the database. In the case of a deleted table, the row will return Nil.

 ARRAY POINTER(◊apValues;Get last table number)
 For($vlElem;1;Size of array(◊apValues);1;-1)
    If(Is table number valid($vlElem))
       ◊apValues{$vlElem}:=Table($vlElem)
    End if
 End for

 
PROPERTIES 

Product: 4D
Theme: Arrays
Number: 280

This command can be run in preemptive processes

 
HISTORY 

Created: < 4D v6

 
ARTICLE USAGE

4D Language Reference ( 4D v16)
4D Language Reference ( 4D v16.1)
4D Language Reference ( 4D v16.2)
4D Language Reference ( 4D v16.3)