[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
BLOBDIRECTIMPORT()
Import a file into a BLOB file and return a pointer to the data
------------------------------------------------------------------------------
Syntax
BLOBDIRECTIMPORT(<nOldPointer>, <cSourceFile>)
--> nNewPointer
Arguments
<nOldPointer> is a pointer to the BLOB data which will be released
after the import. This pointer can be obtained using BLOBDIRECTPUT(),
BLOBDIRECTIMPORT(), or DBFIELDINFO(DBS_BLOB_POINTER, <nFieldPos>).
Passing zero (0) disables the release of data.
Important! If specified, BLOBDIRECTIMPORT() releases the space
associated with <nOldPointer> for reuse by other data. Therefore, it is
illegal to use <nOldPointer> with any of the BLOB functions after
passing it as an argument to this function. Use the function's return
value to refer to the newly stored data.
<cSourceFile> is the name of the file from which to read the BLOB
data, including an optional drive, directory, and extension. See
SETDEFAULT() and SETPATH() for file searching and creation rules. No
default extension is assumed.
This function attempts to open <cSourceFile> in shared mode. If the
file does not exist, a runtime error is raised. If the file is
successfully opened, the operation proceeds. If access is denied
because another process has exclusive use of the file, for example,
NETERR() is set to true (.T.). Concurrency control:and
BLOBDIRECTIMPORT()
Note: There are no restrictions on the size of <cSourceFile> except
that you must have enough disk space to make the copy.
Returns
BLOBDIRECTIMPORT() returns a numeric pointer to the BLOB image stored in
<cSourceFile>.
Description
BLOBDIRECTIMPORT() provides a mechanism for copying the contents of a
file into a BLOB file. 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.
BLOBDIRECTIMPORT() is used in conjunction with BLOBDIRECTEXPORT() to
transfer data back and forth between external files and BLOB files. You
can use BLOBDIRECTIMPORT() with a variety of file types, including
graphic images, word processor files, and printer fonts. These two
functions are excellent for creating databases for documents, graphics,
sounds, etc.
Important! After importing a file with BLOBDIRECTIMPORT(),
nNewPointer, the return value, is the only way to access the data from
the BLOB file. It is up to you to provide permanent storage for this
reference (see example below).
Note: DBFIELDINFO(DBS_BLOB_TYPE, <nFieldPos>) will return "C"
(string) for any memo field created using BLOBDIRECTIMPORT().
Examples
. This example imports a bitmap (.bmp) file to be part of an
array of startup data. The data, stored in the root area of the BLOB
file, could then be used to display the application's startup screen:
FUNCTION PUTPIX()
LOCAL cBMPFile
LOCAL aSettings
cBMPFile := "logo.bmp"
aSettings := {}
// Customer database where startup parameters
// are stored for convenience
USE Customer NEW VIA "DBFMEMO"
// Get default path settings
AADD(aSettings, STARTPATHS())
// Get default color settings
AADD(aSettings, DEFAULTCOLORS())
// Get company logo for display at startup.
// There is nothing to free because this
// is the first time importing.
nPointer := BLOBDIRECTIMPORT(0, cBMPFile)
AADD(aSettings, nPointer)
// Store the settings in the root area of
// the customer.fpt file
BLOBROOTPUT(aSettings)
Files Library is CLIPPER.LIB.
See Also:
BLOBDIRECTEXP()
BLOBIMPORT()
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson