[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
BLOBROOTPUT()
Store data in the root area of a BLOB file
------------------------------------------------------------------------------
Syntax
BLOBRootPut(<uBLOB>) --> lSuccess
Arguments
<uBLOB> is the data you want to put into the BLOB file's root area.
<uBLOB> can be any CA-Clipper usual data type except code block and
object.
Returns
BLOBROOTPUT() returns true (.T.) if successful; otherwise, it returns
false (.F.).
Description
BLOBROOTPUT() allows the storage of one--and only one--piece of data to
a BLOB file's root area (there is no size limitation on this one piece
of data). After storing the new data, BLOBROOTPUT() releases the space
associated with any data previously stored in the BLOB file's root area.
By default, this function operates on the currently selected work area.
It can be made to operate on an unselected work area by specifying it
within an aliased expression.
Note: Because the root data does not reference a particular record
in the database file, the DBRLOCK() will not protect this root storage
reference. Therefore, if the database file is opened in shared mode,
you should use BLOBROOTLOCK() before calling BLOBROOTPUT().
Examples
. This example uses BLOBROOTPUT() to store system settings to a
BLOB file after modification:
FUNCTION UPDATESETTINGS()
LOCAL aSettings
USE customer NEW SHARED VIA "DBFCDX"
IF BLOBROOTLOCK()
// Get any existing settings
aSettings := BLOBROOTGET()
IF Empty(aSettings)
// This function would populate aSettings
// with default data
aSettings := GETDEFAULTSETTINGS()
ENDIF
// This function would allow the user to
// modify the settings.
IF ModifySettings(aSettings)
// Finally, store the settings
BLOBRootPut(aSettings)
ENDIF
BLOBROOTUNLOCK()
ELSE
aSettings := {}
Alert("Could not obtain a lock on the root;
area")
ENDIF
CLOSE
RETURN aSettings
See Also:
BLOBROOTGET()
BLOBROOTLOCK()
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson