/* $DOC$ $TEMPLATE$ Statement $NAME$ FIELD $CATEGORY$ Statement $SUBCATEGORY$ RDD $ONELINER$ Declares a list of database field names. $SYNTAX$ FIELD [, [IN ] $ARGUMENTS$ A valid field name Additional field name An valid alias name $DESCRIPTION$ This command declares the names of fields (and and following) with an optional alias identifier as for each. This command allow Harbour to resolve any reference to a field specified in the field list by viewing it as a field when it is not referenced by an alias. If a field is not listed in this list and it is not explicitly tagged with an alias identifier, it may be viewed as a memory variable, which may cause run-time errors. This command has no effect on memory variables or on field reference buried within a macro expression. $EXAMPLES$ FIELD first FIELD age USE test NEW first := "FirstName" age := 25 $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ None. $SEEALSO$ MEMVAR, PRIVATE, PUBLIC, STATIC $END$ */ /* $DOC$ $TEMPLATE$ Statement $NAME$ LOCAL $CATEGORY$ Statement $SUBCATEGORY$ Variable management $ONELINER$ Initializes a local memory variable or array $SYNTAX$ LOCAL [:= ] $ARGUMENTS$ Name of a memory variable or array. Value to be assigned to a variable or array $DESCRIPTION$ This command created a LOCAL memory variable or array. The name of either is specified in . If more then one variable is being initialized with the LOCAL command, separate each entry with a comma. If a variable or an array is to be assigned a start-up value, that expression may be specified in and following. Is Strong type compile mode is used, the Compiler will check if the value received matches the type specified in . LOCAL variables are symbols generated at run time and are resolved at compile time. The visibility and life span of a LOCAL variable or array is limited to the function or procedure in which it is defined. No macro expansions are allowed in the LOCAL declaration statement. No Harbour command other then FUNCTION, PROCEDURE, PUBLIC, PRIVATE, PARAMETERS, MEMVAR, STATIC and FIELD, may precede the LOCAL command. LOCAL array reference may not be initialized (i.e., assigned values) on the same command-line as the LOCAL command statement. This can be done later in the program. LOCAL variables and arrays are not affected by the RELEASE command. $EXAMPLES$ LOCAL n, lVar := .T. n := iif( lVar, "A", 3 ) n := 2 n := "a" n := Seconds() + 2 n := Int( Seconds() + 2 ) $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ None $SEEALSO$ FIELD, PRIVATE, PUBLIC, STATIC, MEMVAR $END$ */ /* $DOC$ $TEMPLATE$ Statement $NAME$ MEMVAR $CATEGORY$ Statement $SUBCATEGORY$ Variable management $ONELINER$ Declares private and public variables and arrays. $SYNTAX$ MEMVAR $ARGUMENTS$ Memory variable Name $DESCRIPTION$ This command tells the compiler to resolve any reference to a memory variable designated within this list s if it possessed an explicit memory variable alias with either the `M->` or `MEMVAR->` prefix. Only those memory variables that do not contain any such explicit are affected by this command. Those memory variables within macro expansions are not affected by this command. The MEMVAR declaration must appear before any executable commands; it is similar to the LOCAL, STATIC, FIELD, PARAMETERS, FUNCTION, and PROCEDURE commands statements. $EXAMPLES$ MEMVAR y AS NUMERIC LOCAL n, lVar := .T. n := iif( lVar, "A", 3 ) n := 2 n := "a" n := Seconds() + 2 n := Int( Seconds() + 2 ) y := n ? y $STATUS$ R $COMPLIANCE$ C $PLATFORMS$ All $FILES$ None. $SEEALSO$ LOCAL, STATIC, FIELD, PRIVATE, PUBLIC $END$ */