Dec 142017
 
Documentation for functions left out of Clipper 5.0's documentation. Also includes Support Bulletin #3.
File CLIP5NOT.ZIP from The Programmer’s Corner in
Category Dbase Source Code
Documentation for functions left out of Clipper 5.0’s documentation. Also includes Support Bulletin #3.
File Name File Size Zip Size Zip Type
MAN500.TXT 10977 2790 deflated
MAN501.TXT 8473 2742 deflated
S50003.TXT 17011 5845 deflated

Download File CLIP5NOT.ZIP Here

Contents of the MAN500.TXT file



DECLARE* Create and initialize private memory variables and arrays
DECLARE*
Create and initialize private memory variables and arrays

Syntax: DECLARE [[:= ], ... ]

Arguments

is the name of a private variable or array to create.
If the is followed by square brackets ([ ]), it is created
as an array. If the is an array, the syntax for
specifying the number of elements for each dimension is either
array[, ,...] or
array[][]... The maximum number of elements per
dimension is 4096.

is the optional assignment of a value to a new
private variable. An for a private variable consists of
the in-line assignment operator (:=) followed by any valid Clipper
expression, including a literal array. If no explicit is
specified, the variable is given an initial value of NIL. In the case
of an array, each element is NIL. Array identifiers, cannot be given
values with an .

A list of variables or arrays can be created and optionally initialized
with one DECLARE statement if each definition is separated by a comma.

Description

DECLARE is a compatibility statement that is a synonym for the PRIVATE
statement. Its general use is not recommended. PRIVATE should be used
in all instances. See PRIVATE for more information.


FIELDBLOCK()
Return a set-get code block for a field variable

Syntax: FIELDBLOCK() --> bFieldBlock

Arguments

is the name of the field the set-get block will refer to.

Returns

FIELDBLOCK() returns a code block the when evaluated sets (assigns) or
gets (retrieves) the value of the given field. If does
not exist in the current work area, FIELDBLOCK() returns NIL.

Description

FIELDBLOCK() is a database function that builds a code block. When
executed with a argument, the code block created by this function
assigns the value of the argument to . When executed
without a argument, the code block retrieves the value of .

Notes

Work Area: The code block returned by FIELDBLOCK() sets
or gets the value of the specified field in whatever work area is
current when the block is run. For example, given work areas 1 and
2, both containing field FName:

SELECT 1
FName:= "Kate"
SELECT 2
FName := "Cindy"

bFName := FIELDBLOCK("FName")

SELECT 1
? EVAL(bFName) // "Kate"
SELECT 2
? EVAL(bFName) // "Cindy"

The function FIELDWBLOCK() provides a set-get block for a field in a
specific work area.

Examples

The following example compares FIELDBLOCK() to a code block created
using the macro operator. Note that using FIELDBLOCK() allows you to
avoid the speed and size overhead of the macro operator:

// Set-Get block defined using macro operator
bSetGet := &( "{ |setVal| IF( setVal == NIL, FName, FName := setVal ) }" )

// Set-Get block defined using FIELDBLOCK()
// bSetGet created here is the functional equivalent of bSetGet above
bSetGet := FIELDBLOCK("FName")

Files: Library is CLIPPER.LIB.
seealso: "FIELDWBLOCK()" "MEMVARBLOCK()"


FIELDGET()
Retrieve the value of a field using the ordinal position of the
field in the database structure

Syntax: FIELDGET() --> valueField

Arguments

is the ordinal position of the field in the record
structure for the current work area.

Returns

FIELDGET() returns the value of the specified field. If does
not correspond to the position of any field in the current database
file, FIELDGET() returns NIL.

Description

FIELDGET() is a database function that retrieves the value of a field
using its position within the database file structure rather than its
field name. Within generic database service functions this allows,
among other things, the retrieval of field values without use of the
macro operator.

Examples

The following example compares FIELDGET() to functionally equivalent
code that uses the macro operator to retrieve the value of a field:

LOCAL nField := 1, FName, FVal
USE Customer NEW
//
// Using macro operator
FName := FIELD( nField ) // Get field name
FVal := &FName // Get field value

// Using FIELDGET()
FVal := FIELDGET( nField ) // Get field value

Files: Library is CLIPPER.LIB.
seealso: "FIELDPUT()"


FIELDPUT() Set the value of a field variable
FIELDPUT()
Set the value of a field variable using the ordinal position of
the field in the database structure

Syntax: FIELDPUT(, ) --> valueAssigned

Arguments

is the ordinal position of the field in the current
database file.

is the value to assign to the given field. The data
type of this expression must match the data type of the designated
field variable.

