OVERVIEW.............Commands Supported
#TRANSLATE...........Specify a user-defined command or translation directive
#XTRANSLATE..........Specify a user-defined command or translation directive
.....................Pop up a listing of the dot prompt command stack
/....................Invoke the turbo-editor
=>...................Display the pre-processed output of a command
@...BOX..............Draw a box on the screen
@...CLEAR............Clear a rectangular region of the screen
@...GET..............Create a GET object and display it on the screen
@...PROMPT...........Paint a menu item and define a message
@...SAY..............Display data at a specified screen/printer location
@...TO...............Draw a single or double line box
ABROWSE..............Browse an array or object
ACCEPT...............Place keyboard input into a memory variable
AEDIT................Edit a multi-dimensional array or object
AEVAL................Evaluate all elements of an array
APPEND...............Import records from a .DBF or ASCII file
APPEND BLANK.........Add a new record to the current database
APPEND IMPORT........Append a record with data from another work area
APPEND SHARED........Append records to a shared database
ASSIST...............Database Assistant
ASTABILIZE...........Automatically stablize a Tbrowse object after each command
AVERAGE..............Average numeric expressions in the current work area
BATCH................Execute all commands in a .DCB batch file
BLANK................Blank out all fields
BROWSE...............Browse the currently selected database
BROWSE DELETE........Delete a Browse configuration in the Browse Dictionary
BROWSE RELATION......Invoke a Tile-Browse with One-to-many relations
BROWSE RESTORE.......Browse a database using a pre-defined Configuration
BROWSE SCAN..........Merge a browse and edit screen display mode
BROWSE TILE..........Browse multiple work areas with tiled browse windows
CALCULATOR...........A "moused", full-function calculator
CANCEL...............Terminate program processing
CASE.................Evaluate expression list for first case which evaluates true
CD...................Change directory
CHR..................Pop-up a pick-list of ASCII characters
CLEAR................Clear the screen and home the cursor
CLEAR GETS...........Release GET objects from the current get list array
CLEAR MEMORY.........Release all public and private variables
CLEAR SCOPE*.........Clear both scope values set by SET SCOPE
CLEAR TYPEAHEAD......Empty the keyboard buffer
CLIPPER..............Compile all changed or specified .PRG files
CLOSE................Close a specified set of files
CODE DELETE..........Delete a Code Table in the Code Dictionary
CODE EDIT............Edit the Code Table Dictionary
COLOR SETUP..........Change the color setup of dCLIP menus
COMMIT...............Perform a solid disk-write for all work areas
CONTINUE.............Resume a pending LOCATE
COPY.................Copy file using the DOS copy command
COPY FILE............Copy file to a new file
COPY STRUCTURE.......Copy the current data file structure to a new data file
COPY STRUCTURE EXTE..Copy field definitions to a new database file
COPY TO..............Export records to a new database or ASCII file
COUNT................Tally records to a variable
CREATE...............Create a new database from a menu
CREATE FROM..........Create a new database from a structure extended file
CREATE STRUCTURE.....Create an empty structure extended (.dbf) file
DATE.................A "moused" calendar for selecting a date
DBEVAL...............Evaluate expression list for all records in current database
DBTCONVERT...........Convert .DBT memo file(s) to .FPT memos
DEFINE | #DEFINE.....Define a manifest constant or display Define List
DELETE...............Mark records for deletion
DELETE FILE..........Remove a file from disk
DELETE TAG...........Remove TAG(s) from a .CDX combined index
DIR..................Display a listing of files from a specified wildcard
DISABLE..............Disable a command set
DISPLAY..............Display records to the console or printer
DISPLAY ARRAY........Display a listing of all elements of a display or object
DISPLAY MEMORY.......Display a listing of all PUBLIC/PRIVATE variables
DISPLAY MEMORY FILE..Display a listing of the contents of a .MEM file
DISPLAY STATUS.......Display the status of the environment and all work areas
DISPLAY STRUCTURE....Display or print the structure of a database file
DLIB.................Create or update a dynamic library
DLL FREE.............Release a Blinker-compatible Dynamic-link Library
DLL LOAD.............Load a Blinker-compatible Dynamic-Link Library
DO...................Execute a procedure or function
DOS..................Invoke a DOS command line
DUMP.................Display or output the contents of any file in ASCII-HEX format
EDIT.................Invoke full-screen editing of the current database
EDIT DELETE..........Delete an Edit configuration in the Edit Dictionary
EDIT FILE............Edit any text file
EDIT MEMO............Edit the contents of a memo field
EDIT PRG.............Edit contents of currently executing program source file
EDIT RESTORE.........Edit a database using a pre-defined Configuration
EDIT TILE............Edit multiple work areas with tiled windows
EDIT VIRTUAL.........Edit the Virtual record
EJECT................Advance the print head to top of form
ENABLE...............Enable a command set
ERASE................Remove a file from the disk
EVENT................Establish event for evaluation after each dot command
EVENT CLEAR..........Clear specified event triggers
EXCLUDE..............Remove an previously loaded .CH file from memory
FIELD DELETE.........Delete a Field Group from the Field Dictionary
FIELD EDIT...........A Database Field Definition editor
FILE DELETE..........Delete a File Group from the File Dictionary
FILE EDIT............A Database File / Work area Definition editor
FILE RESTORE.........Open a set of database files and indexes from a File Group
FILE SAVE............Save all work areas to the File Dictionary
FIND.................Search an index for a specified key value
FOR..................Execute a set of expressions for a range of numbers
GATEWAY..............Pop up a menu of other DOS programs to execute
GO[TO]...............Move the record pointer to a specified record
HELP.................Display help for a specified command or function
HUNT.................Search all Index Tags for the first match of value entered
IF...................Evaluate a list of expressions if a condition is true
IF...GOLINE..........Go to specified line in .DCB file if expression is true
IMPORT CREATE........Create a field replacement map (.DCF) file
IMPORT FROM..........Import data from another work area via a field map
IMPORT LOAD..........Load an Import Map (.DCF) file
INCLUDE DEFAULT......Load Default Clipper .CH set(s)
INCLUDE...CH.........Load a .CH file for use with preprocessor
INCLUDE...OBJ........Load a "compiled" .CH file for use with preprocessor
INDEX FIELDS.........Create index tags for specified set of fields in a database
INDEX...TAG..........Create a new index tag and add it to a .CDX index file
INDEX...TO...........Create a new index file
INKEY................Display the INKEY() and LASTKEY() value of pressed keys
INPUT................Enter the result of keyboard input into a variable
INSERT...............Insert blank or virtual records into current database
JOIN.................Join two databases together
KEY CLEAR............Clear Set-Keys previously loaded from Key Dictionary
KEY DELETE...........Delete a Key Group from the Key Dictionary
KEY DISPLAY..........Display the contents of function keys
KEY EDIT.............Edit the contents of a Key Group in the Key Dictionary
KEY FILE.............Establish the file and alias name for the Key Dictionary
KEY HELP.............Display the status of Keys that are loaded
KEY LOAD.............Load SET KEYS from a Key Group in the Key Dictionary
KEYBOARD.............Load a string of characters into the keyboard buffer
LABEL FORM...........Display labels to the printer or console
LIB LOAD.............Load a dynamic library
LIB UNLOAD...........Unload a dynamic library
LIST.................List records to the console
LOCATE...............Search for a record matching a condition
LOCK.................Lock the current record or file
LOCK EDIT............Maintain the "Lock" definition database
LOG..................Write workarea, memory, and environment status to a log file
MAKEDLIB.............Create a dynamic library from a set of .OBJ files
MAP ADD..............Add a procedure to a Map file
MAP CREATE...........Create a Map file by scanning a set of .OBJ or .PRG files
MAP LOAD.............Load a Map file into memory
MAP UNLOAD...........Unload a Map file from memory
MEMO COPY............Copy a memo field from one database to another
MEMO EXPORT..........Export a memo field to an ascii text file
MEMO IMPORT..........Import an ascii text file to a memo field
MENU EDIT............A Complex Pull-Down-Menu Designer/Builder
MENU RUN.............Execute a menu from the Menu Dictionary
MENU TO..............Execute a light-bar menu for defined PROMPTs
MODIFY COMMAND.......Edit a Program (.PRG) file
MODIFY LABEL.........Edit a Label (.LBL) file
MODIFY REPORT........Edit a Report (.FRM) file
MODIFY STRUCTURE.....Modify the structure of the current database
OBJ LOAD............."Dynamic-link" a Clipper-compiled .OBJ file into memory
OBJ RELEASE..........Release a "dynamic-linked" .OBJ file from memory
PACK.................Remove deleted records from a database file
PRINTER..............Invoke Printer Manager menu or Send Escape codes to Printer
PROC.................Add procedure name to PROC table to skip when debugging
PROC CLEAR...........Clear procedure(s) from PROC table
PROGRAM..............Run an "Interpreted" program in Program Catalog
PROGRAM MAINTENANCE..Maintain the DCPROG.DBF Program Catalog File
PURGE................Remove duplicate records from database based by condition
QEVENT...............Establish Console-Output event to process after each command
QUERY................Invoke a menu-driven Condition builder
QUIT.................Terminate program processing and return to DOS
CODE IMPORT..........Import Code Table(s) from the Import Code Table Dictionary
EDIT IMPORT..........Import Edit(s) from the Import Editing Dictionary
FIELD IMPORT.........Import Field Group(s) from the Import Field Dictionary
FILE IMPORT..........Import File Group(s) from the Import File Dictionary
LOGIN................Log On to system to establish user rights
MENU DELETE..........Delete a menu in the Menu Dictionary
MENU IMPORT..........Import Menu(s) from the Import Menu-Dictionary
BROWSE IMPORT........Import Browse(s) from the Import Browse Dictionary
OVERVIEW
Commands Supported
Description:
The dCLIP command translator supports the full set of
commands that are included in Clipper's STD.CH. This set
of commands is "built-in" so it is not necessary to load
any other *.CH files to use the Clipper or dCLIP built-in
commands.
Only the built-in command set is listed in this documen-
tation. If you wish to use other command sets, then they
must be loaded into the pre-processor array with the
INCLUDE (file) command at the dot-prompt or #INCLUDE=(file)
command in the DCLIP.SYS file.
All Clipper commands that are supported in the exact same
manner as in compiled code are listed for reference only.
For a complete description and usage instructions, refer
to the Clipper manual or guides.
Clipper commands that fall into the category of
"Statements" are not supported by the interpreter. This
type of command includes BEGIN..END SEQUENCE, LOCAL,
STATIC, DO..WHILE, FOR..NEXT, etc.
#TRANSLATE
Specify a user-defined command or translation directive
Syntax:
Arguments:
See the Clipper 5.0 Guides (#translate/#command) for details
on how to create user-defined commands or psuedo-functions.
Description:
#TRANSLATE, TRANSLATE, #COMMAND, or COMMAND is used to
specify a user-defined command or translation directive
that will be added to the DOT-prompt translate array.
See Also:
dc_pretranslate()
#XTRANSLATE
Specify a user-defined command or translation directive
Syntax:
Arguments:
See the Clipper 5.0 Guides (#translate/#command) for details
on how to create user-defined commands or psuedo-functions.
Description:
#XTRANSLATE, XTRANSLATE, #XCOMMAND, or XCOMMAND is used to
specify a user-defined command or translation directive
that will be added to the DOT-prompt translate array.
These commands work exactly like #TRANSLATE, TRANSLATE,
#COMMAND, and COMMAND respectively except that the four-
letter rule does not apply.
See Also:
dc_pretranslate()
.
Pop up a listing of the dot prompt command stack
Syntax:
Arguments:
None
Description:
. will pop-up a pick-list of the last 100 dot-prompt commands.
Use the cursor keys to move through the command stack. The
(enter) key will select the desired position in the stack. The
(.) key will copy the selected command to a new command at the
bottom of the stack.
/
Invoke the turbo-editor
Syntax:
Arguments:
If NO SPACE is entered between the / and the arguments, then
the arguments are treated as a set of commands to compile
and execute. (cCommands) is a set of commands to compile and
run (separated by semi-colons).
If at least ONE SPACE is entered between the / and the
arguments, then the argument is treated as the name of a
file to edit with the Turbo-Editor. (cPrgFile) is the name
of a .PRG file that will be edited, compiled and run.
(cDcbFile) is the name of a .DCB file that will be edited and
run.
If no argument is passed, then the system Turbo-Editor will be
used and the name of the file defined by the SLASH= command in
DCLIP.SYS or DC_SETT('SLASH',(cProgram)) will be edited,
compiled and executed.
Description:
The / command will invoke an automatic EDIT-COMPILE-RUN
process or EDIT-RUN process on either command line
arguments or a specified program file.
Examples:
-- Example 1 --
// Edit-Compile-Run the program file pre-designated by the
// SET SLASH option.
. /
-- Example 2 --
// Edit-Compile-Run a program file named TEST.PRG
. / TEST
-- Example 3 --
// Edit-Compile-Run a set of commands entered at dot-prompt
. /FOR I = 1 TO 10; QOUT(ALIAS(I)); NEXT
-- Example 4 --
// Edit-Run a batch file named TEST.DCB
. / TEST.DCB
See Also:
dc_turbedit()
dc_turbconfig()
SLASH
SET SLASH
=>
Display the pre-processed output of a command
Syntax:
Arguments:
(command) is any internal dCLIP command or any command in a
loaded .CH file.
Description:
=) is used to display the output of the pre-processor for any
command entered at the dot prompt. Use =) when debugging your
own commands or when you wish to see the function(s) returned
from a command.
Examples:
. =) USE
dbCloseArea()
. =) CLEAR
Scroll()
SetPos(0,0)
__KillRead()
Getlist := {}
.
@...BOX
Draw a box on the screen
Syntax:
Arguments:
See Clipper 5.0 Guides
@...CLEAR
Clear a rectangular region of the screen
Syntax:
Arguments:
See Clipper 5.0 Guides
@...GET
Create a GET object and display it on the screen
Syntax:
Arguments:
See Clipper 5.0 Guides
@...PROMPT
Paint a menu item and define a message
Syntax:
Arguments:
See Clipper 5.0 Guides
@...SAY
Display data at a specified screen/printer location
Syntax:
Arguments:
See Clipper 5.0 Guides
Source/Library:
_DCTRAN2
@...TO
Draw a single or double line box
Syntax:
Arguments:
See Clipper 5.0 Guides
ABROWSE
Browse an array or object
Syntax:
Arguments:
(array)/(object) is the name of a private or public array to
browse.
ASYMMETRICAL will browse the array using the columnar-style
browser.
NONSYMMETRICAL will browse the array using the indented-
style browser.
Description:
ABROWSE is a full-screen array/object browser that gives a
full-view of all elements in a multi-dimensional array or
object. A symetrical array may be browsed using a columnar
style browse or any type of array may be browsed using an
indented-style browse.
Indented style browsing displays sub-elements as automatically
indented and the type and value of each element is displayed.
Indented-style browsing allows you to change the type, value, or
length of any element or sub-element. You can grow or shrink
arrays or change elements of any type to an array or arrays to
any other type.
Examples:
. DIR := DIRECTORY('*.PRG')
. ABROWSE DIR
. OBJ := TBROWSEDB()
. ABROWSE OBJ
See Also:
dc_abrowse()
dc_aedit()
AEDIT
ACCEPT
Place keyboard input into a memory variable
Syntax:
Arguments:
See Clipper 5.0 Guides
AEDIT
Edit a multi-dimensional array or object
Syntax:
Arguments:
(array / object) is the name of any multidimensional array
or subarray to browse.
Description:
AEDIT is a full-screen array/object editor that allows
editing of any type of multidimensional array or object.
Examples:
. aDir := directory()
. AEDIT aDir
Source/Library:
_DCDARR.PRG/.OBJ, DCLIP.LIB
See Also:
dc_aedit()
dc_abrowse()
ABROWSE
AEVAL
Evaluate all elements of an array
Syntax:
Arguments:
(array) is the name of the array to evaluate.
(parameter) is an optional parameter used by expressions in
the expression list.
(xpr list) is a list of expressions (separated by commas) to
evaluate for each array element.
START (elem) is the starting element number.
COUNT (elems) is the number of elements to evaluate.
Description:
AEVAL functions identically to the AEVAL() function except the
expressions do not need to be code blocks.
Examples:
. DIR := DIRECTORY()
. AEVAL DIR QOUT(DIR[1],DIR[2]) START 10 COUNT 5
APPEND
Import records from a .DBF or ASCII file
Syntax:
Arguments:
If no arguments are passed, then APPEND will append a blank
record and enter the full-screen editor to modify the
contents of the new record.
If arguments are passed, see the Clipper 5.0 Guides or 5.2
guides for details.
Description:
APPEND works identical to the Clipper APPEND command except a
progress odometer will display the number of records scanned
and the number of records that were actually appended if using
the FROM option.
Notes:
The VIA (rdd) optional clause is available only in the Clipper 5.2
version.
See Also:
dc_appendmode()
APPEND BLANK
Add a new record to the current database
Syntax:
Arguments:
See Clipper 5.0 Guides
See Also:
dc_addrec()
dc_appendmode()
APPEND IMPORT
Append a record with data from another work area
Syntax:
Arguments:
None
Description:
APPEND IMPORT is used to append a blank record and replace data
in the fields with data from another work area based on
field-mapping definitions from a Field Map (.DCF) file that was
previously loaded with the IMPORT LOAD (file) command.
Examples:
. use dcusers // registered users database
. use customer new // customer database
// map customer.dbf fields to dcuser.dbf fields
. import create dcusers from customer to dcusers
. import load dcusers // load dcusers.dcf map file
. select customer
. browse // select a record to import to dcusers.dbf
. select dcusers
. APPEND IMPORT
See Also:
IMPORT LOAD
REPLACE IMPORT
APPEND SHARED
Append records to a shared database
Syntax:
Arguments:
(cFromAlias) is the alias of the database to append from. This
database must already be opened.
Returns:
A Logical value of .TRUE. if records were appended, .FALSE. if the
operation is aborted.
Description:
APPEND SHARED is used to append records from another database
to the current workarea even though the current workarea may
be opened in shared mode.
NOTE: The structure of the databases must match exactly or an
error will occur.
Examples:
USE customer SHARED
COPY TO temp FOR state='NE'
USE temp NEW
SELECT customer
APPEND SHARED FROM temp
See Also:
dc_appshared()
ASSIST
Database Assistant
Syntax:
Description:
ASSIST is a front-end menu system to the database management
features incorporated in the dCLIP system and libraries.
Examples:
. ASSIST
See Also:
dc_assist()
dc_turbo()
START =
ASTABILIZE
Automatically stablize a Tbrowse object after each command
Syntax:
Arguments:
(tbrowse object) is a private or public object created by the
TBROWSEDB() or TBROWSE() function.
CLEAR will clear all autostabilizing events.
Description:
ASTABLIZE will pass an object name to the Stabilize() method of
Tbrowse() after each command. This command is handy working
interactively with Tbrowse() methods and instance variables.
Examples:
. USE CUSTOMER
. OBJ := TBROWSEDB()
. A := TBCOLUMNNEW('NAME',{||NAME})
. B := TBCOLUMNNEW('BALANCE',{||BALANCE})
. OBJ:ADDCOLUMN(A)
. OBJ:ADDCOLUMN(B)
. ASTABILIZE OBJ
. OBJ:DOWN()
. OBJ:RIGHT()
. OBJ:GOBOTTOM()
See Also:
STABILIZE
AVERAGE
Average numeric expressions in the current work area
Syntax:
Arguments:
See Clipper 5.0 Guides
Description:
AVERAGE works identical to the Clipper AVERAGE command except
a progress odometer will display the number of records scanned
and the number of records actually averaged.
See Also:
dc_average()
UTIL
dc_util()
BATCH
Execute all commands in a .DCB batch file
Syntax:
Arguments:
(batch file) is the name of the batch file to execute. If no
extension is given, then .DCB is assumed. If no directory
path is included, then dCLIP will search the current dos
directory followed by the directory established in the dos SET
DCLIP=(directory) environment command.
(param1) - (param5) are arguments which are replaced in the
batch file by %1 - %5 in the same manner as replacement is
accomplished in dos .BAT files.
Description:
BATCH execute all commands in a .DCB batch file in sequential
order. A batch file can include any commands which can be
entered at the dot-prompt and executed by the dCLIP
interpreter. This includes user-defined commands loaded by the
INCLUDE command.
Notes:
dCLIP will automatically execute an AUTOEXEC.DCB batch file
found in the directory containing the dCLIP.EXE program or
the or the directory named by the dos SET DCLIP=(directory)
environment setting.
Examples:
. BATCH OUTPUT MYFILE.PRG PRN
See Also:
dc_batch()
dc_program()
BLANK
Blank out all fields
Syntax:
Arguments:
See the Clipper guides for information on how to use the
FOR, WHILE, NEXT, ALL, REST, and RECORD clauses.
Description:
BLANK is used to blank out all fields in selected records
of the current work area.
Examples:
. BLANK FOR deleted()
. BLANK FOR user_id='GOOFY'
See Also:
dc_blank()
BROWSE
Browse the currently selected database
Syntax:
Arguments:
EDIT will re-paint all previously created Editing Screens
that were created with the EDIT command.
FIELDS (fields) is a list of fields to browse. If no field
list is passed, then all fields will be included in the
browse.
CLEAR will clear any previously configured browse window for
the current work area and create a browse window with the
default configuration using the full screen and all fields.
CLEAR ALL will clear all browse windows for all work areas.
PROTECT will protect data from being modified by the user.
Description:
BROWSE is a multi-windowing database manager that utilizes a
browse-style menu for viewing, printing or editing databases.
BROWSE maintains a multi-dimensional array of information for
all open work areas which is remembered even after the browse
is exited. When the BROWSE command is used again in any work
area which was previsously browsed, the browse configuration
(including field pointers, column configuration, etc.) will
automatically be restored.
BROWSE is a complete DBMS system that supports a set of pop-up
menus for selection of files, viewing options, editing options,
printing options, search options, and utilities.
BROWSE supports importing/exporting, cut and paste and a
built-in support for replaceable database drivers (RDD's).
Databases of different types may be opened in different windows
and macros can be created to easily move data between fields
and records from any database window.
Examples:
. USE CUSTOMER
. BROWSE CUST_NAME, BALANCE
See Also:
dc_browsedb()
BROWSE DELETE
Delete a Browse configuration in the Browse Dictionary
Syntax:
Arguments:
(cConfig) is the Tag Name of the Browse Configuration to
delete. If no argument is passed then a pick-list of all
Browse configurations will be displayed.
Description:
BROWSE DELETE is used to delete a Browse Configuration from
the DCBROWSE.DBF Browse Dictionary file.
Examples:
. BROWSE DELETE mybrowse
Source/Library:
_DCTRAN1.PRG/.OBJ,DCLIP.LIB
See Also:
dc_browdel()
BROWSE RELATION
Invoke a Tile-Browse with One-to-many relations
Syntax:
Arguments:
WINDOW (mode) is an optional argument for defining the method
to display the browse windows being opened for the relational
browsing.
Mode
1 Four windows ( screen split in half vertically and
horizonally )
2 Four windows ( screen split horizontally )
3 Three windows ( screen split horizontally )
4 Two windows ( screen split vertically )
5 Two windows ( screen split horizontally )
6 Six windows ( three across / two down )
If no WINDOW (mode) argument is given, then a set of windows
will automatically be created in a "best-fit" screen config-
uration.
(alias) is the alias name of the primary file.
INTO (into1) is the name of a relational file.
ON (fieldn) is an optional argument to identify the name of a
field common to both databases for establishing the relation-
ship. If no argument is given then the index key of the rela-
tional file will be used as the relational key.
NOTE: If no relation arguments are passed, then the current
database relations will be used.
Description:
BROWSE RELATION provides a One-To-Many browse configuration for
browsing multiple databases with common key fields. The child
windows will display only the records that match the key value
passed by the primary window.
Relational windows will automatically be updated as the record
pointer is moved through the primary window. The TAB key can
be used at any time to select any window and make updates or
configure the view of data.
Examples:
The following example demonstrates how BROWSE RELATION can be
used to open 3 windows into a CUSTOMER, INVOICE, and INVITEMS
database for monitor invoices for selected customers.
The CUSTOMER and INVOICE databases contain a common field
named CUST_NMBR. The INVOICE and INVITEMS databases contain a
common field named INV_NMBR.
To create a relational browse enter the following commands
. USE CUSTOMER
. USE INVOICE NEW
. INDEX ON CUST_NMBR TO INVOICE
. USE INVITEMS NEW
. INDEX ON INV_NMBR TO INVITEMS
. BROWSE RELATION CUSTOMER INTO INVOICE, INVOICE INTO INVITEMS
Alternate method:
. SELECT 3
. USE INVITEMS
. INDEX ON INV_NMBR TO INVITEMS
. SELECT 2
. USE INVOICE
. INDEX ON CUST_NMBR TO INVOICE
. SET RELATION TO INV_NMBR INTO INVITEMS
. SELECT 1
. USE CUSTOMER
. SET RELATION TO CUST_NMBR INTO INVOICE
. BROWSE RELATION
See Also:
dc_browrela()
BROWSE RESTORE
Browse a database using a pre-defined Configuration
Syntax:
Arguments:
(xcFileName) is the name of the configuration file that was
previously created with the "Save Configuration" selection
from the FILE OPTIONS menu of the Browse Screen.
EDIT will re-paint all previously created Editing Screens
that were created with the EDIT command.
Description:
BROWSE RESTORE will browse the currently selected database
using the configuration information in a Browse Configuration
file.
Each browse work area can be configured in window size,
coordinates, field descriptors, column locations, sizes, etc.
After configuring the browse window as desired, a configuration
file can be created by selecting "Save Configuration" from the
FILE OPTIONS menu. A file with the same name as the File Alias
and with the .DBR extension is "automatically" loaded when
opening a browse window for the first time for each work area.
If the configuration file is given any other name, then it must
be loaded with the BROWSE RESTORE command or by selecting
"Restore Configuration" from the FILE OPTIONS menu.
Examples:
. USE CUSTOMER
. BROWSE CUST_NAME, BALANCE
See Also:
BROWSE
dc_browsedb()
BROWSE SCAN
Merge a browse and edit screen display mode
Syntax:
Arguments:
(field) is the name of a reference field to browse on the
left third of the screen.
Description:
BROWSE SCAN is a database browser that allows a full-screen
view of all fields of the current record on the right two-thirds
of the screen while moving through records in a record browser
on the left one-third of the screen. This is a handy method
of viewing data in both full-screen edit mode and and browse
mode at the same time.
Examples:
. USE CUSTOMER
. BROWSE SCAN CUST_NAME
See Also:
dc_browscan()
BROWSE
EDIT
BROWSE TILE
Browse multiple work areas with tiled browse windows
Syntax:
Arguments:
WINDOW (mode) is an optional argument for defining the method
to display the browse windows being opened for the relational
browsing.
Mode
1 Four windows ( screen split in half vertically and
horizonally )
2 Four windows ( screen split horizontally )
3 Three windows ( screen split horizontally )
4 Two windows ( screen split vertically )
5 Two windows ( screen split horizontally )
6 Six windows ( three across / two down )
The CASCADE option can be used when browsing 6 areas or less.
This option will create overlapping windows that use a larger
area of the screen.
If no WINDOW (mode) argument is given, then a set of windows
will automatically be created in a "best-fit" screen config-
uration.
The optional EDIT clause is used to paint an "Editing" window
adjacent to each "Browsing" window. The Editing window is
automatically updated when the record pointer is moved through
the browse screen of the same work area. The ALT-W key will
select the Full-screen editing window when browsing.
(aliases...) is a list of datafile aliases (separated by
commas) to browse. The database files for each alias given
must already be opened. If no (aliases) are listed then all
open databases will be included.
Description:
BROWSE TILE is a handy method of opening multiple browse
windows to easily monitor data from many databases and create
relational browses, cut and paste operations, etc.
Notes:
BROWSE TILE will clear out any current browse
configurations by releasing the browse arrays.
Examples:
. USE ALL LIKE DC*
. BROWSE TILE WINDOW 3
. CLOSE ALL
. USE ALL
. BROWSE TILE CUSTOMER, INVOICE, SALES
See Also:
dc_browtile()
BROWSE
dc_browsedb()
CALCULATOR
A "moused", full-function calculator
Syntax:
Arguments:
None
Description:
CALCULATOR is a full-function "moused" calculator.
Clicking on any area of the calculator box other than active
keys will "drag" the calculator on the screen.
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_popcalc()
CANCEL
Terminate program processing
Syntax:
Arguments:
See Clipper 5.0 Guides
CASE
Evaluate expression list for first case which evaluates true
Syntax:
Arguments:
(case list 1) - (case list n) are expression lists to evaluate.
Expression lists are separated by commas. The value returned
by the last expression in each list is used to determine
whether the case evaluates true. The last expression in each
list must return a logical value to evaluate.
(do list 1) - (do list 2) are expression lists to execute for
the first (case list) expression that evaluates .true.
Description:
CASE is a method of evaluating a series of expressions then
executing another set of expressions for the first case that
evaluates .true.
Examples:
. a = INKEY(0)
. CASE a ) 32 DO PROG1() ; a ( 100 DO PROG2() ;
a = 55 DO PROG3()
See Also:
dc_docase()
CD
Change directory
Syntax:
Arguments:
(directory) - The name of the dos directory to change to.
Description:
CD changes DOS directory in the same manner as CD/CHDIR changes
the directory at the DOS prompt.
Examples:
. CD \DCLIP3\DATA
. CD..
. CD..\OBJECTS
See Also:
dc_chdir()
CHR
Pop-up a pick-list of ASCII characters
Syntax:
Description:
CHR displays a lookup table of all 256 displayable characters
and their CHR() value.
See Also:
dc_chrsel()
CLEAR
Clear the screen and home the cursor
Syntax:
Arguments:
See Clipper 5.0 Guides
CLEAR GETS
Release GET objects from the current get list array
Syntax:
Arguments:
See Clipper 5.0 Guides
CLEAR MEMORY
Release all public and private variables
Syntax:
Arguments:
See Clipper 5.0 Guides
CLEAR SCOPE*
Clear both scope values set by SET SCOPE
Syntax:
Description:
CLEAR SCOPE clears the HIGH and LOW settings placed on the
current database by the SET SCOPE commands.
Examples:
. USE CUSTOMER
. SET SCOPETOP TO NAME = 'G'
. SET SCOPEBOTTOM TO NAME = 'L'
. BROWSE
. CLEAR SCOPE
See Also:
dc_clrscope()
dc_setscope()
CLEAR TYPEAHEAD
Empty the keyboard buffer
Syntax:
Arguments:
See Clipper 5.0 Guides
CLIPPER
Compile all changed or specified .PRG files
Syntax:
Arguments:
( ALL ) - Recompile all .PRG files in PDIR directory even if
they are current.
(file name) - Compile (filename).PRG
(options) - Clipper.exe compiler options
NOTE:
Options are not required if they have been previously been set
by the dot-prompt SET CLIPOPT command or the CLIPOPT=(options)
command in DCLIP.SYS.
Description:
CLIPPER recompiles all .PRG files which have been modified and
releases the corresponding .OBJ files from memory.
Use CLIPPER after editing your source files. CLIPPER checks
the date and time stamp on .PRG files and compares them to the
date and time on any corresponding .OBJ files. If the date
and/or time on a .PRG is later than the corresponding .OBJ, the
object will be released from memory and the .PRG will be
compiled with the /m option.
CLIPPER also automatically calls your editor if a compile error
occurs.
Notes:
To speed up development : EDIT - CLIP - DO
Examples:
. CLIP /l/n
. CLIP ALL
. CLIP MYPROG /l
See Also:
dc_compile()
SET ODIR
CLOSE
Close a specified set of files
Syntax:
Arguments:
See Clipper 5.0 Guides
See Also:
USE
CODE DELETE
Delete a Code Table in the Code Dictionary
Syntax:
Arguments:
(cTable) is the name of the code table in DCCODES.DBF
to delete (up to 8 characters). If no parameter is
passed then a pick-list of available code tables will be
displayed.
Description:
CODE DELETE is used to delete a code table in the DCCODES.DBF
code dictionary file.
Notes:
The DCCODES.DBF file and its indexes will be created by
the DC_CodeOpen() function if it they do not already exist.
Examples:
// Delete code table "POSITION"
CODE EDIT POSITION
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
CODE EDIT
Edit the Code Table Dictionary
Syntax:
Arguments:
(cTable) is the name of the code table in DCCODES.DBF
to load and edit (up to 8 characters). If no parameter is
passed then a pick-list of available code tables will be
displayed.
Description:
CODE EDIT is an editor that is used to maintain the
DCCODES.DBF dictionary file. Code Tables are groups of
records that are loaded into an array pick-list and used in
validations when using the dCLIP Browse and Edit (data-entry)
system. When a "T" validation is used in a field-array,
this pops-up a code table pick-list for the operator to
choose possible values.
For example a code table named "POSITION" can be added to
provide a picklist of available entries for a field of
baseball player positions. They would be entered in a code
table as follows:
1B - First Base
2B - Second Base
3B - Third Base
P - Pitcher
SS - Short Stop
RF - Right Field
LF - Left Field
CF - Center Field
C - Catcher
This table can then be used during editing by simply pressing
the ALT-Y key after selecting the POSITION field in the edit
screen and entering "T" as the Validation type and "POSITION"
as the code table name.
Notes:
The DCCODES.DBF file and its indexes will be created by
the DC_CodeOpen() function if it they do not already exist.
Examples:
-- Example 1 --
// Load a code table from the dictionary and edit it //
CODE EDIT
-- Example 2 --
// Edit code table "POSITION"
CODE EDIT POSITION
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_codeedit()
VALIDATION-T
COLOR SETUP
Change the color setup of dCLIP menus
Syntax:
Arguments:
NONE - If no argument is given then COLOR will pop-up a color
selection chart and return the string value of the color
selected.
SETUP - Invokes the color setup utility.
Description:
COLOR SETUP configures the color of all dCLIP menus and
submenus which use the DCCOLOR color array.
dCLIP checks for the existence of a DCCOLOR.AR file first in
the current directory, then in the SET DCLIP= directory. This
file contains the contents of the DCCOLOR color array. If a
DCCOLOR.AR file does not exist then the default colors are
used, otherwise the color array is loaded from the information
in the DCCOLOR.AR file.
The DCCOLOR.AR file is created or modified by using the COLOR
SETUP command to configure your dCLIP menus.
Examples:
. COLOR SETUP
COMMIT
Perform a solid disk-write for all work areas
Syntax:
Arguments:
See Clipper 5.0 Guides
CONTINUE
Resume a pending LOCATE
Syntax:
Arguments:
See Clipper 5.0 Guides
COPY
Copy file using the DOS copy command
Syntax:
Arguments:
(file parameters) is a set of arguments that would be passed
in the same manner as used by the COPY command of DOS.
Description:
COPY is used to pass arguments to the DOS copy command to copy
files exactly as you would from the dos prompt.
Examples:
. COPY CUSTOMER.DBF CUSTSAVE.DBF /v
. COPY *.* F:\MYFILES
COPY FILE
Copy file to a new file
Syntax:
Arguments:
See Clipper 5.0 Guides
COPY STRUCTURE
Copy the current data file structure to a new data file
Syntax:
Arguments:
(xcDatabase) is the new database to create.
TYPE DBMEMO3 specifies that any memos in the structure will
be dBASE-III type memos. This clause is active only if the
current work area is using the DBFMDX driver.
Description:
COPY STRUCTURE will create a new database with the same
structure as the current work area except that it will contain
no records.
Examples:
. USE CUSTOMER VIA 'DBFMDX'
. COPY STRUCTURE TO NEWCUST DBMEMO3
. USE MAILLIST
. COPY STRUCTURE TO NEWMAIL
COPY STRUCTURE EXTE
Copy field definitions to a new database file
Syntax:
Arguments:
(xcExtendedDatabase) is the extended database to create.
TYPE DBMEMO3 specifies that any memos in the structure will be
dBASE-III type memos. This clause is active only if the
current work area is using the DBFMDX driver.
Description:
COPY STRUCTURE EXTENDED will create a database in which each
record of the new database represents a field in the current
work area.
Examples:
. USE CUSTOMER VIA 'DBFMDX'
. COPY STRUCTURE EXTENDED TO CUSTSTRU DBMEMO3
. USE MAILLIST
. COPY STRUCTURE EXTENDED TO MAILSTRU
See Also:
dc_copystru()
COPY TO
Export records to a new database or ASCII file
Syntax:
Arguments:
See Clipper 5.x Guides
The VIA (rdd) clause is supported only in Clipper 5.2.
Description:
COPY TO works identical to the Clipper COPY TO command except
a progress odometer will display the number of records scanned
and the number of records actually copied.
COUNT
Tally records to a variable
Syntax:
Arguments:
See Clipper 5.0 Guides
Description:
COUNT works identical to the Clipper COUNT command except a
progress odometer will display the number of records scanned
and the number of records actually counted.
See Also:
dc_count()
CREATE
Create a new database from a menu
Syntax:
Arguments:
(xcDatabase) is the name of the new database to create. If you
do not include an extension, then the default extension for the
currently selected database driver will be used.
Description:
CREATE is used to create a new database from a menu in which
the user is prompted for entering field names, types, lengths,
etc.
Examples:
. CREATE MAILLIST
See Also:
dc_create()
dc_modstru()
CREATE FROM
Create a new database from a structure extended file
Syntax:
Arguments:
(xcDatabase) is the name of the database to create.
(xcExtendedDatabase) is the name of a STRUCTURE EXTENDED
database, that was created with COPY STRUCTURE EXTENDED, which
contains the information necessary to create the new database.
VIA (rdd) specifies the name of the replaceable database driver
to use to process the current work area. This option is available
only in Clipper 5.2.
ALIAS (xcAlias) is the name to associate with the work area when
(xcDatabase) is opened. This option is available only in Clipper
5.2.
NEW opens (xcDatabase) in the next available work area making it
it the current work area. If not specified, then the database is
opened in the current work area.
TYPE DBMEMO3 specifies that any memos in the structure will be
dBASE-III type memos. This clause is active only if the
current work area is using the DBFMDX driver from the dBASE-IV
compiler kit.
Description:
CREATE FROM will create a new database from a STRUCTURE
EXTENDED database.
Examples:
USE CUSTOMER VIA 'DBFMDX'
COPY STRUCTURE EXTENDED TO CUSTSTRU TYPE DBMEMO3
SET RDD TO DBFMDX
USE CUSTSTRU
BROWSE
CLOSE
SET RDD TO DBFMDX
CREATE NEWCUST FROM CUSTSTRU TYPE DBMEMO3
See Also:
dc_dbcreate()
CREATE STRUCTURE
Create an empty structure extended (.dbf) file
Syntax:
Arguments:
This is the same as the CREATE command supported by Clipper.
See Clipper 5.0 Guides
DATE
A "moused" calendar for selecting a date
Syntax:
Arguments:
None
Description:
DATE is a "moused" calendar that is a quick date reference.
Clicking on any area of the calendar box other than active
keys or dates will "drag" the calendar on the screen.
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_popdate()
DBEVAL
Evaluate expression list for all records in current database
Syntax:
Arguments:
(Exp list) is a list of expressions, separated by commas to
evaluate for each record.
FOR (lCondition) specifies the conditional set of records to
evaluate.
WHILE (lCondition) specifies the set of records meeting the
condition from the first record in the file until the condition
fails.
NEXT (recs) specifies the number of records to evaluate
starting at the current record.
Description:
DBEVAL is a database command that evaluates a set of
expressions for the current work area that matches a specified
scope or condition. On each iteration DBEVAL evaluates the list
of expressions. All records within the scope or matching the
condition are processed until the end-of-file is reached.
Notes:
DBEVAL functions similarly to the DBEVAL() function except that
the ESCape key is automatically tested after each record to
abort the operation.
Examples:
. USE CUSTOMER
. DBEVAL ;
MEMOWRIT('MEMO'+ALLTRIM(STR(RECNO()))+'.TXT', NOTES ) ;
FOR BALANCE ) 0 .AND. !EMPTY(NOTES)
See Also:
dc_dbeval()
DBTCONVERT
Convert .DBT memo file(s) to .FPT memos
Syntax:
Arguments:
(cFileName) is the name of the .DBT file to convert. If no
parameter is passed, a dialog box will appear with an option
to pick a file from a directory pick-list. If ALL is passed
then all files with the .DBT extension in the DEFAULT directory
will be converted.
Returns:
A logical .TRUE. if the conversion was successful, .FALSE.
otherwise.
Description:
DBTCONVERT is used to convert .DBT style memo files to .FPT
style memo files for compatability with the COMIX, DBFCDX,
SIXCDX, DBFCDXAX drivers or any other FoxPro compatible driver.
Use DBTCONVERT when converting an existing system from the
DBFNTX driver to a FoxPro compatible driver.
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_dbt2fpt()
DEFINE | #DEFINE
Define a manifest constant or display Define List
Syntax:
Arguments:
See the Clipper 5.0 Guides (#define) for details on how
to create manifest constants, manifest symbols or pseudo-
functions.
If no parameters are passed, then a pick-list of all defines
previously loaded with the INCLUDE command and all standard
Clipper defines will be displayed. The (idConstant) and
(resulttext) will both be displayed in the pick-list as a
handy reference.
When at the Dot-Prompt, the ALT-# or ALT-3 key is the Hot-key
for displaying the pick-list and returning the chosen value
into the text-line at the current cursor location.
Description:
#DEFINE or DEFINE is used to specify a user-defined manifest
constant or pseudo-function that will be added to the DOT-
prompt translate array.
Examples:
. DEFINE ESCAPEKEY 27
. DEFINE COLUMN BROWARRAY[SELE(),1,53]
. DEFINE MAX(arg1,arg2) ( IIF(arg1)arg2,arg1,arg2) )
See Also:
dc_predefine()
INCLUDE
dc_preinclude()
DELETE
Mark records for deletion
Syntax:
Arguments:
See Clipper 5.0 Guides
Description:
DELETE works identical to the Clipper DELETE command except a
progress odometer will display the number of records scanned
and the number of records that were actually deleted.
See Also:
dc_delete()
DELETE FILE
Remove a file from disk
Syntax:
Arguments:
See Clipper 5.0 Guides
See Also:
dc_erase()
DELETE TAG
Remove TAG(s) from a .CDX combined index
Syntax:
Arguments:
(tagname) specifies the name of the tag to delete.
OF (combined index 1 - N) specifies which .CDX file (DBFSIX) or
.MDX file (DBFMDX) contains the specified tag. This is used to
eliminate any conflicts between two index files that may each
have a tag of the same name. If an index file name is not
specified, then the open indexes are searched, starting with
the structural (production) index (if one exists).
If the specified tag is the only tag in the index file, then
the index file is deleted.
Description:
DELETE TAG is used to remove an index tag from an open .CDX
file.
Examples:
. USE CUSTOMER VIA 'DBFSIX'
. INDEX ON NAME TAG NAME
. INDEX ON PHONE TAG PHONE
. INDEX ON ZIP TAG ZIP
. DELETE TAG PHONE
See Also:
dc_tagdelete()
DIR
Display a listing of files from a specified wildcard
Syntax:
Arguments:
(xcFileSpec) defines the specification of files to display and
can include standard wildcard (* and ?) characters.
(xcFileSpec) can be specified either as a literal file
specification string or as a character expression enclosed in
parentheses.
NONE - No arguments will display a listing of all database
files that match the currently selected RDD (database driver)
with the date, time, size, number of records, and date of last
update. Only data files which exist in the currently selected
SET DEFAULT TO directory will be listed.
/W - Display directory in a scrollable window.
Description:
DIR is a file command that displays a listing of files from the
specified path in one of two formats depending on whether you
specify the (xcFilespec) argument. If you do not specify a
path, DIR displays a standard listing of database files from
the current or specified directory. The list includes the
database filename, date of last update, and number of records.
Specifying (xcFileSpec) displays a list of all files in the
specified directory. This list, by contrast, includes the
filename, extension, number of bytes, and date of last update.
If no path is specified, DIR displays files from the current
DOS drive and directory unless SET DEFAULT has been used to
specify a new default directory.
DIR is a compatibility command and therefore not recommended.
It is superseded by the DIRECTORY() function which returns an
array of file information from a wildcard pattern. Using this
array, you can display file information to screen.
Notes:
Directory pick lists: To present directory information to the
user, use ADIR() to return one or more arrays of directory
information, and ACHOICE() to present a pick list to the user.
See Also:
dc_dirdata()
dc_dirpick()
DISABLE
Disable a command set
Syntax:
Arguments:
(cCommandSet) is the name of the .CH or .OBJ file as is was
loaded with the INCLUDE...CH or INCLUDE...OBJ command.
Description:
DISABLE is used to deactivate a command set that was previously
loaded with the INCLUDE command or linked into the application
and previously enabled with the ENABLE command.
Examples:
. INCLUDE MYBROWSE // Load MYBROWSE.CH
. USE MYLIST
. BROWSE // Translate BROWSE command to MYBROWSE() function
. SELECT 0
. DISABLE MYBROWSE
. USE BASEBALL
. BROWSE // Translate BROWSE command to DC_BROWSEDB() function
See Also:
ENABLE
INCLUDE
EXCLUDE
DISPLAY
Display records to the console or printer
Syntax:
Arguments:
See Clipper 5.0 Guides
See Also:
LIST
DISPLAY ARRAY
Display a listing of all elements of a display or object
Syntax:
Arguments:
(aArray) is a PRIVATE or PUBLIC multi-dimensional array.
(oObject) is a PRIVATE or PUBLIC object.
TO (cFileName) is the name of a text file to create for storing
the displayed information.
TO PRINT - Outputs the information to the selected printer.
Description:
DISPLAY ARRAY/OBJECT will list the element number, element type
and contents of all elements in a multi-dimension array or
object.
Examples:
. DIR := DIRECTORY( '*.PRG' )
. DISPLAY ARRAY DIR
. DISPLAY ARRAY DIR TO PRGS.TXT
See Also:
dc_disparr()
ABROWSE
dc_abrowse()
DISPLAY MEMORY
Display a listing of all PUBLIC/PRIVATE variables
Syntax:
Arguments:
TO PRINT: The TO PRINT clause routs the output to the printer.
TO (cFileName) will cause the contents of memory to be stored
to a text file named (cFileName).
Description:
DISPLAY MEMORY displays the names of all the current memory
variables, the variable type, and the contents of the variable.
If the variable type is a "C", then the length is also
displayed.
Examples:
. RESTORE FROM MYVARS.MEM
. DISPLAY MEMORY
. DISPLAY MEMORY TO MYVARS.TXT
See Also:
dc_dispmem()
DISPLAY MEMORY FILE
Display a listing of the contents of a .MEM file
Syntax:
Arguments:
ALL - Use this parameter to output ALL *.MEM files to a file
or printer.
(cFileName) - The name of the memory file to display. May be
preceded by drive and/or directory. The .MEM extension is not
necessary.
Description:
DISPLAY MEMORY FILE displays the names of all the memory
variables, the variable type, and the contents of the variable
which have been stored in a memory (.MEM) file. If the
variable type is a "C", then the length is also displayed.
.MEM files are created with the SAVE TO command.
Examples:
. DISPLAY MEMORY FILE MYVARS.MEM
See Also:
dc_dispmem()
DISPLAY STATUS
Display the status of the environment and all work areas
Syntax:
Arguments:
TO PRINT: The TO PRINT clause outputs the displayed information
to the printer.
TO (cFileName) routs the output to the (cFileName) specified.
Description:
DISPLAY STATUS will display the values of all the SETS, work
areas, indexes, tags, keys, relations, dynamic libraries,
function key string values, and "mapped" commands.
Examples:
. RESTORE WORK FROM MYWORK
. DISPLAY STATUS TO MYWORK.TXT
See Also:
dc_status()
DISPLAY STRUCTURE
Display or print the structure of a database file
Syntax:
Arguments:
(TO PRINT) - Routs the displayed output to the printer.
(TO cFile) - Routs the displayed output to a file.
(TO cFile.PRG) -
If the .PRG extension is on the filename, the structure will be
created like this:
{ 'YEAR','C', 4, 0 },;
{ 'MONTH','C', 10, 0 },;
{ 'SALES','N', 10, 2 },;
{ 'EXPENSES','N', 10, 2 }
Description:
DISPLAY STRUCTURE will display or print the structure of the
database in the currently selected work area.
Examples:
. USE CUSTOMER
. DISPLAY STRUCTURE
. DISPLAY STRUCTURE TO CUSTOMER.STR
. DISPLAY STUCTURE TO TEST.PRG
See Also:
dc_dbstru()
DLIB
Create or update a dynamic library
Syntax:
Arguments:
(cDlibName) is a dynamic library file that contains a related
set of Clipper-compiled object files and search tables. This
is usually a complete Clipper application or a set of routines
which may be used by different applications. The file built
will have the extension .DLB and will be created by calling the
DLIB.EXE utility program via the dCLIP gateway system.
(cListFile) is the name of an ASCII text file with a listing of
the .OBJs to include in the dynamic library. The contents of
the (cListFile) will look like this:
MAIN.OBJ
MYFUNCS.OBJ
MYPROCS.OBJ
MYMENUS.OBJ
Description:
DLIB will create a dynamic library from a set
DLL FREE
Release a Blinker-compatible Dynamic-link Library
Syntax:
Arguments:
(cDllName) is the name of the .DLL to release. If the parameter
ALL is passed, then ALL dynamic-link libraries will be
released.
See Also:
dc_dllfree()
DLL LOAD
Load a Blinker-compatible Dynamic-Link Library
Syntax:
Arguments:
(cDllName) is the name of the .DLL to load. If this parameter
is not passed, a dialogue box will be displayed to prompt the
user for a name.
Description:
DLL LOAD is used to load a dynamic-link library (.DLL) that
was previously created by Blinker 4.0 or later.
See Also:
dc_dllload()
DO
Execute a procedure or function
Syntax:
Arguments:
See Clipper 5.0 Guides
Description:
DO will execute any function or procedure.
If the function is in memory, DO will execute the function.
If it is not in memory, the disk will be searched for an
.OBJ file with the same name as the (procedure) and dynamic-
link the object into memory before evaluating the function.
If no .OBJ file can be found, then MAP (*.LST) files that
have been previously loaded will be searched for the name of
the .OBJ file that contains the function. If the function
cannot be found in a loaded MAP file, then an error message
will be displayed.
See Also:
dc_do()
DOS
Invoke a DOS command line
Syntax:
Arguments:
(nMemoryForShell) is the amount of memory to release to DOS.
The default is 0 (all available memory). It is recommended
that you release all memory if you wish to run other large
programs. If you need to invoke a DOS prompt for small
operations such as copying files, reviewing directories,
formatting disks, etc. then (nMemoryForShell) should be about
50 to 60.
Description:
The DOS command will open a DOS SHELL to run other programs
from the DOS prompt.
DOS releases a specified about of memory from the dCLIP memory
image and saves the memory to the disk designated by the SET
SWAP TO (drive) command or by the SWAP=(drive) command in
DCLIP.SYS.
DOS then issues the COMMAND.COM command to DOS to give you a
DOS gateway to run other programs, list directories, etc.
To return to dCLIP, you must type EXIT at the DOS prompt. The
dCLIP memory image will then be restored from the temporary
file. This command will operate much faster if you assign a
RAM DISK drive number as the SWAP=(drive) number in DCLIP.SYS.
Examples:
. DOS
. DOS 50
See Also:
dc_gateway()
SET SWAP
DUMP
Display or output the contents of any file in ASCII-HEX format
Syntax:
Arguments:
(cFileName) - The name of the file to DUMP. May be preceded by
a drive and/or directory and must include any extension.
(cOutFileName) - The name of a file to create or append to with
the contents of the dump.
Description:
DUMP will display, print or append to any ASCII file the
contents of a binary file in HEXIDECIMAL and ASCII.
Examples:
. DUMP CUSTOMER.NTX TO CUSTNTX.TXT
See Also:
dc_dump()
EDIT
Invoke full-screen editing of the current database
Syntax:
Arguments:
CLEAR will clear any previously configured edit window for the
current work area and create an edit window with the default
configuration using the full screen and all fields.
CLEAR ALL will clear all edit windows for all work areas.
FIELDS (fields) is a list of fields to edit. If no field
list is passed, then all fields will be included in the
edit screen.
PROTECT will protect data from being modified by the user.
Description:
EDIT provides editing of all the fields in each record.
Full-screen editing in dCLIP is similar to full screen browsing
except that fields are displayed vertically rather than in
horizontal columns and only the currently selected record is
displayed in any edit window.
EDIT is a complete DBMS system that supports a set of pop-up
menus for selection of files, viewing options, editing options,
printing options, search options, and utilities.
EDIT supports importing/exporting, cut and paste and a
built-in support for replaceable database drivers (RDD's).
Databases of different types may be opened in different windows
and macros can be created to easily move data between fields
and records from any database window.
See Also:
dc_editdb()
EDIT DELETE
Delete an Edit configuration in the Edit Dictionary
Syntax:
Arguments:
(cConfig) is the Tag Name of the Edit Configuration to
delete. If no argument is passed then a pick-list of all
Edit configurations will be displayed.
Description:
EDIT DELETE is used to delete an Edit Configuration from
the DCEDIT.DBF Edit (Data-Entry) Dictionary file.
Examples:
. EDIT DELETE myedit
Source/Library:
_DCTRAN1.PRG/.OBJ,DCLIP.LIB
See Also:
dc_editdel()
EDIT FILE
Edit any text file
Syntax:
Arguments:
(file name) is the name of the ascii text file to edit. You
may precede the name with a drive and/or directory name and you
must include the extension if it exists. If the file does not
already exist it will be created.
If an extension is not used, then the extension .PRG is assumed
and the search directory is assumed to be the directory
established by the SET PDIR command or PDIR=(directory) command
in DCLIP.SYS.
(nLineNumber) will cause the editor to jump to the
(nLineNumber) after it opens the file.
/S will write the contents of the screen (as it was displayed
before invoking the dot-prompt) to a file named DCLIP.SCR.
Description:
EDIT is used edit any ascii text file. EDIT will automatically
shell to your own editor through the dCLIP gateway if you
included an EDIT=(editor) command in your DCLIP.SYS file or set
up the gateway with the DC_EDITSETUP() function, otherwise the
internal dCLIP editor will be used.
Examples:
. SET PDIR TO \MYPROGS
. EDIT MAIN
See Also:
dc_editfile()
dc_gateway()
EDIT MEMO
Edit the contents of a memo field
Syntax:
Arguments:
(cField) is the name of the memo field to edit.
NONE - if no field name is given then the first memo field in
the data file will be edited.
Description:
EDIT MEMO will invoke a text editor for modifying the contents
of any database memo field.
Examples:
. USE DCHELP
. EDIT MEMO ARGS
See Also:
dc_memobase()
EDIT PRG
Edit contents of currently executing program source file
Syntax:
Description:
EDIT PRG is used to edit the source code of the currently
running procedure after invoking the dot-prompt from the
application that is running. EDIT PRG will open the
source-code file and jump to the line of code at the point that
execution was interrupted.
You must first load a Map (.LST) file with the MAP LOAD command
to insure that EDIT PRG will be able to find the source code
file from the name of the running procedure.
Use the EDIT=(editor) command in your DCLIP.SYS file if you
wish to use your own editor.
Examples:
. MAP LOAD MYAPP
. DO MAINMENU
// Press the ALT-D key while running the application to get
// a dot prompt.
: EDIT PRG // edit source code that contains MAINMENU
: (enter) // return to application
See Also:
dc_editprg()
EDIT RESTORE
Edit a database using a pre-defined Configuration
Syntax:
Arguments:
(xcFileName) is the name of the configuration file that was
previously created with the "Save Configuration" selection from
the FILE OPTIONS menu of the Editing Screen.
Description:
EDIT RESTORE will edit the currently selected database using
the configuration information in an Editing Configuration file.
Each editing work area can be configured in window size,
coordinates, field descriptors, column locations, sizes, etc.
After configuring the edit window as desired, a configuration
file can be created by selecting "Save Configuration" from the
FILE OPTIONS menu. A file with the same name as the File Alias
and with the .DBE extension is "automatically" loaded when
opening an editing window for the first time for each work
area. If the configuration file is given any other name, then
it must be loaded with the EDIT RESTORE command or by selecting
"Restore Configuration" from the FILE OPTIONS menu.
Examples:
. USE CUSTOMER
. BROWSE CUST_NAME, BALANCE
See Also:
dc_editdb()
EDIT
EDIT TILE
Edit multiple work areas with tiled windows
Syntax:
Arguments:
WINDOW (mode) is an optional argument for defining the method
to display the editing windows being opened for the relational
editing.
Mode
1 Four windows ( screen split in half vertically and
horizonally )
2 Four windows ( screen split horizontally )
3 Three windows ( screen split horizontally )
4 Two windows ( screen split vertically )
5 Two windows ( screen split horizontally )
6 Six windows ( three across / two down )
If no WINDOW (mode) argument is given, then a set of windows
will automatically be created in a "best-fit" screen
configuration.
(aliases...) is a list of datafile aliases (separated by
commas) to edit. The database files for each alias given must
already be opened. If no (aliases) are listed then all open
databases will be included.
Description:
EDIT TILE is a handy method of opening multiple full-screen
editing windows to easily monitor data from many databases and
create relational editing, cut and paste operations, etc.
Examples:
. USE ALL LIKE DC*
. EDIT TILE WINDOW 3
. CLOSE ALL
. USE ALL
. EDIT TILE CUSTOMER, INVOICE, SALES
Source/Library:
_DCEDIT.PRG/.OBJ
See Also:
dc_edittile()
EDIT
dc_editdb()
EDIT VIRTUAL
Edit the Virtual record
Syntax:
Arguments:
NONE.
Description:
EDIT VIRTUAL pops up a full-screen editor to modify the
contents of the virtual record previously saved by the SAVE
VIRTUAL command.
Examples:
. USE CUSTOMER
. GO 10
. SAVE VIRTUAL
. EDIT VIRTUAL
. GO 20
. REPLACE WITH VIRTUAL
EJECT
Advance the print head to top of form
Syntax:
Arguments:
See Clipper 5.0 Guides
ENABLE
Enable a command set
Syntax:
Arguments:
(cCommandSet) is the name of the .CH or .OBJ file as is was
loaded with the INCLUDE...CH or INCLUDE...OBJ command.
WHEN (lExpression) is an optional expression to evaluate before
scanning a command set. This is an expression that returns a
logical value. Use this option when you want to enable a
command set only under certain conditions. For example, let's
say that you wish to call your own browse function with the
BROWSE command only when a specified file is opened in the
currently selected work area, rather than the dCLIP
dc_browsedb() function. See the example below for how to use
this feature.
Description:
ENABLE is used to activate a command set that was previously
DISABLEd or that has been linked into the application. ENABLE
also allows for enabling a command set only if a certain
condition exists.
Examples:
. INCLUDE MYBROWSE
. ENABLE MYBROWSE WHEN ALIAS() = "MYMAIL"
See Also:
DISABLE
INCLUDE
EXCLUDE
ERASE
Remove a file from the disk
Syntax:
Arguments:
See Clipper 5.0 Guides
See Also:
dc_erase()
EVENT
Establish event for evaluation after each dot command
Syntax:
Arguments:
(expression) is an expression which will be evaluated after
each dot prompt command is entered.
WHEN (lExpression) is an optional parameter which must evaluate
.True. for the event to be processed.
NONE - If no arguments are given then EVENT will display the
status of all current active events with a number to identify
the event.
Description:
EVENT is used to automatically evaluate an expression after
each command is entered at the dot prompt. Use EVENT to
display custom status boxes, automatically stabilize objects,
etc.
Examples:
// Display the current row/column of tbrowse object X
. EVENT EVAL({||DEVPOS(22,2), ;
DEVOUT('Row:'+LTRIM(STR(X:ROWPOS))+ ;
'Col:'+LTRIM(STR(X:COLPOS)))})
. EVENT QOUT(TIME()) // Display the time after each command
. OBJ MYSTATUS PERM // load the object with MYSTATUS()
// function
. EVENT MYSTATUS() WHEN !EMPTY(ALIAS()) // display status
EVENT CLEAR
Clear specified event triggers
Syntax:
Arguments:
(number) is the order of the event in the active event stack.
To determine the number of an event, use the command EVENT with
no arguments to display the event status.
ALL will clear all events.
Description:
EVENT CLEAR will clear any automatically-evaluated expressions
previously activated by the EVENT (procedure) command.
Examples:
. EVENT CLEAR 3
. EVENT CLEAR ALL
See Also:
EVENT
EXCLUDE
Remove an previously loaded .CH file from memory
Syntax:
Arguments:
(cCHfile) is the name of a *.CH file which was previously
loaded with the INCLUDE or #INCLUDE command.
ALL will unload all *.CH files.
Description:
EXCLUDE is used to remove .CH files from memory which were
loaded by the INCLUDE | #INCLUDE command for use with the
preprocessor.
Examples:
// ET.CH contains:
// #define HOME 714-263-1011
// #translate PHONE (num) =) ;
DC_OBJLOAD(DIALOUT) ; DIALOUT(((num)))
. INCLUDE ET
. PHONE HOME
. EXCLUDE ET
See Also:
dc_preexclude()
INCLUDE
FIELD DELETE
Delete a Field Group from the Field Dictionary
Syntax:
Arguments:
(cFieldGroup) is the name of the field group in DCFIELDS.DBF
to delete (up to 8 characters). If no parameter is passed
then a pick-list of available groups will be displayed.
Description:
FIELD DELETE is used to delete a field group from the
DCFIELDS.DBF file dictionary. This command will only delete
the field definition records, not any associated files.
Notes:
The DCFIELDS.DBF database and its associated indexes will
be created by DC_FieldOpen() if they do not already exist.
Examples:
// Delete field group "CUSTOMER"
FIELD DELETE CUSTOMER
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB, DCWORK.CH
FIELD EDIT
A Database Field Definition editor
Syntax:
Arguments:
(cFieldGroup) is the name of the field group in DCFIELDS.DBF
to load and edit (up to 8 characters). If no parameter is
passed then a pick-list of available groups will be displayed.
Description:
FIELD EDIT is an editor that maintains the field definition
of each database including defaults for browsing, editing,
and validations.
Each field group is stored in the DCFIELDS.DBF dictionary file.
Notes:
The DCFIELDS.DBF database and its associated indexes will
be created by DC_FieldOpen() if they do not already exist.
Examples:
-- Example 1 --
// Load a field group from the dictionary and edit it //
FIELD EDIT
-- Example 2 --
// Edit field group "CUSTOMER"
FIELD EDIT CUSTOMER
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB, DCWORK.CH
See Also:
dc_fieldedit()
FILE DELETE
Delete a File Group from the File Dictionary
Syntax:
Arguments:
(cFileGroup) is the name of the file group in DCFILES.DBF
to delete (up to 8 characters). If no parameter is passed
then a pick-list of available groups will be displayed.
Description:
FILE DELETE is used to delete a file group from the
DCFILES.DBF file dictionary. This command will only delete
the file definition records, not any associated files.
Notes:
The DCFILES.DBF database and its associated indexes will
be created by DC_FileOpen() if they do not already exist.
Examples:
// Delete file group "CUSTOMER"
FILE DELETE CUSTOMER
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB, DCWORK.CH
FILE EDIT
A Database File / Work area Definition editor
Syntax:
Arguments:
(cFileGroup) is the name of the file group in DCFILES.DBF
to load and edit (up to 8 characters). If no parameter is
passed then a pick-list of available groups will be displayed.
Description:
FILE EDIT is an editor that maintains the definition of
each database and it's indexes and relations.
Each file group is stored in the DCFILES.DBF dictionary file.
This database has the same structure as *.DCW (Work) files.
A file group contains all the information necessary to
restore work areas for editing and browsing. The data
dictionary contains information for opening databases and
indexes (or creating indexes that do not exist).
Notes:
The DCFILES.DBF database and its associated indexes will
be created by DC_FileOpen() if they do not already exist.
Examples:
-- Example 1 --
// Load a file group from the dictionary and edit it //
FILE EDIT
-- Example 2 --
// Edit file group "CUSTOMER"
FILE EDIT CUSTOMER
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB, DCWORK.CH
See Also:
dc_fileedit()
FILE RESTORE
RESTORE WORK
FILE RESTORE
Open a set of database files and indexes from a File Group
Syntax:
Arguments:
(cFileGroup) is the name of the file group in DCFILES.DBF
to open (up to 8 characters). If no parameter is passed
then a pick-list of available groups will be displayed.
ADDITIVE will open the files without closing any existing
files, otherwise all files will be closed first.
Description:
FILE RESTORE is used to open a set of database and index
files and re-establish database relations based on the
pre-established information stored in a File Group in the
DCFILES.DBF file dictionary.
Notes:
The DCFILES.DBF database and its associated indexes will
be created by DC_FileOpen() if they do not already exist.
Examples:
// Restore file group "CUSTOMER"
FILE RESTORE CUSTOMER ADDITIVE
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_workrestore()
FILE EDIT
FILE SAVE
Save all work areas to the File Dictionary
Syntax:
Arguments:
(cFileGroup) is the name of the file group in DCFILES.DBF
to open (up to 8 characters). If no parameter is passed
then a pick-list of available groups will be displayed.
ADDITIVE will open the files without closing any existing
files, otherwise all files will be closed first.
Description:
FILE SAVE is used to capture all information about current
work areas, including databases, indexes and relations to
the DCFILES.DBF File dictionary for later restoring with
FILE RESTORE.
Examples:
use customer index custname,custnmbr
use invoice new index invoice
select customer
set relation to cust_nmbr into invoice
FILE SAVE CUSTOMER
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_filesave()
FIND
Search an index for a specified key value
Syntax:
Arguments:
(xcSearchString) is part or all of the index key of a record to
search for and can be specified either as a literal string or
as a character expression enclosed in parentheses. If an
expression is specified instead of a literal string, FIND
operates the same as SEEK.
NONE - If no argument is given then FIND will call the
DC_FIND() function to provide a menu-driven utility which will
list all open index keys or tags.
Description:
FIND is a database command that searches an index for the first
key matching the specified character string and positions the
record pointer to the corresponding record. If SOFTSEEK is OFF
and FIND does not find a record, the record pointer is
positioned to LASTREC() + 1, EOF() returns true (.T.), and
FOUND() returns false (.F.). If SOFTSEEK is ON, the record
pointer is positioned to the record with the first key value
greater than the search argument and FOUND() returns false
(.F.). In this case, EOF() only returns true (.T.) if there
are no keys in the index greater than the search argument.
FIND is a compatibility command and therefore not recommended.
Its usage is superseded entirely by the SEEK command.
Examples:
. USE BASEBALL INDEX TEAM
. FIND DODGERS
. USE BASEBALL FOX INDEX BASEBALL.CDX
. FIND
See Also:
dc_find()
HUNT
SEEK
FOR
Execute a set of expressions for a range of numbers
Syntax:
Arguments:
(nVar) is the name to assign to the variable which will be
incremented starting at (nStart) and ending at (nEnd).
(nStep) is the incremental value. The default is 1.
(exp1) - (expN) is a set of expressions to evaluate.
(lCondition) is an expression which must evaluate to .true. to
continue the loop, otherwise the loop will be terminated.
Description:
FOR is used to process a series of expressions within a range
of numbers.
Examples:
. FOR i = 1 TO 100 STEP 5 DO QOUT(i)
. USE BASEBALL
. FOR i = 1 TO 10 DO QOUT(PLAYER),DBSKIP() WHILE !EOF()
See Also:
dc_fornext()
GATEWAY
Pop up a menu of other DOS programs to execute
Syntax:
Arguments:
(cMenuItem) = A,B,C,E,F,G,I,J,K,L,N,O,P,R,T,U,V,W,X,Y,Z,1,2 3
If no parameters are passed,the user is given a friendly
menu in which to select the desired program or to configure
his/her own gateway system for up to 24 different programs.
The DCGATE.DBF files stores the information about the COMMAND,
DIRECTORY, MEMORY NEEDED, SWAP DRIVE, etc. to allow quick
access to other DOS programs.
All the instructions for configuring the gateway are in the
pop-up menu.
IF a (menu letter) is passed, then the selected program as
defined by the (menu letter) will be executed.
Description:
GATEWAY is used to display a menu of user-defined programs
to run via the DOS gateway system. GATEWAY provides for
set-up of up to 24 programs that can be executed by simply
pressing a key after the menu is displayed. This command
is functionally equivalent to the DC_GATEMENU() function.
Notes:
DCGATE.DBF must reside in current path or in the DCLIP
directory.
Examples:
. GATEWAY
. GATEWAY C
See Also:
dc_gatemen
GO[TO]
Move the record pointer to a specified record
Syntax:
Arguments:
See Clipper 5.0 Guides
HELP
Display help for a specified command or function
Syntax:
Arguments:
(cFunction) is an optional value which can be entered as a
subset of the complete command and all commands or functions
which start with the entered (command) string will be
displayed. A listing of all commands and which match the
(cFunction) value will be output to the screen.
NONE - IF no (cFunction) argument is entered then HELP will
enter a menu-driven help-management system which is an open
window into the DCHELP.* database files which contain the help
data. From this menu, you can add new commands or functions,
search, print, edit or view any command or function.
INCLUDE will pop-up a scrollable listing of all commands which
were loaded by the INCLUDE command or the TRANSLATE command.
Description:
HELP will display specified help screens or display a
a database pick-list of help screens from the
DCHELP.DBF/.DBT database.
The dCLIP help system manages help records that can be used
for creating an on-line reference for a Clipper application
or context-specific help screens.
The help system also includes a sub-menu option to write
the contents of the DCHELP.DBF/.DBT database to *.TXT files
for compiling with the Norton Guide or Expert Help compiler.
A file named DCLIPNG.LNK will also be created for linking
the compiled objects.
THE HELP MAINTENANCE SYSTEM
The standard help maintenance system is invoked by calling
the function DC_HELP() or using the command HELP at the dot-
prompt. All records in the help database are displayed in a
browse-style window and are sorted by 1 of 4 sorting options
selectable by the user.
USING THE SYNTAX BUILDER
When the Help system is called from the dCLIP dot-prompt with
the (ALT-H) key or a BUILD-menu option is selected, a screen
will be displayed with each parameter for the user to fill-in
the desired values. This aids the user when building a complex
command or function at the dot-prompt and reduces the
probability of arguments being incorrectly entered. The best
way to use this feature from the dot-prompt is to first enter
the key-word for the command or function desired, then press
the (ALT-H) key or click on (ALT-H). The syntax-builder
screen will appear. After filling in the arguments on the
screen simply press F10 and the command or function will be
passed back to the dot-prompt command-line.
ADDING OR EDITING A HELP RECORD
To append a new record to the help database select (A) from
the EDIT pull-down menu. To edit a record, first find the
desired record with the SEARCH options or the navigation keys,
then press (E) from the EDIT pull-down menu.
CATEGORY
Enter a category for this help screen. This category will be
used later for sorting and for creating a cross-reference for
Norton Guides.
FUNCTION
Enter an abbreviated description of the function of this help
screen. If you are documenting a COMMAND, then this would be
the command name. If you are documenting a library FUNCTION
then this would be the function name. If you are documenting
general help for a manual, then this would be a short title
for your Norton Guides.
TYPE
Enter the type of help for this record. For example, if you
are documenting a function, enter FUNCTION, or if you are
documenting a command, enter COMMAND.
SHORT DESC
Enter a short description of this help record.
SYNTAX
Enter the syntax for this help record. This field usually
applies only to COMMANDS or FUNCTIONS.
ARGUMENTS
This is a memo field which is to be used for documenting the
arguments that are passed to COMMANDS or FUNCTIONS.
DESCRIPTION
This is a memo field which is used to basically describe the
command, function or any other long description for the help
record.
NOTES
This is a memo field which is used to document any special
notes relating to the use of the function or command.
EXAMPLES
This is a memo field which is used to document how to use a
command or function.
RETURNS
This is a memo field which is used to document the value
returned by functions.
FILES
Enter the name of any files which pertain to this command or
function. For example, if you are documenting a function,
enter the name of the source code file and/or library file
that contains the function.
PROCEDURE
This field is used only for context-specific help. This is
the name of a procedure or help code that would be passed to
the DC_HELPF1() function when the F1 key is pressed.
INPUT_VAR
This field is used only for context-specific help. This is
the name of any input variable that would be passed to the
DC_HELPF1() function when the F1 key is pressed.
SCREEN COORDINATES
These fields are used only for context-specific help. These
are the screen-coordinates to use for displaying the
concatenated help memos in a scrollable window by the
DC_HELPF1() function when the F1 key is pressed.
Notes:
The DCHELP.DBF/DCHELP.FPT files must exist in the current
default directory or the DCLIP directory.
Examples:
. HELP
. HELP USE
. HELP DC_GATE
. INCLUDE ET
. HELP INCLUDE
See Also:
dc_help()
HUNT
Search all Index Tags for the first match of value entered
Syntax:
Arguments:
(xValue) is the value to HUNT. This can be a value or an
expression. If entered as an expression ( includes quotes or
parenthesis ) it will be evaluated and converted to the proper
value before performing the seek. If entered as a literal
argument, then a "smart" process in invoked which will
determine the type of argument based on the kind of information
entered.
Description:
HUNT is a method of FINDing a record by searching all open
index files or tags for the value entered. This is the
quickest method of finding information by scanning all the keys
for the first match. The value entered on the command line is
automatically converted to the proper "type" to perform the
seek. For example, if you entered the command HUNT 12.5, only
numeric indexes will be seeked, or if you enter the command
HUNT 01/02/03, only date indexes will be seeked. If you enter
an expression, such as HUNT DATE()-30, then only the indexes
that match the type of the expression entered will be seeked.
Using HUNT and RESUME is the fastest method of finding
information in a large database that uses many index keys. It
is recommended that you build a set of keys for all fields that
you want to include in the HUNT operation. This can be
accomplished easily by using the INDEX FIELDS command to create
a set of tags all at one time.
Notes:
HUNT automatically capitalizes the passed argument, so make
sure that your character type indexes are UPPER() case. When
building index tags with INDEX FIELDS, this is accomplished
automatically.
Examples:
. USE MAILLIST
. INDEX FIELDS LAST, FIRST, COMPANY, MAIL_DATE, SOURCE ;
TO MAILLIST.CDX
. HUNT COMP
. RESUME
. HUNT DATE()
. HUNT LARRY
. HUNT EGGHEAD
Source/Library:
_DCTRAN3
See Also:
RESUME
dc_hunt()
IF
Evaluate a list of expressions if a condition is true
Syntax:
Arguments:
(lCondition) is an expression which is evaluated. If
(lCondition) is .true. then (explist1) is evaluated, otherwise
(explist2) is evaluated.
(exp1) - (expN) are lists of expressions to evaluate.
Description:
IF...ELSE provides a method of executing a list of functions
if a condition is true as a single command line input.
Examples:
. IF EMPTY(CUST_CODE) ;
DO FIELDPUT(FIELDPOS('CUST_CODE'),'USER')
. IF !EMPTY(ALIAS()) DO DBPACK()
See Also:
dc_ifelse()
IF...GOLINE
Go to specified line in .DCB file if expression is true
Syntax:
Arguments:
(lExpression) - A logical condition which must be true for the
branch to occur.
(cLabel) - The name of any label in a batch file which is
preceded by a colon (:).
Description:
IF...GOLINE is used only in *.DCB batch files to branch to
a specified line of code that is preceded by a LABEL.
Notes:
IF...GOLINE is only used when executing a .DCB batch file with
the BATCH command.
Examples:
. BATCH TEST
// Contents of TEST.DCB:
:START
USE CUSTOMER
BROWSE
IF EOF() GOLINE END
EDIT
:END
CLOSE
IMPORT CREATE
Create a field replacement map (.DCF) file
Syntax:
Arguments:
(cMapFile) is the name of the Field Map file to create. If no
extension is given, then .DCF is assumed.
FROM (cImportAlias) designates the alias name of the database
that will be used to import data from.
TO (cTargetAlias) is the alias name of the database that will
be used to import data to.
NOTE: (cImportAlias) and (cTargetAlias) may be the same. This
would accomodate the COPYING of information from one
field to another using the DC_COPY() function within the
same database.
Description:
IMPORT CREATE is used to create a Field Map file (.DCF). A
Field Map is used to establish the rules for importing data
from a database with a different structure than the target
database.
Two windows will pop-up on the screen with instructions for
matching fields. Fields can be matched even though they are
different names, types and/or lengths. Data from character
string fields can be "extracted" by definition of a condition
for extraction, then imported to different fields or
re-formatted into a single field. For example, data in a field
named NAME can be imported into two fields named LAST_NAME and
FIRST_NAME, or a phone number in the format 999-999-9999 can be
re-formatted in the target file as (999)999-9999.
Import map (.DCF) files can be used with the IMPORT FROM
command or REPLACE WITH IMPORT command for importing
transaction files, new names for mail lists, etc., or they can
be loaded into memory and used with the Browse/Full-screen
editing system for "grabbing" selected records from a work area
and appending them to the current work area.
Examples:
// Open Sales.dbf
. USE SALES
// Open Transactions file from Paradox application
. USE TRANSACT NEW VIA 'PDX'
// Create the Transact.dcf Field Map file
. IMPORT CREATE TRANSACT FROM TRANSACT TO SALES
// Import today's transactions from Transact.db to Sales.dbf
. SELECT SALES
. IMPORT FROM TRANSACT MAP TRANSACT FOR DATE = DATE()
See Also:
dc_impmapcreate()
IMPORT FROM
Import data from another work area via a field map
Syntax:
Arguments:
(cAlias) is the alias name of another database to import
records from.
(xcMapFile) is the the name of a Field Map file (.DCF) to use
to determine how information from the (cAlias) database will be
imported to the current database. If no map file is specified
then a menu will pop-up to match fields for importing.
FOR (lCondition) specifies the conditional set of records to
import with the given scope.
WHILE (lCondition) specifies the set of records meeting the
condition from the current record until the condition fails.
NEXT (nRecords) is the number of records to import starting
from the current record.
RECORD (nRecord) the number of a single record to import.
REST specifies the set of records starting from the current
record to the end of the file.
ALL specifies all records in the file meeting the FOR
(condition).
Description:
IMPORT will transfer records from any data file supported by
the RDD's included in dCLIP to the currently selected data
file.
The IMPORT command will allow transfer of data between data
files with different structures. Data from fields of
different TYPES can be transferred with the IMPORT command.
A map file (.DCF) can be specified for determining how the data
fields from the import database will be mapped to the target
(currently selected) database.
Examples:
. IMPORT CREATE MAILLIST
. USE MAILLIST VIA 'DBFFOX'
. SELE 0
. USE NEWLEADS VIA 'DBFNTX'
. SELE MAILLIST
. IMPORT FROM NEWLEADS MAP MAILLIST FOR ZIP_CODE = '9'
See Also:
dc_import()
IMPORT LOAD
Load an Import Map (.DCF) file
Syntax:
Arguments:
(xcMapFile) is the name of a Field Map file (.DCF) to use to
determine how information from the (cAlias) database will be
imported to the current database. This map file is created
with the IMPORT CREATE command or DC_IMPCREATE() function.
Description:
IMPORT LOAD will load an import map file (.DCF) into memory.
An import map file is created by opening a set of parent and
child database files then mapping the fields from one work area
to another work area by using the IMPORT CREATE command.
Examples:
. use dcusers // registered users database
. use customer new // customer database
// map customer.dbf fields to dcuser.dbf fields
. import create dcusers from customer to dcusers
. IMPORT LOAD DCUSERS // load dcusers.dcf map file
. select customer
. browse // select a record to import to dcusers.dbf
. select dcusers
. append import
See Also:
dc_impmapstore()
dc_impmapload()
INCLUDE DEFAULT
Load Default Clipper .CH set(s)
Syntax:
Arguments:
(SetName) is the name of the set to load.
If none is given then all *.CH sets will be loaded.
Description:
INCLUDE DEFAULT is used to load default sets of Clipper
manifest translations into the pre-processor translate
array. These manifest constants can be loaded via the
INCLUDE command but then the appropriate *.CH files must be
available to load. The INCLUDE DEFAULT command includes
these command sets in the .EXEcutable program so they can be
loaded into the runtime arrays by simply entering the
command.
Examples:
-- Example 1 --
. ? K_ESC
Variable does not exist Base[1003]
. INCLUDE DEFAULT INKEY
. ? K_ESC
27
-- Example 2 --
. INCLUDE DEFAULT FILEIO
. nHandle := FOPEN( "DCLIP.SYS", FO_READWRITE )
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_trandefault()
INCLUDE
INCLUDE...CH
Load a .CH file for use with preprocessor
Syntax:
Arguments:
(cCHfile)[.CH] is the name of a file with pre-processor
directives such as #command, #define, #xtranslate, etc. If a
path is not given then the path defined in the SET
INCLUDE=(path) dos environment variable will be searched.
TO (cPrgFile) will "convert" the pre-processor directives to a
.PRG file that can be "compiled" and loaded into memory with
the INCLUDE..OBJ command. The INCLUDE..OBJ command will load a
.OBJ directive file much faster than the INCLUDE..CH command
will load a .CH file.
NO ARGUMENTS will display the current status of command sets
that are currently loaded.
Description:
INCLUDE..CH will load a file which contains #define, #command,
#translate, #xcommand, #xtranslate directives for use with the
dCLIP interactive pre-processor.
INCLUDE..CH..TO will write the output to a .PRG file to be
compiled.
Notes:
The SET INCLUDE dos environment variable will be used to search
for the .CH file if a path is not given.
Examples:
// ET.CH contains:
// #define HOME 714-263-1011
// #translate PHONE (num) =) ;
DC_OBJLOAD(DIALOUT) ; DIALOUT(((num)))
. INCLUDE ET
. PHONE HOME
. EXCLUDE ET
See Also:
dc_preinclude()
INCLUDE DEFAULT
INCLUDE...OBJ
Load a "compiled" .CH file for use with preprocessor
Syntax:
Arguments:
(cOBJfile)[.OBJ] is the name of an object file that was
compiled from a .PRG file created with the INCLUDE..CH..TO
command.
If a path is not given then the directory defined in the SET
ODIR environment variable will be searched.
Description:
INCLUDE..OBJ will load a "compiled" directives file which
contains #define, #command, #translate, #xcommand, #xtranslate
directives for use with the dCLIP interactive pre-processor.
Examples:
// ET.CH contains:
// #define HOME 714-263-1011
// #translate PHONE (num) =) ;
DC_OBJLOAD(DIALOUT) ; DIALOUT(((num)))
. INCLUDE ET TO ET.PRG
. CLIPPER ET
. INCLUDE ET.OBJ
. PHONE HOME
See Also:
INCLUDE
INCLUDE DEFAULT
dc_preinclude()
INDEX FIELDS
Create index tags for specified set of fields in a database
Syntax:
Arguments:
FIELDS (list) is a list of index tag names to create. The tag
name(s) must be the same as the name(s) of valid fields in the
current work area. If no FIELD list is given then tags for ALL
fields will be created.
LENGTH (nLength) is an optional argument only to determine the
maximum length of character type indexes. For example, if you
have a character field of 100 bytes, you most likely will not
want to index on all 100 bytes, but instead on only the first
10 characters. If this argument is not passed, then a default
length of 10 will be used. If the length of any character
field is less than (nLength) then the index length for that
specific tag will be the field length.
(xcIndex) is the name of the Combined Index file to create. If
no extension is given, then if the default extension for
combined indexes supported by the Data driver in use will be
appended.
If no (xcIndex) name is given, then the index will be created
using the same prefix as the open database and with the default
extension for combined indexes supported by the Data driver in
use.
Description:
INDEX FIELDS is used to create an index tag for all fields (up
to 99) in a database. This command is handy when you wish to
have an index for each field in the database and are using the
HUNT..RESUME "smart seeking" feature of dCLIP.
Examples:
. USE MAILLIST VIA 'DBFSIX'
. INDEX FIELDS LAST, COMPANY, SOURCE TO MAILLIST.CDX
. HUNT SCOTT
See Also:
dc_tagallcreate()
INDEX...TAG
Create a new index tag and add it to a .CDX index file
Syntax:
Arguments:
(expKey) is an expression that returns the key value to place
in the index for each record. The expression can be any valid
Clipper expression (including UDF's) with a value whose type is
character, date, logical or numeric.
TAG (cTagname) specifies the name of a new tag for a compound
index (.CDX). The name can be up to 10 characters long with the
same requirements as field names.
OF (xcCombinedIndex) specifies the .CDX (DBFCDX/DBFSIX) or .MDX
(DBFMDX) that the specified tag is to be created in. If
(xCombinedIndex) is not specified, then the new tag is added to
the .CDX/.MDX file with the same name as the table (also known
as a Structural or auto-open .CDX/.MDX). The specified (or
implied) .CDX/.MDX file is created if it does not already
exist.
FOR (lCondition) is an expression that returns a logical value
(.T. or .F.) to determine whether of not a key is included in
the index. Any valid Clipper expression (including UDF's) can
be used.
ASCENDING (default) specifies that the index should be built in
ascending order.
DECENDING specifies that the index should be built in
descending order.
UNIQUE specifies that only unique keys are to be included in
the index.
USECURRENT allows you to leave the current index active while
creating a new index file. This effectively gives you the
ability of creating "subindexes" based on other conditional
indexes. Very handy on networks or large datafiles!
(Supported with DBFSIX driver only).
OPTION (expUDF) is an expression (normally a UDF) that is
evaluated for each record indexed. This allows the program to
display an Index-o-meter without having the UDF embedded in the
index expression. (Supported with DBFSIX driver only).
The expression is first eval'd at the beginning of the index
process, with the record pointer positioned at EOF. The
following eval's take place at record 1, 2, etc. The record
number can be tested within your UDF using RECNO().
STEP (nRecs) is used to specify how often the OPTION expression
will be eval'd. (nRecs) is a numeric value representing the
number of records that will be processed before the OPTION
expression is evaluated. For example:
INDEX ON LNAME TO LNAME OPTION MyFunc() STEP 10
In this example MyFunc() would be called every 10 records. The
default step value is 1.
Description:
INDEX..TAG is similar to INDEX TO except that multiple index
keys (up to 99) can be stored in a single index file called a
"combined index". Combined indexes are supported by the DBFSIX
and DBFMDX database drivers.
Each index key is then referred to by TAG name when specifying
an index key to create, select or delete.
Notes:
The INDEX...TAG command is not available if the database has
not been opened with the DBFSIX RDD. This can be accomplished
in the following ways:
. USE (filename) FOX
or
. SET RDD TO DBFSIX
. USE (filename)
or
. USE (filename) VIA 'DBFSIX'
CAUTION: Do NOT atttempt to create a new index of the same
name as the current index, this includes writing subindex TAGs
to the currently open .CDX file. For example, this must never
happen:
. USE datafile
. SET INDEX TO cdx_file
. SET TAG TO tag1
. INDEX ON field1 TAG newtag OF cdx_file USECURRENT
Since the RDD locks the currently open index file
(cdx_file.cdx), any attempt to create a new tag while using
another tag in the same file causes the system to gag and
choke.
Examples:
. USE CUSTOMER FOX
. INDEX ON CUST_NMBR TAG CUSTNMBR OF CUSTOMER
. INDEX ON CUR_BAL TAG BALANCE FOR CUR_BAL ) 0
. INDEX ON PHONE TAG 714 FOR PHONE='714' ;
USECURRENT OPTION SHOWPROGRESS()
. INDEX ON PHONE TAG 619 FOR PHONE='619' ;
USECURRENT OPTION SHOWPROGRESS()
INDEX...TO
Create a new index file
Syntax:
Arguments:
(expKey) is an expression that returns the key value to place
in the index for each record. The expression can be any valid
Clipper expression (including UDF's) with a value whose type is
character, date, logical or numeric.
TO (cIndexFile) specifies the name of the index to create.
This clause is used to create an a single index. The type of
index created will be determined by the current RDD (data
driver) selected via the SET RDD TO command. For example, if
the RDD is DBFSIX, then the index will be an .IDX style index.
If the RDD is DBFNTX (default driver) then the index will be an
.NTX style index. If no (cIndexFile) name is given then an
index file of the same prefix as the file alias will be
created.
UNIQUE specifies that only unique keys are to be included in
the index.
The following arguments can be used only with the "DBFSIX" RDD:
FOR (expCondition) is an expression that returns a logical
value (.T. or .F.) to determine whether of not a key is
included in the index. Any valid Clipper expression (including
UDF's) can be used.
DECENDING specifies that the index should be built in
descending order.
ASCENDING (default) specifies that the index should be built in
ascending order.
USECURRENT allows you to leave the current index active while
creating a new index file. This effectively gives you the
ability of creating "subindexes" based on other conditional
indexes. Very handy on networks or large datafiles!
OPTION (expUDF) is an expression (normally a UDF) that is
evaluated for each record indexed. This allows the program to
display an Index-o-meter without having the UDF embedded in the
index expression.
The expression is first eval'd at the beginning of the index
process, with the record pointer positioned at EOF. The
following eval's take place at record 1, 2, etc. The record
number can be tested within your UDF using RECNO().
STEP (nRecs) is used to specify how often the OPTION expression
will be eval'd. (nRecs) is a numeric value representing the
number of records that will be processed before the OPTION
expression is evaluated. For example:
INDEX ON LNAME TO LNAME OPTION MyFunc() STEP 10
In this example MyFunc() would be called every 10 records. The
default step value is 1.
Description:
INDEX is a database command that creates a file containing an
index of records in the current database file based on
(expKey). When the index file is used, the database file
records appear in key expression order although the index does
not alter the physical order of records within the database
file. INDEX orders character keys in accordance with the ASCII
value of each character within the string, numeric values in
numeric order, date values chronological order with blank dates
treated as low values, and logical values sorted with true
(.T.) treated as high values. Memo fields cannot be INDEXed.
When INDEX ON is invoked, all open index files in the current
work area are closed and the new index file is created. When
the indexing operation finishes, the new index remains open
becoming the controlling index and the record pointer is
positioned to the first record in the index.
INDEX is similar to SORT but does not make a physical copy of
the database file and is updated each time a new key value is
entered in the current database file. SORT is primarily used
to copy an ordered subset of records to another database file.
Notes:
The FOR / USECURRENT / OPTION clauses are not supported if the
database has not been opened with the DBFSIX RDD. This can be
accomplished in the following ways:
. USE (filename) FOX
or
. SET RDD TO DBFSIX
. USE (filename)
or
. USE (filename) VIA 'DBFSIX'
Examples:
. USE CUSTOMER
. INDEX ON CUST_NMBR TO CUSTNMBR
. INDEX ON NAME TO CUSTNAME
. SET INDEX TO CUSTNAME, CUSTNMBR
INKEY
Display the INKEY() and LASTKEY() value of pressed keys
Syntax:
Description:
INKEY enters a window which displays the value returned by the
Clipper INKEY() and LASTKEY() functions for each key pressed.
This is handy because not all keys are documented in the
Clipper manual and also because some computer operating systems
return different values. The actual value that will be
returned by the computer which is running dCLIP will be
displayed.
Press the ESCAPE key to terminate INKEY.
See Also:
dc_inkey()
INPUT
Enter the result of keyboard input into a variable
Syntax:
Arguments:
See Clipper 5.0 Guides
INSERT
Insert blank or virtual records into current database
Syntax:
Arguments:
(nRecords) is the number of new records to insert.
VIRTUAL option will replace all new records with the value of
the virtual record created by using the SAVE VIRTUAL command.
Description:
INSERT will insert a specified number of blank or virtual
records into the currently selected database starting at the
current record. All records after the current record will be
pushed down and the selected number of records will be inserted
into the database.
Examples:
. INSERT 20
. INSERT VIRTUAL 5
See Also:
dc_insert()
dc_virtsave()
JOIN
Join two databases together
Syntax:
Arguments:
See Clipper 5.0 Guides
See Also:
dc_join()
KEY CLEAR
Clear Set-Keys previously loaded from Key Dictionary
Syntax:
Arguments:
(cKeyGroup) is an 8-character name that defines the key group
to clear. This must be a group that was previously loaded
with the DC_KEYLOAD() function or KEY LOAD command.
If no argument or ALL is passed then all Setkeys() that were
loaded via all calls to KEY LOAD will be restored to their
original value.
Description:
KEY CLEAR is used to clear SetKeys() that were loaded
from the DC_KeyLoad() function or KEY LOAD command. Each
key will be restored to the original value that it contained
before it was loaded with DC_KeyLoad() or KEY LOAD.
Examples:
KEY LOAD MYKEYS
DO SOMETHING
KEY CLEAR ALL
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_keyclear()
KEY LOAD
KEY DELETE
Delete a Key Group from the Key Dictionary
Syntax:
Arguments:
(cKeyGroup) is an 8-character name that defines the key group
to deleteg from the Key Dictionary file.
If no parameter is passed, then a pick-list of Key Groups
(in the Key Dictionary) will be displayed.
Description:
KEY DELETE is used to delete a group of keys from the
Key Dictionary file. The default name of the Key Dictionary
is DCKEY.DBF.
Examples:
KEY DELETE MYKEYS
Source/Library:
_DCKEY.PRG/.OBJ, DCLIP.LIB
See Also:
dc_keydelete()
KEY DISPLAY
Display the contents of function keys
Syntax:
Description:
A four-line display of the function key TITLES will be
displayed starting at the top line of the display. This is a
quick- reference display to be used as a reminder for what you
have loaded into the function keys.
See Also:
dc_keydisp()
KEY EDIT
Edit the contents of a Key Group in the Key Dictionary
Syntax:
Arguments:
(cKeyGroup) is the name of the Key Group contained in the
DCKEY.DBF Key Dictionary file. Each Key Group is defined
by up to 8 characters. If no parameter is passed then a
pick-list of all Key Groups will be displayed.
Description:
KEY EDIT is used to edit a database for loading SET KEYS
with strings, macros, procedure names or code-blocks.
This command allows for loading existing Key Group
definitions for editing, adding a new Key Group definition
or creating a new Key Group definition from items tagged
from the "TEMPLATE" Key Group.
A group of Keys with the Name "TEMPLATE" is stored in
the DCKEY.DBF database. This set of keys is used to
define the Key Names and Inkey() values for all Function
keys (F1 thru Alt-F10), Control (CTRL) keys and Alternate
(ALT) keys.
Notes:
The default Key Dictionary database file is named DCKEY.DBF.
This database file is supplied with dCLIP and must reside in
the current directory path or in the directory designated by
the SET DCLIP=(drive/directory) command in your AUTOEXEC.BAT
file. If the file does not exist, it will be created.
Examples:
. KEY EDIT MYKEYS
. key load MYKEYS
See Also:
KEY LOAD
dc_keyedit()
KEY FILE
Establish the file and alias name for the Key Dictionary
Syntax:
Arguments:
(cKeyFile) is the name that defines the database file to
be used as the Key Dictionary file. The default file name
is DCKEY.DBF and the alias is DCKEY. If the file doesn't
exist it will be created.
(cKeyAlias) is the alias name (up to 8 characters) to use.
If this parameter is not passed, then the alias will be
given the same name as (cKeyFile).
Description:
KEY FILE is used to define the name of the file to use as
the Key Dictionary. If the file does not already exist it
will be created. The default name of the Key Dictionary is
DCKEY.DBF.
Notes:
KEY LOAD in dCLIP version 4.0 and later works slightly
different than previous versions. In earlier versions, there
was only one Key Group for the 40 "Function Keys", ie F1 thru
Alt-F10. The parameter passed to KEY LOAD in previous
versions was the Key file name. Now that KEY LOAD supports
so many new features, it has been designed for use with Key
Groups. To post a file name to use other than the DCKEY.DBF
default database, use this KEY FILE command.
Examples:
KEY FILE C:\MYDATA\MYKEYS.DBF
key load DEFAULT // Load Default keys
DO something
key clear
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_keyfile()
KEY HELP
Display the status of Keys that are loaded
Syntax:
Arguments:
None.
Description:
KEY HELP will display the status of all keys that have been
loaded with KEY LOAD in a scrollable window. This command
will display the name of keys are set to perform SetKey()
functions. If the key was set using KEY LOAD or DC_KEYLOAD(),
then a description of the key action will also be displayed
next to the key name, otherwise the key action will be
displayed as "Function Unknown".
Examples:
key load FUNCTION // Load Function keys
key load MAIN // Load Main keys
KEY HELP
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_keyhelp()
KEY LOAD
Load SET KEYS from a Key Group in the Key Dictionary
Syntax:
Arguments:
(cKeyGroup) is an 8-character name that defines the key group
to load from the Key Dictionary file. If the Key Group does
not exist in the DCKEY.DBF dictionary file, then if an
array file named (cKeyGroup).DCK does exist, it will be
used to load the keys.
Description:
KEY LOAD is used to load function keys and/or SET KEYs with
strings, calls, macros, or procedure names defined by the
information stored in a database.
Notes:
The default function key parameters database file is named
DCKEY.DBF.
This database file is supplied with dCLIP and must reside in
the current directory path or in the directory designated by
the SET DCLIP=(drive/directory) command in your AUTOEXEC.BAT
file. If the file does not exist, it will be created.
Examples:
. KEY EDIT MYKEYS.DBF
. KEY LOAD MYKEYS.DBF
See Also:
KEY EDIT
dc_keyload()
KEYBOARD
Load a string of characters into the keyboard buffer
Syntax:
Arguments:
See Clipper 5.0 Guides
See Also:
dc_putkey()
LABEL FORM
Display labels to the printer or console
Syntax:
Arguments:
See Clipper 5.0 Guides
See Also:
MODIFY LABEL
dc_lblout()
LIB LOAD
Load a dynamic library
Syntax:
Arguments:
(dynamic library name) is a dynamic library file that contains
a related set of Clipper-compiled object files and search
tables. This is usually a complete Clipper application or a set
of routines which may be used by different applications. The
file must have the extension .DLB and must be created using the
DLIB.EXE utility program. The file name may be preceded by a
drive and/or directory name and does not require the .DLB
extension.
Description:
LIB is used to load a dynamic library (.DLB) file into memory.
Only a reference table is actually loaded, so that functions
may be automatically "dynamic-linked" into memory.
Notes:
Once a dynamic library has been loaded, all the procedures and
functions are now available to be run from the dot prompt. The
entire application may be run by issuing the command DO
(procedure).
Dynamic libraries may also be automatically loaded at the
startup of dCLIP by including the command LIB=(dynamic library
name) in the DCLIP.SYS file.
Examples:
. LIB LOAD MYAPP
. DO MAIN
See Also:
dc_libload()
LIB UNLOAD
Unload a dynamic library
Syntax:
Arguments:
(dynamic library name) is a dynamic library file that was
previously loaded with the LIB LOAD command.
Description:
LIB UNLOAD is used to load a dynamic library (.DLB) from
memory.
Examples:
. LIB LOAD MYAPP
. DO MAIN
. LIB UNLOAD MYAPP
See Also:
dc_libunld()
LIB LOAD
LIST
List records to the console
Syntax:
Arguments:
See Clipper 5.0 Guides
LOCATE
Search for a record matching a condition
Syntax:
Arguments:
See Clipper 5.0 Guides
Description:
LOCATE works identical to the Clipper LOCATE command except
an Odometer will display the progress while the workarea is
being searched for the first record that matches the LOCATE
expression.
See Also:
dc_locate()
LOCK
Lock the current record or file
Syntax:
Description:
LOCK is used to invoke a record lock on a shared database
before performing database operations that require a lock.
Most database operations performed at the dot prompt (ie
REPLACE, DELETE, etc.) automatically lock the current record
or file. Use LOCK when performing a miscellaneous function
that generates a "lock required" error.
Examples:
. USE CUSTOMER SHARED
. LOCK FILE
. DELE ALL
. UNLOCK
See Also:
dc_reclock()
dc_filock()
LOCK EDIT
Maintain the "Lock" definition database
Syntax:
Arguments:
None
Description:
LOCK EDIT is used to maintain a database of "Locks"
which are put onto files, menu items, or fields when
designing an application. This database is used as a
reference only and is not needed to establish locks on menu
items or other locks. The database simply provides a handy
picklist to choose a lock to put on an item. The database
assigns names and codes to locks.
Examples:
LOCK EDIT
Source/Library:
_DCUSER.PRG/.OBJ, DCLIP.LIB
See Also:
dc_lockmaint()
LOG
Write workarea, memory, and environment status to a log file
Syntax:
Arguments:
TO (file) is used to rout the output to a specified file name.
If no argument is given, then an input menu will appear
prompting the user for the name of the file.
Description:
LOG is used to take a snapshot of the current environment. LOG
will display the status of all work areas, Private/Public
memvars, SET environment, screen contents, last key hit, etc.
to a file.
Examples:
. LOG TO MYLOG.TXT
See Also:
dc_log()
MAKEDLIB
Create a dynamic library from a set of .OBJ files
Syntax:
Arguments:
(dynamic library name) is a dynamic library file that contains
a related set of Clipper-compiled object files and search
tables. This is usually a complete Clipper application or a set
of routines which may be used by different applications. The
file must have the extension .DLB and must be created using the
DLIB.EXE utility program. The file name may be preceded by a
drive and/or directory name and does not require the .DLB
extension.
(wildcard.OBJ) is the list of .OBJ files to include in the new
dynamic library. If this argument is not given, then all .OBJ
files will be included.
Description:
MAKEDLIB will create a dynamic library from a set of Clipper-
compiled .OBJect files.
Examples:
. MAKEDLIB MYAPP
MAP ADD
Add a procedure to a Map file
Syntax:
Arguments:
(file) is the name of the .LST (map) file to create or append.
(source file) is the name of the .PRG or .OBJ file that
contains the procedure to add to the map file.
(procedure1) - (procedureN) is a list of public
procedure/function names contained in the (source file).
Description:
MAP ADD is used to add a function or procedure list to an
existing or new map file. Use this command after a "can't find
object" error when trying to execute a function or procedure.
MAP ADD will add the mapping information to the specified file
and also the current memory image, so you can try to invoke the
procedure again without the need to reload the map file.
Examples:
// MYMENUS.OBJ contains MAINMENU() function
. DO MAINMENU // causes "can't find object MAINMENU" error
. MAP ADD MYAPPS SOURCE MYMENUS PROC MAINMENU
. DO MAINMENU
See Also:
dc_mapadd()
MAP CREATE
Create a Map file by scanning a set of .OBJ or .PRG files
Syntax:
Arguments:
OBJ specifies that the files to scan are clipper-compiled .OBJ
files.
PRG specifies that the files to scan are clipper source code
.PRG files.
(map file) is the name of the ASCII text file to create.
LIST (list file) specifies the name of an ASCII text file
with a listing of the files to scan. The list file is
constructed as follows:
MAIN.OBJ
MYFUNCS.OBJ
MYPROCS.OBJ
or
MAIN.PRG
MYFUNCS.PRG
MYPROCS.PRG
(wildcard) will define a subset of files in the current
directory to scan. If neither a (list file) or (wildcard)
argument is given, then all .OBJs in the current directory or
directory identified by the SET ODIR command will be scanned,
or all .PRGs in the current directory or directory identified
by the SET PDIR command will be scanned.
Description:
MAP CREATE will scan a specified set of .OBJ files or .PRG
files and create an ASCII text file with a cross-reference
listing of all public functions and procedures contained in the
.OBJ/.PRG files. The Map file created can then be loaded into
memory with the MAP LOAD command to aid the dynamic-link system
in finding an .OBJ to link when resolving an undefined
function.
Examples:
. MAP OBJ MYAPPS LIST MYAPPS
. MAP LOAD MYAPPS
. DO MAIN
. MAP OBJ MYAPP2 MA2*.OBJ
. MAP LOAD MYAPPS2
. DO MAIN2
See Also:
dc_mapcreate()
MAP LOAD
Load a Map file into memory
Syntax:
Arguments:
(file name) is the name of the map file to load. If no
extension is given, then the .LST extension is assumed.
Description:
MAP LOAD will load a .LST map file into memory. A map file is
an ASCII text file with a cross-reference listing of all
functions in a set of .OBJ files. A map file may be created
with the MAP OBJ command or any text editor.
A map file structure looks like this:
MAIN MENUS FILES #main
MYFUNC1 MYFUNC2 MYFUNC3 MYFUNC4 #myfuncs
MYPROC1 MYPROC2 MYPROC3 MYPROC4 #myprocs
Note: at least one space must frame each function name.
Examples:
. MAP OBJ MYAPPS
. MAP LOAD MYAPPS
. DO MAIN
See Also:
dc_mapload()
MAP UNLOAD
Unload a Map file from memory
Syntax:
Arguments:
(map file) is the name of the .LST file to unload.
ALL - unload all map files.
Description:
MAP UNLOAD unloads selected map files from memory that were
previously loaded with the MAP LOAD command.
Examples:
. MAP LOAD MYAPP
. DO MAIN
. MAP UNLOAD ALL
See Also:
MAP LOAD
dc_mapunld()
MEMO COPY
Copy a memo field from one database to another
Syntax:
Arguments:
TO (field) - The name of the memo field in the currently selected
database to copy to.
FROM (field) - The name of the memo field in the import database
to copy from.
REFERENCE (ref) - The name of any other field in the import database
to use as a reference in the browse-screen that is displayed to
choose the memo to copy.
FILE (file) - The name of the file group in DCFILES to use to select
or open a file for importing from.
RECORD (rec) - The record number of the import file containing the
memo to copy.
MODE (mode) - The append mode. A - Append (default), I - Insert,
R - Replace.
INSERT (text) - Optional text to insert at the beginning of the
memo being copied.
APPEND (text) - Optional text to insert at the end of the memo
being copied.
Returns:
A logical .TRUE. if the copy was successful.
Description:
MEMO COPY provides the ability to choose a memo field target
and then pick a memo field from either the same or another
database to insert, append or replace.
See Also:
dc_memocopy()
MEMO EXPORT
Export a memo field to an ascii text file
Syntax:
Arguments:
(cMemoField) is the name of the memo field of the currently
selected work area to export.
(cTextFile) is the name of the text file to export to. If left
blank, then a window will pop up to prompt for the name of the
file.
REPLACE | INSERT are optional parameters to designate how the
export is to be accomplished. REPLACE will replace the current
contents of the text file with the contents of the memo field.
INSERT will insert the contents of the memo field ahead of the
current contents of the text file. If no argument is given,
then the contents of the memo field will be APPENDED to the
current contents of the text file.
Description:
MEMO EXPORT is used to write the contents of any memo field of
the currently selected record of the currently selected work
area to any Ascii text file. The data exported will be
inserted, appended, or replace existing text depending on
command options.
Examples:
. USE DCHELP
. MEMO EXPORT EXAMPLES TO EXAMPLES.PRG
. SKIP
. MEMO EXPORT EXAMPLES TO EXAMPLES.PRG
See Also:
dc_memoout()
MEMO IMPORT
Import an ascii text file to a memo field
Syntax:
Arguments:
(cMemoField) is the name of the memo field of the currently
selected work area to import to.
(cTextFile) is the name of the text file to import. If left
blank, then a window will pop up to prompt for the name of the
file.
REPLACE | INSERT are optional parameters to designate how the
import is to be accomplished. REPLACE will replace the current
contents of the memo field with the contents of the text file.
INSERT will insert the contents of the text file ahead of the
current contents of the memo field. If no argument is given,
then the contents of the text file will be APPENDED to the
current contents of the memo field.
Description:
MEMO IMPORT is used to read the contents of any ascii text file
into any memo field of the currently selected record of the
currently selected work area. Ascii text imported will be
inserted, appended, or replace existing data depending on
command options.
Examples:
. USE DCHELP
. MEMO IMPORT EXAMPLES FROM EX1.PRG
. SKIP
. MEMO IMPORT EXAMPLES FROM EX2.PRG
See Also:
dc_memoin()
MENU EDIT
A Complex Pull-Down-Menu Designer/Builder
Syntax:
Arguments:
(MenuName) is the name of the menu. This is a name of
up to eight (8) digits. If a menu name is passed then
the DCMENU.DBF database will be searched and all menu
items that match the menu name be loaded into an array
for editing. If no name is passed, then a pick-list of
all menus stored in the DCMENU.DBF database will be
displayed. If none is chosen, then it will be assumed
that you wish to create a new menu.
Description:
MENU EDIT is a menu-designer system that will create
complex pull-down menus. Menus are designed by entering
information in a browse-style window that displays menu
items and sub-menus in an easy-to-read "indented"
format. The designed menu can be saved to an array, an
array file, the data-dictionary, or to source-code which
can be compiled and run by your application.
MENU EDIT creates menus that are passed as an array
to the DC_MENUMAIN() function for execution. During the
menu design process, the actual menu can be executed in
a WYSIWIG execution to provide instant feedback that the
menu will function as it has been designed.
MENU EDIT supports all the features of DC_MENUMAIN()
including sub-sub-menus, automatic mouse support,
message boxes, help-codes, accelerator keys, and code-
blocks.
Notes:
The DCMENU.DBF file is the data-dictionary database that
contains all menus. If this file does not exist in your
default directory or path then it will be created.
Examples:
/* -- Edit the Main Menu -- */
MENU EDIT MAINMENU
/* -- Compile the menu -- */
aMenuMain := DC_MenuCompile( DC_MenuLoad("MAINMENU"))
/* -- Run the menu -- */
DC_MenuMain( aMenuMain )
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_menuedit()
dc_menumain()
dc_menurun()
MENU RUN
Execute a menu from the Menu Dictionary
Syntax:
Arguments:
(MenuName) is the name of the menu. This is a name of
up to eight (8) digits. If a menu name is passed then
the DCMENU.DBF database will be searched and all menu
items that match the menu name be loaded into an array
and passed to the menu execution program. If no name is
passed, then a pick-list of all menus stored in the
DCMENU.DBF database will be displayed.
Description:
MENU RUN is used to load and execute a menu from the
menu dictionary file.
Notes:
The DCMENU.DBF file is the data-dictionary database that
contains all menus. If this file does not exist in your
default directory or path then it will be created.
Examples:
/* -- Run the Main Menu -- */
MENU MAINMENU
/* -- Run a menu selected from the picklist -- */
MENU
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_menurun()
MENU TO
Execute a light-bar menu for defined PROMPTs
Syntax:
Arguments:
See Clipper 5.0 Guides
See Also:
dc_menu_to()
MODIFY COMMAND
Edit a Program (.PRG) file
Syntax:
Arguments:
(file name) is the name of the ascii text file to edit. You
may precede the name with a drive and/or directory name and you
must include the extension if it exists. If the file does not
already exist it will be created.
If an extension is not used, then the extension .PRG is assumed
and the search directory is assumed to be the directory
established by the SET PDIR command or PDIR=(directory) command
in DCLIP.SYS.
(nLineNumber) will cause the editor to jump to the
(nLineNumber) after it opens the file.
Description:
MODIFY COMMAND is used edit any ascii text file. This command
will automatically shell to your own editor through the dCLIP
gateway if you included an EDIT=(editor) command in your
DCLIP.SYS file or set up the gateway with the DC_EDITSETUP()
function, otherwise the dCLIP internal editor will be used.
See Also:
EDIT FILE
MODIFY LABEL
Edit a Label (.LBL) file
Syntax:
Arguments:
(cLabelFile) is the name of the label form file to create. If
no extension is given, then the .LBL extension will be used.
If no file path is included then the file will be created in
the directory established by the SET DEFAULT command.
Description:
MODIFY LABEL will invoke an editor for creating or modifying
label form (.LBL) files. Label files are binary files which
contain information about how to print database information on
continous labels. Label form files support label formats of
any number of rows or columns.
The label form editor provides for designing of the label
format by using pick-lists of available fields from primary and
relational databases.
The .LBL file format is the same format supported by
dBASE-III/IV, FoxPro, FoxBase and Clipper.
Notes:
It is recommended that you open the databases you expect to use
when printing the labels with the LABEL FORM command before
using the MODIFY LABEL command. This will insure that a
pick-list of fields will be available to aid in creating the
label form.
Examples:
. USE MAILLIST FOX
. MODIFY LABEL MAILLIST
. SET INDEX TO ZIPCODE
. SET SCOPETOP TO '90000'
. SET SCOPEBOTTOM TO '99999'
. LABEL FORM MAILLIST TO PRINT
See Also:
dc_lblmodify()
LABEL FORM
MODIFY REPORT
Edit a Report (.FRM) file
Syntax:
Arguments:
(cReportFile) is the name of the label form file to create. If
no extension is given, then the .FRM extension will be used.
If no file path is included then the file will be created in
the directory established by the SET DEFAULT command.
Description:
MODIFY REPORT will invoke an editor for creating or modifying
report form (.FRM) files. Report files are binary files which
contain information about how to print database information in
columns. Report files handle grouping, sub-grouping, totals,
and page- formatting.
The report form editor provides for designing of the report
format by using pick-lists of available fields from primary and
relational databases.
The .FRM file format is the same format supported by
dBASE-III/IV, FoxPro, FoxBase and Clipper.
Notes:
It is recommended that you open the databases you expect to use
when printing the report with the REPORT FORM command before
using the MODIFY REPORT command. This will insure that a
pick-list of fields will be available to aid in creating the
label form.
Examples:
. USE MAILLIST
. MODIFY REPORT MAILLIST
. REPORT FORM MAILLIST TO PRINT
See Also:
dc_frmmodify()
REPORT FORM
MODIFY STRUCTURE
Modify the structure of the current database
Syntax:
Arguments:
(cNewFileName) is an optional file name to create. If no
argument is given then the current database will be the target.
If a (cNewFileName) is given, then the new file will be
created from the modified information and the records from the
current file will be appended to the new file.
Description:
MODIFY STRUCTURE provides for modifying the field-structure of
the currently selected database regardless of the RDD
(replaceable data- driver) currently being used for the data
table.
MODIFY STRUCTURE will allow adding, editing, deleting, moving,
resizing, changing data type, or renaming of fields without the
loss of data. All data in the current database will be
restored to the new database.
Notes:
MODIFY STRUCTURE requires that the database first be opened in
EXCLUSIVE mode.
The original file(s) are renamed to BAK_DATA.* before the
modify operation begins. If any problems occur during the
restoration process, simply rename the BAK_DATA.* files to the
original file name(s). If the operation is aborted with the
ESCape key, then the backup file(s) will automatically be
renamed to the original file name(s).
Examples:
. USE MAILLIST VIA 'PDX' EXCLUSIVE
. MODIFY STRUCTURE TO NEWLIST
. USE CUSTOMER EXCLUSIVE
. MODIFY STRUCTURE
See Also:
dc_modstru()
dc_fieldedit()
FIELD EDIT
dc_struupdate()
OBJ LOAD
"Dynamic-link" a Clipper-compiled .OBJ file into memory
Syntax:
Arguments:
(cObjectFile) is the name of the object file to link. This
must be an object code file which was compiled with the 5.01
version of Clipper. There are no restrictions to the manner in
which the source code is written or the compiler options. You
are free to use statics, locals, publics, privates, arrays,
objects, etc. The only restriction is that the final .OBJ file
size may not exceed 64k or may not exceed the following
equation:
MAX OBJ SIZE = DC_OBJMEM()/2 - 4k
The PERMANENT clause is used to prevent the object from being
released from memory by the OBJ RELEASE ALL command or by
automatically being released when memory space is needed for
loading a new object. This is necessary for modules which
must always be in memory. If a map file is loaded with the MAP
LOAD command, then the PERMANENT clause is not necessary,
because released objs will automatically be reloaded when
needed.
Description:
OBJ LOAD is used to load and "dynamically link" a Clipper-
compiled .OBJect file for later execution. For example, if
you have an object module named CUSTEDIT.OBJ, you may run
the CUSTEDIT procedure by simply entering DO CUSTEDIT at the
dot prompt. If however, you have a procedure or function
which is buried in the CUSTEDIT.OBJ file which you wish to
execute, you must first load and link the CUSTEDIT.OBJ
module with the OBJ LOAD command.
The OBJ LOAD command is not necessary if you have previously
loaded a map file (.LST) with the MAP LOAD command.
Examples:
. EDIT MYAPP.PRG // Create MYAPP.PRG
. CLIP MYAPP /w/n // Compile MYAPP.PRG to MYAPP.OBJ
. OBJ MYAPP // Dynamic link MYAPP.OBJ
. DO MAINMENU // Run a procedure in MYAPP.OBJ
See Also:
dc_objload()
OBJ RELEASE
Release a "dynamic-linked" .OBJ file from memory
Syntax:
Arguments:
(object) is the name of an object (.OBJ) file that was
previously linked into memory with the OBJ command or
automatically linked during the execution of an application
from dynamic libraries or loaded map files.
ALL will release all object modules that have a "usage" count
of 1 or were not loaded with the OBJ (object) PERMANENT
command. The "usage" count is automatically incremented and
decremented every time a function or procedure in a module is
called and returned. If an application is suspended by pressing
the ALT-D key, then OBJ RELEASE will not release any procedures
that have a usage count of 2 or higher.
Examples:
. OBJ MYAPPS
. DO MAINMENU
. OBJ RELE ALL
See Also:
OBJ LOAD
dc_objrelease()
dc_objload()
PACK
Remove deleted records from a database file
Syntax:
Arguments:
See Clipper 5.0 Guides
Description:
PACK is used to permanently remove records that are marked
for deletion from the current work area. This command is
pre-processed to call the DC_PACK() function which performs
the pack process differently than the Clipper __dbPack()
function.
1. Displays a progress odometer during the packing process.
2. Optimizes size of memo fields (removes dead space).
3. Creates a backup file.
See Also:
dc_pack()
PRINTER
Invoke Printer Manager menu or Send Escape codes to Printer
Syntax:
Arguments:
SELECT will pop-up a list of printers in the printer database
to choose a printer for future print operations.
CODE will pop-up a list of available pseudo-codes to determine
which codes will be mapped to ESCape sequences.
(cPseudoCodes) is a sequence of pseudo-codes to translate into
Escape sequences to send to the selected printer.
Description:
PRINTER is a printer management system that stores ESCape code
sequences for popular printers and allows the sequences to be
sent to the printer via an easy-to-remember set of
pseudo-codes.
Examples:
. PRINTER CODE // Display pseudo-codes
. PRINTER SELECT // Select a printer-driver
. PRINTER CV // Send ESCape codes for Compressed/8-lines
// per inch
See Also:
dc_printsel()
dc_print()
PROC
Add procedure name to PROC table to skip when debugging
Syntax:
Arguments:
(procedure) is the name of the procedure to bypass.
If no argument is given then PROC will display a listing of all
current procedures in the PROC exclusion table.
Description:
PROC is used to bypass specified procedures when using the
source-level debugger. Any procedure that is compiled with
debugging information (/b compiler option) will automatically
be included in the step operation unless the procedure is added
to the PROC exclusion table with the PROC command.
Examples:
// Don't animate MAINMENU() or PRINTOUT() because these are
// debugged and working ok.
. PROC MAINMENU
. PROC PRINTOUT
See Also:
dc_proc()
PROC CLEAR
Clear procedure(s) from PROC table
Syntax:
Arguments:
(number) is the entry number of the procedure name in the PROC
exclusion table. To determine the entry number for a specific
procedure, use the command PROC with no parameters.
If PROC CLEAR is used with no arguments, then all procedure
names in the table will be cleared.
Description:
PROC CLEAR is used to clear out specified procedure names from
the PROC exclusion table. See PROC for more information.
Examples:
. PROC MAINMENU
. PROC PRINTOUT
. PROC MYHELP
. PROC CLEAR PRINTOUT
See Also:
PROC
dc_proc()
PROGRAM
Run an "Interpreted" program in Program Catalog
Syntax:
Arguments:
(cProgName) is the Tag Name of the program in the DCPROG.DBF
Program Catalog file. If no parameter is passed, then a pick-
list of available programs will be displayed.
(parameter list) is a list of parameters to pass to the program
being interpreted. There should be one element in the array for
each parameter included in the PARAMETERS statement in the
interpreted program. If less parameters are passed than
specified in the PARAMETERS statement, the unpassed parameters
will be initialized to NIL.
Returns:
The value returned by the RETURN (xValue) statement in the
intrepreted program. If no RETURN value is entered into the
program, then a NIL is returned.
Description:
PROGRAM is used to load a program from the DCPROG.DBF
program catalog database and execute the program using the
dCLIP interpreter. Interpreted programs may contain any
command that can be intrepreted at the dot-prompt plus the
same type of structural elements as standard Clipper
programs such as DO..WHILE and FOR..NEXT loops, IF..ELSE,
DO..CASE statements, PARAMETERS statement and RETURN value.
Examples:
-- Example 1 --
/* Program stored in 'TEST' record of DCPROG.DBF :
PARAMETERS a,b,c,d
CLS
USE CUSTOMER
nReceivables := 0
DO WHILE !EOF()
? 'Record',RecNo()
?? FieldGet(a)
?? FieldGet(b)
?? FieldGet(c)
?? FieldGet(d)
IF !EMPTY(phone1)
?? phone1
ELSEIF !EMPTY(phone2)
?? phone2
ENDIF
nReceivables += balance
ENDDO
RETURN nReceivables
*/
PROGRAM TEST WITH 3,5,9,10
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_program()
PROGRAM MAINT
PROGRAM MAINTENANCE
Maintain the DCPROG.DBF Program Catalog File
Syntax:
Arguments:
None.
Description:
PROGRAM MAINTENANCE is used to maintain a database catalog of
programs for later interpreting with DC_PROGRAM(). This system
in intended for creating small programs that may be run from the
dot-prompt, menus, data-entry validations, etc. PROGRAM
MAINTENANCE provides an editor, search routines, print routines,
etc. Programs are saved in a MEMO field in the DCPROG.DBF/.DBT
file. These "interpreted" programs are not intended to replace
compiled code but are instead a handy way of creating additional
on-the-fly functions and procedures to give dCLIP's data-driven
system some extra convenience and functionality.
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_progmaint()
dc_program()
PURGE
Remove duplicate records from database based by condition
Syntax:
Arguments:
ON (exp1) is an expression of field names to use in determining
how to determine the duplication of records. For example, if
you want to purge records that have duplication of information
in which LAST_NAME, FIRST_NAME and STREET are identical, then
use UPPER(LAST_NAME+FIRST_NAME+STREET) as the expression.
If an (expression) is not given then a window will appear with
a user prompt to enter an expression or to press ALT-F for the
index builder. If ALT-F is pressed, a pick-list of fields will
appear to aid in building the expression.
TO (file) will create a new database that contains the purged
records.
RETAIN (exp2) is an expression that determines which record of
the set of duplicate records to retain (not mark for deletion).
The default is "RECNO()". MAX will retain the maximum value.
MIN will retain the minimum value. The default is MIN.
FIELD (field) is the name of an optional numeric field in the
database being purged. This field is used to write a number from
0 to N. If there are no duplicates, then a 0 will be written to
the record. If there ARE duplicates then a 1 will be written to
the RETAINED record and a number from 2 to N will be written to
each duplicate.
Description:
PURGE is used to remove records from a database that have
duplicates based on a test of specified fields. The purged
records will be marked as *deleted* but will not actually be
removed from the data file until the file is packed. This will
allow you to BROWSE the file and monitor the purged information
before completing the final reduction.
PURGE actually creates a temporary index file based on an
expression that is passed or created from the pop-up index
builder.
Purged records can be written to a new data file for recovery
at any time.
Notes:
PURGE will not actually remove duplicate records from the
database, but will instead mark them for deletion. To complete
a full purge of the duplicate records, you must PACK the
database. If you wish you recall the deleted records after a
purge, use the command RECALL ALL.
Examples:
/* Purge all duplicate records that have an exact match
for Last Name, First Name, Phone Number and Street.
Retain the record that has the latest Mail Date */
. USE MAILLIST
. PURGE ON LAST+FIRST+PHONE+STREET RETAIN MAIL_DATE MAX
. BROWSE
. PACK
See Also:
dc_purge()
QEVENT
Establish Console-Output event to process after each command
Syntax:
Arguments:
(expression1) - (expressionN) is a list of expressions
including memvars, functions, UDF() ,etc that return any value.
Description:
QEVENT is used to automatically output the value of an
expression to the console (bottom row) after each command is
entered at the dot prompt. Use QEVENT to display the value of
memvars, functions, etc. that you want to constantly monitor
after performing commands.
Examples:
. QEVENT 'Fields:',FCOUNT(),' Records:',RECCOUNT()
See Also:
EVENT
QUERY
Invoke a menu-driven Condition builder
Syntax:
Arguments:
TO (memvar) will save the query expression selected or created
to variable (memvar) to be used later in database commands. If
the variable does not exist it will be created as a type "C"
variable. If the variable already exists, but is not a type "C"
it will be recreated as a type "C". If the variable already
exists and is a type "C", the information in the memory
variable will be passed along to the condition builder as the
default condition and the operator will be allowed to add new
conditions to the existing condition.
Description:
QUERY builds a complex filter condition from popup tables of
data fields and relational/mathematical operators. The query
can be saved in a (memvar) or the DCQUERY.DBF database for
later use when performing database operations.
QUERY will build complex condition statements for searching
based on field ranges, less than, greater than, equal to, not
equal to, contains, sounds like, etc.
Notes:
Queries may be saved for later use by selecting the appropriate
menu option. The query expression will be saved in a file
named DCQUERY.DBF. If the database does not already exist, it
will be created.
Examples:
. USE MAILLIST
. QUERY TO MYQUERY
. LOCA FOR &MYQUERY
See Also:
dc_query()
QUIT
Terminate program processing and return to DOS
Syntax:
Arguments:
See Clipper 5.0 Guides
See Also:
CANCEL
dc_quit()
CODE IMPORT
Import Code Table(s) from the Import Code Table Dictionary
Syntax:
Arguments:
(cTableName) is the name of the code table. This is a name of
up to eight (8) digits. If a code table name is passed then
the DXCODES.DBF database will be searched and all code table
items that match the code table name will be imported into
DCCODES.DBF. If no name is passed, then a pick-list of all tables
stored in the DXCODES.DBF database will be displayed.
If "ALL" is passed as the table name, then all tables in the
DXCODES.DBF will be imported into DCCODES.DBF.
Returns:
A logical .TRUE. if the menu was imported successfully.
Description:
CODE IMPORT is used to import code tables from a DXCODES.DBF file
into the DCCODES.DBF file.
Notes:
The DCCODES.DBF file is the data-dictionary database that
contains all code tables. If this file does not exist in your
default directory or path then it will be created. The
DXCODES.DBF file is the data-dictionary database that contains
all code tables that were exported from another system.
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_codeimp()
EDIT IMPORT
Import Edit(s) from the Import Editing Dictionary
Syntax:
Arguments:
(cEditName) is the name of the edit. This is a name of
up to eight (8) digits. If an edit name is passed then
the DXEDIT.DBF database will be searched and all edit
items that match the edit name be imported into DCEDIT.DBF.
If no name is passed, then a pick-list of all edits stored
in the DXEDIT.DBF database will be displayed.
If "ALL" is passed as the edit name, then all edits in the
DXEDIT.DBF will be imported into DCEDIT.DBF.
Description:
EDIT IMPORT is used to import edit configurations from a
DXEDIT.DBF file into the DCEDIT.DBF file.
Notes:
The DCEDIT.DBF file is the data-dictionary database that
contains all data-entry configurations. If this file does not
exist in your default directory or path then it will be created.
The DXEDIT.DBF file is the data-dictionary database that contains
all edits that were exported from another system.
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_editimp()
FIELD IMPORT
Import Field Group(s) from the Import Field Dictionary
Syntax:
Arguments:
(cFieldGroup) is the name of the field group. This is a name of
up to eight (8) digits. If a group name is passed then
the DXFIELDS.DBF database will be searched and all group
items that match the group name be imported into DCFIELDS.DBF.
If no name is passed, then a pick-list of all field groups stored
in the DXFIELDS.DBF database will be displayed.
If "ALL" is passed as the group name, then all groups in the
DXFIELDS.DBF will be imported into DCFIELDS.DBF.
Description:
FIELD IMPORT is used to import field group configurations from a
DXFIELDS.DBF file into the DCFIELDS.DBF file.
Notes:
The DCFIELDS.DBF file is the data-dictionary database that
contains all field group configurations. If this file does not
exist in your default directory or path then it will be created.
The DXFIELDS.DBF file is the data-dictionary database that contains
all field groups that were exported from another system.
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_fieldimp()
FILE IMPORT
Import File Group(s) from the Import File Dictionary
Syntax:
Arguments:
(cFileGroup) is the name of the file group. This is a name of
up to eight (8) digits. If a group name is passed then
the DXFILES.DBF database will be searched and all group
items that match the group name be imported into DCFILES.DBF.
If no name is passed, then a pick-list of all file groups stored
in the DXFILES.DBF database will be displayed.
If "ALL" is passed as the group name, then all groups in the
DXFILES.DBF will be imported into DCFILES.DBF.
Description:
FILE IMPORT is used to import file group configurations from a
DXFILES.DBF file into the DCFILES.DBF file.
Notes:
The DCFILES.DBF file is the data-dictionary database that
contains all file group configurations. If this file does not
exist in your default directory or path then it will be created.
The DXFILES.DBF file is the data-dictionary database that contains
all file groups that were exported from another system.
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_fileimp()
LOGIN
Log On to system to establish user rights
Syntax:
Arguments:
(UserID) is the User ID of the logging on user. If this
parameter IS NOT passed and the (cPassword) parameter IS
passed, then the DCUSER.DBF will be searched only for a
match to the (cPassword). If (cUserID) is passed and
(cPassword) is not passed, then the user will be prompted to
enter a password. If neither (cUserID) or (cPassword) is
passed, then the user will be prompted for both a User ID
and a password.
Returns:
A logical .TRUE. if the user logs on successfully, .FALSE.
otherwise.
Description:
LOGIN is used to log a user onto the system in the
event that it is necessary to establish rights to menus,
files, or specified fields.
The dCLIP menu system, data-entry (editing) system, browsing
system, and file system provide for establishing locks on
menu items, fields and/or files. If these systems are used
without first calling LOGIN or DC_USERLOGON(), then the user will
be given full rights. If however, LOGIN or DC_USERLOGON() is
called first, then the user will be given access to only those
items in which the user has the exact key or a master key
for each specified lock.
If the user logs on with the MASTER PASSWORD, then he/she is
automatically established as a "programmer" and is given full
access. The MASTER PASSWORD is hard-coded by a definition in
DCUSER.CH. To change the MASTER PASSWORD you must redefine it
in DCUSER.CH and then recompile _DCUSER.DBF and include the
new _DCUSER.OBJ in your link-script.
User PASSWORDS are stored in the DCUSER.DBF database in
encrypted form. Passwords may be assigned or changed only
with the DC_USERMAINT() function or the USER EDIT command.
User KEYS are stored in the DCUSER.DBF database and may be
assigned or changed only with the DC_USERMAINT() function or
the USER EDIT command. Locks are placed on menu items or
fields by entering a 3-character "lock" sequence when using
the menu-designer and/or data-entry designer. A database of
standard locks and their definitions may be maintained by
DC_LOCKMAINT(). When assigning a user a set of "keys" they
may be specific keys or "master" keys. A Master key is
assigned by using wild-cards. For example, the Master Key
"5**" will allow access to any lock starting with the number
"5", whereas the Master Key "67*" will allow access to any
lock with the number "67". Keys are stored in the USR_KEYS
field and are separated by commas.
Example:
"1**,2**,3**,41*,42*,522,6**"
Examples:
LOGIN USER LARRY PASSWORD STOOGE
Source/Library:
_DCUSER.PRG/.OBJ, DCLIP.LIB
See Also:
dc_userlogin()
MENU DELETE
Delete a menu in the Menu Dictionary
Syntax:
Arguments:
(cMenuName) is the name of the menu. This is a name of
up to eight (8) digits. If a menu name is passed then
the DCMENU.DBF database will be searched and all menu
items that match the menu name be deleted.
If no name is passed, then a pick-list of all menus stored in
the DCMENU.DBF database will be displayed.
Description:
MENU DELETE is used to delete a menu from the DCMENU.DBF
menu dictionary.
Notes:
The DCMENU.DBF file is the data-dictionary database that
contains all menus. If this file does not exist in your
default directory or path then it will be created.
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_menudel()
MENU IMPORT
Import Menu(s) from the Import Menu-Dictionary
Syntax:
Arguments:
(cMenuName) is the name of the menu. This is a name of
up to eight (8) digits. If a menu name is passed then
the DXMENU.DBF database will be searched and all menu
items that match the menu name be loaded into an array.
If no name is passed, then a pick-list of all menus stored
in the DXMENU.DBF database will be displayed.
If "ALL" is passed as the menu name, then all menus in the
DXMENU.DBF will be imported into DCMENU.DBF.
Description:
MENU IMPORT is used to import menus from a DXMENU.DBF file
into the DCMENU.DBF file.
Notes:
The DCMENU.DBF file is the data-dictionary database that
contains all menus. If this file does not exist in your
default directory or path then it will be created. The
DXMENU.DBF file is the data-dictionary database that contains
all menus that were exported from another system.
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_menuimp()
BROWSE IMPORT
Import Browse(s) from the Import Browse Dictionary
Syntax:
Arguments:
(cBrowName) is the name of the browse. This is a name of
up to eight (8) digits. If a browse name is passed then
the DXBROWSE.DBF database will be searched and all browse
items that match the browse name be imported into DCBROWSE.DBF.
If no name is passed, then a pick-list of all browses stored
in the DXBROWSE.DBF database will be displayed.
If "ALL" is passed as the browse name, then all browses in the
DXBROWSE.DBF will be imported into DCBROWSE.DBF.
Description:
BROWSE IMPORT is used to import browse configurations from a
DXBROWSE.DBF file into the DCBROWSE.DBF file.
Notes:
The DCBROWSE.DBF file is the data-dictionary database that
contains all browse configurations. If this file does not exist
in your default directory or path then it will be created. The
DXBROWSE.DBF file is the data-dictionary database that contains
all browses that were exported from another system.
Source/Library:
_DCTRAN1.PRG/.OBJ, DCLIP.LIB
See Also:
dc_browimp()