FClose()
FCount()
FCreate()
FErase()
FError()
FieldBlock()
FieldName()
FieldPos()
FieldPut()
| AFields | Fills referenced arrays with database field information |
| Alias | Returns the alias name of a work area |
| BOF | Test for the beggining-of-file condition |
| dbAppend | Appends a new record to a database file |
| dbClearFilter | Clears the current filter condiction in a work area |
| dbCloseAll | Close all open files in all work areas. |
| dbCloseArea | Close a database file in a work area |
| dbCommit | Updates all index and database buffers for a given workarea |
| dbCommitAll | Flushes the memory buffer and performs a hard-disk write |
| dbCreate | Creates an empty database from a array |
| dbDelete | Mark a record for deletion in a database |
| dbEval | Performs a code block operation on the current Database |
| DBF | Alias name of a work area |
| dbFilter | Return the filter expression in a work area |
| dbGoBottom | Moves the record pointer to the bottom of the database |
| dbGoto | Position the record pointer to a specific location |
| dbGoTop | Moves the record pointer to the top of the database |
| dbRecall | Recalls a record previousy marked for deletion |
| dbSeek | Searches for a value based on an active index |
| dbSelectArea | Change to another work area |
| dbSetDriver | Establishes the RDD name for the selected work area |
| dbSetFilter | Establishes a filter condition for a work area |
| dbSkip | Moves the record pointer in the selected work area |
| dbSkipper | Helper function to skip a database |
| dbStruct | Builds a multidimensional array of a database structure |
| dbUseArea | Opens a work area and uses a database file |
| Deleted | Tests the record’s deletion flag |
| EOF | Test for end-of-file condition |
| FCount | Counts the number of fields in an active database |
| FieldDeci | Determines the number of decimal places of a given numeric field |
| FieldGet | Obtains the value of a specified field |
| FieldName | Return the name of a field at a numeric field location |
| FieldPos | Return the ordinal position of a field |
| FieldPut | Set the value of a field variable |
| FieldSize | Determines the size of a given field |
| FieldType | Determines the type of a given field |
| Found | Determine the success of a previous search operation |
| Header | Return the length of a database file header |
| LastRec | Returns the number of records in an active work area or database |
| LUpdate | Yields the date the database was last updated |
| RecCount | Counts the number of records in a database |
| RecNo | Returns the current record number or identity |
| RecSize | Returns the size of a single record in an active database |
| Select | Returns the work area number for a specified alias |
| Used | Checks whether a database is in use in a work area |
Return the ordinal position of a field.
Syntax
FIELDPOS(<cFieldName>) --> nFieldPos
Arguments
<cFieldName> Name of a field.
Returns
<nFieldPos> is ordinal position of the field.
Description
This function return the ordinal position of the specified field <cField> in the current or aliased work areaIf there isn’t field under the name of <cField> or of no database is open in the selected work area, the func- tion will return a 0.
Examples
PROCEDURE Main()
USE test NEW
? test->( FIELDPOS( "ID" ) )
USE
RETURN
Compliance
Clipper
Files
Library is rdd
Seealso
FIELDGET(), FIELDPUT()
Obtains the value of a specified field
Syntax
FIELDGET(<nField>) --> ValueField
Arguments
<nField> Is the numeric field position
Returns
<ValueField> Any expression
Description
This function returns the value of the field at the <nField>th location in the selected or designed work area. If the value in <nField> does not correspond to n avaliable field position in this work area, the function will return a NIL data type.
Examples
PROCEDURE Main()
USE test NEW
? test->( FieldGet( 1 ) )
USE
RETURN
Compliance
Clipper
Files
Library is rdd
Seealso
FIELDPUT()
FIELDPUT()
Set the value of a field variable using the ordinal position of the field in
the database structure
------------------------------------------------------------------------------
Syntax
FIELDPUT(<nField>, <expAssign>) --> ValueAssigned
Arguments
<nField> is the ordinal position of the field in the current
database file.
<expAssign> 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
<nField> 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 <expAssign> to the field
at ordinal position <nField> 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
. This example compares FIELDPUT() to functionally equivalent
code that uses the macro operator to set 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.
See Also: FIELDGET()
->
Alias assignment--binary (Special)
------------------------------------------------------------------------------
Syntax
<idAlias>-><idField>
<idAlias>->(<exp>)
(<nWorkArea>)-><idField>
(<nWorkArea>)->(<exp>)
FIELD-><idVar>
MEMVAR-><idVar>
Operands
<idAlias> is the name of the unselected work area to access and must
refer to a work area with a database file in USE.
<nWorkArea> is the number of the unselected work area to access.
<idField> is the name of a field in the specified work area.
<exp> is an expression of any data type to be executed in the
specified work area. If an expression more complicated than a single
field reference is used as the second operand, the expression must be
enclosed in parentheses ( ).
<idVar> is any valid CA-Clipper identifier. Depending on whether
you specify FIELD or MEMVAR, the identifier will be forced to a database
field or memory variable (public or private) reference.
Description
When used with an <idAlias> as the first operand, the alias operator
(->) accesses field information or evaluates an expression in the
indicated work area. The alias operator implicitly SELECTs the
<idAlias> before evaluating the <idField> or <exp> operand. When the
evaluation is complete, the original work area is SELECTed again. An
alias reference can be in an expression or on a line by itself:
? Customer->Name
Customer->(UpdateTransaction())
Using the alias operator lets you:
. Access information from unselected work areas within
expressions
. Access environmental information from unselected work areas
. Access information from unselected work areas in modes such as
REPORT and LABEL FORMs
. Write more compact code
In addition to allowing expression and field evaluation in unselected
work areas, the alias operator makes an explicit reference to a field or
variable using either the FIELD or the MEMVAR keyword aliases. MEMVAR
forces <idVar> to refer to a memory variable name, and FIELD forces it
to reference a database field. These special alias identifiers allow
you to avoid ambiguity when there are conflicts between field and memory
variable names. Remember that a reference to a variable identifier not
prefaced with an alias defaults to a field if there are both field and
memory variables with the same name. To override this, use the (/V)
option when compiling.
In addition to specifying the alias as an identifier, you can access the
target work area using an expression that returns the work area number
if the expression is enclosed by parentheses. This lets you use work
area numbers as handles, which is useful for passing references to work
areas without using macros, aliases, names, etc.
Examples
. This example accesses database and work area information in an
unselected work area:
USE Customer NEW
USE Invoices NEW
? Customer->CustName // Result: Bill Smith
? Customer->(RECNO()) // Result: 1
? Customer->(FOUND()) // Result: .F.
? Customer->(City + ", " + State + ;
" " + Zip) // Result: ShadowVille,
// CA 90415
. This example uses a user-defined function (MySeek()) as an
operand of the alias operator for a common operation that normally
requires many more statements:
IF Invoices->(MySeek(CustNum))
<process customer>...
ELSE
<process no find>...
ENDIF
RETURN
FUNCTION MySeek( cSearch )
SEEK cSearch
RETURN (FOUND())
Note: This example is just an illustration of the alias operator
with a user-defined function. CA-Clipper's DBSEEK() could be used
instead of MySeek().
. This example explicitly references field and memory variables
with the same name:
USE Customer NEW
MEMVAR->CustName = "Bill Smith" // Create a memvar
// CustName
LOCATE FOR MEMVAR->CustName = FIELD->CustName
. This example uses an expression as a work area handle to
create a work area-independent database operation:
cTable1 := "C:Myfile.dbf"
cTable2 := "D:Myfile.dbf"
USE (cTable1) NEW
hArea1 = SELECT()
USE (cTable2) NEW
hArea2 = SELECT()
DoStuff( hArea1, hArea2 )
FUNCTION DoStuff( hArea1, hArea2 )
LOCAL nCount, nSave
nSave := SELECT()
SELECT (hArea1)
FOR nCount := 1 TO FCOUNT()
FIELDPUT( nCount, ( hArea2 )-> ;
( FIELDGET( nCount )))
NEXT
SELECT (nSave)
RETURN NIL
See Also: FIELD FIELDNAME() FIELDPOS() FIELDGET() SELECT
A nice UDC example; a simple way to copying records from one database into another.
Easy record copying (.pdf )
Fill arrays with the structure of the current database file
AFIELDS([<aFieldNames>],
[<aTypes>],
[<aWidths>],
[<aDecimals>]) --> nFields
Return a specified work area alias
ALIAS([<nWorkArea>]) --> cAlias
Determine when beginning of file is encountered
BOF() --> lBoundary
Add a new record
DBAPPEND() --> NIL
Clear a filter condition
DBCLEARIND() : Close all indexes for the current work area
DBCLEARINDEX() --> NIL
DBCLEARREL() :
Clear active relations
DBCLEARRELATION() --> NIL
Close all occupied workareas
DBCLOSEALL() --> NIL
Close a workarea
DBCLOSEAREA() --> NIL
Flush pending updates
DBCOMMIT() --> NIL
Flush pending updates in all workareas
DBCOMMITALL() --> NIL
Create a database file from a database structure array
DBCREATE(<cDatabase>, <aStruct> [, <cDriver> ] ) --> NIL
Create an Index
DBCREATEINDEX(<cIndexName>, <cKeyExpr>,
[<bKeyExpr>], [<lUnique>]) --> NIL
Mark a record for deletion
DBDELETE() --> NIL
Browse records in a table layout
DBEDIT([<nTop>], [<nLeft>],
[<nBottom>], <nRight>],
[<acColumns>],
[<cUserFunction>],
[<acColumnSayPictures> | <cColumnSayPicture>],
[<acColumnHeaders> | <cColumnHeader>],
[<acHeadingSeparators> | <cHeadingSeparator>],
[<acColumnSeparators> | <cColumnSeparator>],
[<acFootingSeparators> | <cFootingSeparator>],
[<acColumnFootings> | <cColumnFooting>]) --> NIL
Evaluate a code block for each record
DBEVAL(<bBlock>,
[<bForCondition>],
[<bWhileCondition>],
[<nNextRecords>],
[<nRecord>],
[<lRest>]) --> NIL
Return current alias name
DBF() --> cAlias
Return and optionally change information about a field
<nFieldPos>,
[<expNewSetting>]) --> uCurrentSetting
Insert the contents of a field into a file
DBFILEGET(<nFieldPos>, <cTargetFile>, <nMode>)
--> lSuccess
Insert the contents of a file into a field
DBFILEPUT(<nFieldPos>, <cSourceFile>)
--> lSuccess
DBFILTER() :
Return the current filter expression as a character string
DBFILTER() --> cFilter
Move to the last logical record
DBGOBOTTOM() --> NIL
Move to a particular record
DBGOTO(<nRecordNumber>) --> NIL
Move to the first logical record
DBGOTOP() --> NIL
Return and optionally change database file information
DBINFO(<nInfoType>, [<expNewSetting>])
--> uCurrentSetting
DBORDERINFO() : Return and optionally change information about orders and index files
DBORDERINFO(<nInfoType>, [<cIndexFile>],
[<cOrder> | <nPosition>],
[<expNewSetting>]) --> uCurrentSetting
DBRECALL() :
Reinstate a record marked for deletion
DBRECALL() --> NIL
Return and optionally change information about a record
DBRECORDINFO(<nInfoType>,
[<nRecord>],
[<expNewSetting>]) --> uCurrentSetting
Recreate all active indexes for the current work area
DBREINDEX() --> NIL
Return the linking expression of a specified relation
DBRELATION( <nRelation> ) --> cLinkExp
Lock the record at the current or specified identity
DBRLOCK([<xIdentity>]) --> lSuccess
DBRLOCKLIST() Return an array of the current lock list
DBRLOCKLIST() --> aRecordLocks
Return the target workarea number of a relation
DBRSELECT( <nRelation> ) --> nWorkArea
Release all or specified record locks
DBRUNLOCK([<xIdentity>]) --> NIL
Search for a key value
DBSEEK(<expKey>, [<lSoftSeek>]) --> lFound
Change the current workarea
DBSELECTAREA(<nArea> | <cAlias>) --> NIL
Set the default database driver
DBSETDRIVER([<cDriver>]) --> cCurrentDriver
Set a filter condition
DBSETFILTER(<bCondition>, [<cCondition>]) --> NIL
Empty orders from an order bag into the order list
DBSETINDEX(<cOrderBagName>) --> NIL
Set the controlling order
DBSETORDER(<nOrderNum>) --> NIL
Relate two workareas
DBSETRELATION( <nArea> | <cAlias>, <bExpr>, [<cExpr>]) --> NIL
Move relative to the current record
DBSKIP([<nRecords>]) --> NIL
Create an array containing the structure of a database file
DBSTRUCT() --> aStruct
Release all locks for the current work area
DBUNLOCK() --> NIL
Release all locks for all work areas
DBUNLOCKALL() --> NIL
Use a database file in a workarea
DBUSEAREA( [<lNewArea>],
[<cDriver>],
<cName>,
[<xcAlias>],
[<lShared>],
[<lReadonly>]) --> NIL
Return the deleted status of the current record
DELETED() --> lDeleted
Determine when end of file is encountered
EOF() --> lBoundary
Return the number of fields in the current (.dbf) file
FCOUNT() --> nFields
Return a field name from the current (.dbf) file
FIELD/FIELD(<nPosition>) --> cFieldName
FIELDBLOCK() :
Return a set-get code block for a field variable
FIELDBLOCK(<cFieldName>) --> bFieldBlock
Retrieve the value of a field using the ordinal position of the field in the database structure
FIELDGET(<nField>) --> ValueField
Return a field name from the current (.dbf) file
FIELDNAME/FIELD(<nPosition>) --> cFieldName
Return the position of a field in a workarea
FIELDPOS(<cFieldName>) --> nFieldPos
Set the value of a field variable using the ordinal position of the field in the database structure
FIELDPUT(<nField>, <expAssign>) --> ValueAssigned
Return a set-get block for a field in a given workarea
FIELDWBLOCK(<cFieldName>, <nWorkArea>) --> bFieldWBlock
Lock an open and shared database file
Determine if the previous search operation succeeded
FOUND() --> lSuccess
Return the current database file header length
HEADER() --> nBytes
Determine the number of records in the current (.dbf) file
LASTREC() | RECCOUNT()* --> nRecords
Return the last modification date of a (.dbf) file
LUPDATE() --> dModification
Determine the number of records in the current (.dbf) file
RECCOUNT()* | LASTREC() --> nRecords
Return the current record number of a work area
RECNO() --> nRecord
Determine the record length of a database (.dbf) file
RECSIZE() --> nBytes
Lock the current record in the active work area
RLOCK() --> lSuccess
Determine the work area number of a specified alias
SELECT([<cAlias>]) --> nWorkArea
Determine if a database file is in USE
USED() --> lDbfOpen
Hexadecimal file viewer.
This is a experimental project with first intend of point out the power of Harbour and HMG. So, HexView is considerably slow on large files, please be patient.
Download here ( source only ).