Returns

FIELDPUT() returns the value assigned to the designated field. If
does not correspond to the position of any field in the
current database file, FIELDPUT() returns NIL.

Description

FIELDPUT() is a database function that assigns to the field
at ordinal position in the current work area. This function
allows you to set the value of a field using its position within the
database file structure rather than its field name. Within generic
database service functions this allows, among other things, the setting
of field values without use of the macro operator.

Examples

The following example compares FIELDPUT() to functionally equivalent
code that uses the macro operator to retrieve the value of a field:

// Using macro operator
FName := FIELD(nField) // Get field name
FIELD->&FName := FVal // Set field value

// Using FIELDPUT()
FIELDPUT(nField, FVal) // Set field value

Files: Library is CLIPPER.LIB.
seealso: "FIELDGET()"


FIELDWBLOCK() Return a set-get block for a field in a given work area
FIELDWBLOCK()
Return a set-get code block for a field in a given work area

Syntax: FIELDWBLOCK(, ) --> bFieldWBlock

Arguments

is the name of the field the set-get block will refer
to specified as a character string.

is the work area number where the field resides
specified as a numeric value.

Returns

FIELDWBLOCK() returns a code block that when evaluated sets (assigns)
or gets (retrieves) the value of in the work area
designated by . If does not exist in the
specified work area, FIELDWBLOCK() returns NIL.

Description

FIELDWBLOCK() is a database function that builds a code block. When
evaluated with the EVAL() function, the code block first selects the
designated . If an argument was passed, the code block then
assigns the value of the argument to . If no argument was
passed, the code block retrieves the value of . The
original work area is then re-selected before the code block returns
control.

Notes

FIELDWBLOCK() is similar to FIELDBLOCK(), the difference
being that FIELDBLOCK() does not incorporate a fixed work area into
the set-get block.

Examples

The following example compares FIELDWBLOCK() to a code block
created using the macro operator. Note that using FIELDWBLOCK()
allows you to avoid the speed and size overhead of the macro
operator:

// Set-Get block for work area 1 defined with macro operator
bSetGet := &( "{ |setVal| IF( setVal == NIL, ;
1->FName, 1->FName := setVal ) }" )

// Set-Get block defined using FIELDWBLOCK()
// bSetGet created here is the functional equivalent of bSetGet above
bSetGet := FIELDWBLOCK("FName", 1)

Another example of FIELDWBLOCK() can be found in TbDemo.prg,
a sample program included with Clipper 5.0. The TBColumn object,
one of which represents each column in a TBrowse object, requires
among its instance variables a block to retrieve the expression to
be displayed. FIELDWBLOCK() is used to create this block. In the
default installation, TbDemo.prg is located in the \CLIPPER5\SOURCE
directory.

Files: Library is CLIPPER.LIB.
seealso: "FIELDBLOCK()" "MEMVARBLOCK()"


MEMVARBLOCK() Return a set-get code block for a given memory variable
MEMVARBLOCK()
Return a set-get code block for a given memory variable

Syntax: MEMVARBLOCK() --> bMemvarBlock

Arguments

is the name of the variable the set-get block will
refer to specified as a character string.

Returns

MEMVARBLOCK() returns a code block that when evaluated sets (assigns)
or gets (retrieves) the value of the given memory variable. If
does not exist, MEMVARBLOCK() returns NIL.

Description

The code block created by MEMVARBLOCK() has two operations depending on
whether an argument is passed to the code block when it is evaluated.
If evaluated with an argument, it assigns the value of the argument to
. If evaluated without an argument, the code block
retrieves the value of .

Notes

MEMVARBLOCK() creates set-get blocks only for variables
whose names are known at runtime. MEMVARBLOCK(), therefore, cannot
be used to create set-get blocks for local or static variables. The
same restriction applies to creating blocks using the macro (&)
operator.

Examples

The following example compares MEMVARBLOCK() to a code block created
using the macro (&) operator. Note that using MEMVARBLOCK() allows you
to avoid the speed and size overhead of the macro operator:

PRIVATE var := "This is a string"
//
// Set-Get block defined using macro operator
bSetGet := &( "{ |setVal| IF( setVal == NIL, var, var := setVal ) }" )

// Set-Get block defined using MEMVARBLOCK()
// bSetGet created here is the functional equivalent of bSetGet above
bSetGet := MEMVARBLOCK("var")

Files: Library is CLIPPER.LIB.
seealso: "FIELDBLOCK()" "FIELDWBLOCK()"



 December 14, 2017  Add comments

Leave a Reply