Difference between revisions of "DECLARE"

From Recital Documentation Wiki
Jump to: navigation, search
 
(5 intermediate revisions by 3 users not shown)
Line 4: Line 4:
  
 
==Syntax==
 
==Syntax==
DECLARE <memvar>
 
  
 
DECLARE <array>[<expN>] | (<expN>)
 
DECLARE <array>[<expN>] | (<expN>)
Line 11: Line 10:
  
 
DECLARE <array>[] | ()
 
DECLARE <array>[] | ()
 
  
 
==See Also==
 
==See Also==
[[AAVERAGE()]], [[ACHOICE()]], [[ACOPY()]], [[ADEL()]], [[ADIR()]], [[AFIELDS()]], [[AFILL()]], [[AINS()]], [[ALEN()]], [[AMAX()]], [[AMIN()]], [[APPEND FROM ARRAY]], [[ARRAY()]], [[ASORT()]], [[ASUM()]], [[COPY TO ARRAY]], [[DIMENSION]], [[GATHER]], [[IN_ARRAY()]], [[LOCAL]], [[PRIVATE]], [[PUBLIC]], [[RELEASE]], [[RESTORE]], [[SAVE]], [[SCATTER]]
+
[[AAVERAGE()]], [[ACHOICE()]], [[ACOPY()]], [[ADEL()]], [[ADIR()]], [[AFIELDS()]], [[AFILL()]], [[AINS()]], [[ALEN()]], [[AMAX()]], [[AMIN()]], [[APPEND FROM ARRAY]], [[ARRAY()]], [[ASORT()]], [[ASUM()]], [[COPY TO ARRAY]], [[DIMENSION]], [[GATHER]], [[IN_ARRAY()]], [[IS_ARRAY()]], [[LOCAL]], [[NAMESPACE]], [[NAMESPACE()]], [[PRIVATE]], [[PUBLIC]], [[RELEASE]], [[RESTORE]], [[SAVE]], [[SCATTER]], [[VARINFO()]]
  
  
 
==Description==
 
==Description==
The DECLARE command is used to declare memory variables, fixed one or two-dimensional arrays and dynamic arrays.  Memory variables declared using the DECLARE command are initialized to .F. and are private to the declaring procedure.
+
The DECLARE command is used to declare fixed one or two-dimensional arrays and dynamic arrays.   
  
 
For fixed arrays, the array size is set at its declaration.  Dynamic arrays are declared without a size.  Array subscripts can be referenced using square brackets or round brackets.
 
For fixed arrays, the array size is set at its declaration.  Dynamic arrays are declared without a size.  Array subscripts can be referenced using square brackets or round brackets.
Line 51: Line 49:
 
Notes: The brackets shown for this command do not indicate optional expressions but are a necessary part of the syntax.
 
Notes: The brackets shown for this command do not indicate optional expressions but are a necessary part of the syntax.
 
Arrays can also be declared using any of the scoping commands: LOCAL, PRIVATE and PUBLIC.
 
Arrays can also be declared using any of the scoping commands: LOCAL, PRIVATE and PUBLIC.
 
  
 
==Example==
 
==Example==
Line 90: Line 87:
  
 
==Products==
 
==Products==
Recital Database Server, Recital Mirage Server, Recital Terminal Developer
+
Recital Server, Recital  
 
[[Category:Documentation]]
 
[[Category:Documentation]]
 
[[Category:Commands]]
 
[[Category:Commands]]
 
[[Category:Array Processing]]
 
[[Category:Array Processing]]
 
[[Category:Array Processing Commands]]
 
[[Category:Array Processing Commands]]

Latest revision as of 10:34, 30 August 2011

Purpose

Declare an array


Syntax

DECLARE <array>[<expN>] | (<expN>)

DECLARE <array>[<expN1>,<expN2>] | (<expN1>,<expN2>)

DECLARE <array>[] | ()

See Also

AAVERAGE(), ACHOICE(), ACOPY(), ADEL(), ADIR(), AFIELDS(), AFILL(), AINS(), ALEN(), AMAX(), AMIN(), APPEND FROM ARRAY, ARRAY(), ASORT(), ASUM(), COPY TO ARRAY, DIMENSION, GATHER, IN_ARRAY(), IS_ARRAY(), LOCAL, NAMESPACE, NAMESPACE(), PRIVATE, PUBLIC, RELEASE, RESTORE, SAVE, SCATTER, VARINFO()


Description

The DECLARE command is used to declare fixed one or two-dimensional arrays and dynamic arrays.

For fixed arrays, the array size is set at its declaration. Dynamic arrays are declared without a size. Array subscripts can be referenced using square brackets or round brackets.


[<expN>] | (<expN>)

For one-dimensional arrays, [<expN>] specifies the total number of elements in the array. Elements are subsequently referenced using the notation <array>[<expN>] or <array>(<expN>).

[<expN1>,<expN2>] | (<expN1>,<expN2>)

For two-dimensional arrays, <expN1> represents the number of rows and <expN2> represents the number of columns in the array. Elements are subsequently referenced by <array>[<expN1>,<expN2>] or <array>(<expN1>,<expN2>). The elements of a two dimensional array can also be referenced, as if the array were one dimensional, using <array>[<expN1>] or <array>(<expN>).

Fixed arrays can be declared as any size. Values are assigned into arrays using the '=' operator. Arrays can then be used in a similar way to memory variables. Complete arrays can be initialized with one assignment. Array references start at 1,1 for two-dimensional arrays, and 1 for one-dimensional arrays.

[] | ()

Dynamic arrays are declared without specifying a size. Elements are added using arrayname.element syntax.

aDynarray.name = [Recital Corporation]
aDynarray.email = [info@recital.com]

They can then be referenced by element number or by element name.

? aDynarray.name
Recital Corporation
? aDynarray[2]
info@recital.com


Notes: The brackets shown for this command do not indicate optional expressions but are a necessary part of the syntax. Arrays can also be declared using any of the scoping commands: LOCAL, PRIVATE and PUBLIC.

Example

// Declare one-dimensional array of 4000 elements
declare aTable[4000]
// Assign 0 to all elements
aTable = 0
// Insert individual element values into array
aTable[1] = 10
aTable[2] = "Hello"
aTable[3] = "World"
aTable[4] = date()
// Print value of element 2
? aTable[2]
Hello
 
// Another example
declare twodim[3,3]
twodim[2,3] = "hello world"
? twodim[6]
hello world
 
// Another example
use payroll
declare aPayroll[reccount(), fcount()]
copy to array aPayroll for city = "LONDON"
 
// Dynamic array
declare aDynarray[]
aDynarray.name = [Recital Corporation]
? aDynarray.name
Recital Corporation
? aDynarray[1]
Recital Corporation


Products

Recital Server, Recital