PROGCOUNT()
Short:
------
PROGCOUNT() Perform a count with a progress box
Returns:
--------
Nil
Syntax:
-------
PROGCOUNT(expCondit,[cMessage],[lPause])
Description:
------------
Pops up a progress bar box with PROGON().
Performs a COUNT on the current DBF using
<expCondit> as the FOR condition. (can be passed as a
codeblock or a string).
[cMessage] is an optional box title for the progress
box
[lPause] if True will pause before removing the box
with PROGOFF()- default is False.
Examples:
---------
use customer
ProgCount("[S]$LNAME")
ProgCount({||"S"$LNAME},"Counting",.t.)
Source:
-------
S_PROG.PRG
See also : PROGDISP(), PROGEVAL(), PROGINDEX(), PROGOFF(), PROGON()
Tag Archives: DBF()*
SP_FULLDIR
FULLDIR()
Short:
------
FULLDIR() Interactively navigate directories
Returns:
--------
<lSelected> => Directory was selected
Syntax:
-------
FULLDIR([lChange],[@cDirName])
Description:
------------
Interactively navigates directories on the current
drive.
Allows reading of a file ( with FILEREAD() ) in a
directory.
If file is DBF, does a DBEDIT browse (watch your
memory..)
[lChange] True - change to selected directory
False - don't change to selected directory
Default is True - change
[@cDirName] Char string passed by reference, will
contain name of selected directory on return.
Examples:
---------
cNewDir := ""
if FULLDIR(.F.,@cNewDir)
SET DEFAULT TO (cNewDir)
?"New directory is:"
?Curdir()
endif
if FULLDIR(.t.)
?"New directory is:"
?Curdir()
endif
Source:
-------
S_FULLD.PRG
SP_FREQANAL
FREQANAL() Short: ------ FREQANAL() Performs a frequency analysis on a DBF Returns: -------- Nothing Syntax: ------- FREQANAL() Description: ------------ Performs a point&shoot frequency analysis on selected fields of the DBF. Allows for tallying of additional numeric fields. New to 3.5 - now allows fields of type C D and N to be added to the frequency string. Additional Summary fields are now named SUM_1, SUM_2...etc in the output results. (previously they retained their original name) Examples: --------- USE (cDbfName) FREQANAL() Source: ------- S_FREQ.PRG
SP_DBSTATS
DBSTATS() Short: ------ DBSTATS() Statistical report on dbf, including sum/avg/min/max/std/var/count Returns: -------- Nothing Syntax: ------- DBSTATS() Description: ------------ This is a point & shoot metafunction which allows the user to get statistical data on a dbf, particularly with numeric fields. Statistics available are: count, sum, average, minimum, maximum, variance and standard deviation. the analysis may also be based on a conditional criteria. Examples: --------- use (cDbfName) DBSTATS() // its a menu driven metafunction Source: ------- S_DBSTAT.PRG
SP_COPYITOUT
COPYITOUT() Short: ------ COPYITOUT() Copies records to a new DBF Returns: -------- nothing Syntax: ------- COPYITOUT() Description: ------------ Copies records to a new DBF, with query and tagging options. Examples: --------- Use (dbf_file) COPYITOUT() Notes: ------- For more control, see COPYFIELDS(). If field selection is not needed, use COPYITOUT(), which is smaller and faster. Source: ------- S_COPY.PRG
SP_COPYFIELDS
COPYFIELDS() Short: ------ COPYFIELDS() Copies selected fields of selected records to new dbf Returns: -------- None Syntax: ------- COPYFIELDS([aFields,[aDescript]]) Description: ------------ This metafunction allows selection of fields, and selection of record criteria (filter) to be copied to a new DBF. [aFields] is an array of valid field names. Default is all fields. Fields not of the current area are not allowed. [aDescript] is an array of field descriptions, which can only be passed if [aFields] is passed, and which must reflect the fields in [aFields] Examples: --------- use (cDbfName) COPYFIELDS() // its a metafunction... Source: ------- S_COPYF.PRG
SP_BLDDBF
BLDDBF()
Short:
------
BLDDBF() Create a DBF from a delimited string or an array
Returns:
--------
<lSuccess> => Success or failure
Syntax:
-------
BLDDBF(cDbfName,acDefinition)
Description:
------------
Creates DBF file named <cDbfName> from delimited
strings in <acDefinition>.
<acDefinition> is either:
1. a Delimited string in the form
"name,type,[size],[decimals]:name,type..."
Fields delimited by colon, field elements delimited by commas
2. an array of delimited strings in
the form "name,type,[size],[decimals]". One field
per array element, field elements delimited by
commas.
Examples:
---------
1. Passing long delimited string
BLDDBF('CUSTOMER','LNAME,C,15:FNAME,;
C,10:AGE,N,2:PROSPECT,L:')
2. Passing array of short delimited strings
aNewdbf := array(4)
aNewdbf[1] :="LNAME,C,15"
aNwdbf[2] :="FNAME,C,10"
aNewdbf[3] :="AGE,N,2"
aNewdbf[4] :="PROSPECT,L"
lSuccess := BLDDBF('CUSTOMER',aNewdbf)
Notes:
-------
BLDDBF() expects an unused area to work in, and will
return .f. if it detects a DBF open in the current area. An
overwrite will not be allowed. BLDDBF() uses Clipper's low level
file functions to create the DBF file. You could also (and
should) use Clipper 5.01's DBCREATE() function. This function is
here mainly for compatibility with previous SuperLibs.
Source:
-------
S_BLDBF.PRG
SP_ARRAY2DBF
ARRAY2DBF()
Short:
------
ARRAY2DBF() Replaces current record with values in an array
Returns:
--------
Nil
Syntax:
-------
ARRAY2DBF(aValues)
Description:
------------
Replaces the values in the current record with the
values in <aValues>. Array order is assumed to be the same as
the ordinal field order.
Examples:
---------
use customer
a := DBF2ARRAY() // store values
for i = 1 to len(a)
@0+i,0 get a[i]
next
read // edit them
if AUPDATED(a) // if they were updated from
// the DBF values
ARRAY2DBF(a) // save them
endif
Source:
-------
S_DBARR.PRG
C5_DBF
DBF()*
Return current alias name
------------------------------------------------------------------------------
Syntax
DBF() --> cAlias
Returns
DBF() returns the alias of the current work area as a character string.
If there is no active database file in the current work area, DBF()
returns a null string ("").
Description
DBF() is a compatibility function that replicates the DBF() function in
dBASE III PLUS. Clipper implements it by invoking the ALIAS()
function without an argument.
DBF() is a compatibility function and, therefore, no longer recommended.
It is superseded entirely by the ALIAS() function.
Files Library is EXTEND.LIB, source file is SOURCE\SAMPLE\DBF.PRG
See Also: ALIAS() USED()
Copy Protection
How I can protect my application against copying?
May be exist many ways. One of theme is using HD serial number.
1. Read volume serial number of hard disk(s) of your customer. ( Apply this procedure while installation, once only one and preferably manually. Of course you can obtain this info by online accessing to system of your customer. )
2. Record this info ( after crypt ) anywhere you like in the customer system: in a .MEM file, a .dbf / dbt, in registry, even directly into your application as a literal constant.
3. Your application will begin to run by reading this recorded data and compare it with actual HD serial number of customer; if match continue working, else …
Here an example to get HD serial number.