*DBASE 
                   HELP TEXT FILE DBASEMSG.TXT 
                 VERSION 1.17 FOR dBASE II v2.43*
             Copyright 1983 Ashton-Tate and RSP, Inc.
     Written by Wayne Ratliff, Jim Taylor, and Howard Dickler

                        INTRODUCTION

This entry is intended to give you on-line information about your
your dBASE II Database Management System.  It explains the disk 
files you have received, and gives suggestions on tapping the  
power now available to you for data management.  Using the on-
line HELP in conjunction with your Manual, you will soon be  
creating databases and writing command procedures to do your 
work. 


          >>>>>>> type any key to continue <<<<<<<




                HOW TO USE THE 'HELP' FACILITY

Information about your dBASE II system can be obtained by typing
HELP and the name of a dBASE II command and any of the following 
key words: 

        DBASE        ERRORS     FULL SCREEN    FUNCTIONS    
        GLOSSARY     HELP       INSTALL        LIMITS    
        NEW          RUNTIME   

>Note: Only the first four letters of the command or key word is
needed.

dBASE will then look up the entry for the key word and display 
it.  If there is no information on the subject, then dBASE will 
say "No help messages found".  When there is more text to display  
than what is shown, you will see the word WAITING (like this).


          >>>>>>> type any key to continue <<<<<<<

The  essential  dBASE II files  on  this disk are:

DBASE.COM    -- main system program file
DBASEOVR.COM -- overlay file and system messages
DBASEMSG.TXT -- this HELP file (only necessary if you use HELP)

*EXIT
*FULL SCREEN
       FULL-SCREEN CURSOR MOVEMENT CODES -- ALL COMMANDS

ctrl-X moves cursor DOWN to the next field (also ctrl-F).
ctrl-E moves cursor UP to the previous field (also ctrl-A).
ctrl-D moves cursor AHEAD one character.
ctrl-S or <Rubout> moves cursor BACK one character.
ctrl-G or <DEL> deletes character under cursor.
ctrl-Y blanks out current field to right of cursor.
ctrl-V toggles between overwrite and INSERT modes.
ctrl-Q ignores changes to current record and returns to dot.
ctrl-W saves all changes and returns to dot prompt.

                    IN EDIT MODE

ctrl-U toggles the record DELETE mark on and off.
ctrl-C saves current record and ADVANCES to next record.
ctrl-R saves current record and BACKS to previous record.
ctrl-Q ignores changes to current record and returns to dot.
ctrl-W saves all changes and returns to dot prompt.

                   IN BROWSE MODE

ctrl-B pans the window RIGHT one field.
ctrl-Z pans the window LEFT one field.

                   IN MODIFY MODE

ctrl-T DELETES current line, moves all lower lines up.
ctrl-N INSERTS new line at cursor position.
ctrl-C scrolls down a half page.
ctrl-R scrolls up one line.
ctrl-Q ignores all changes and returns.
ctrl-W writes all changes to disk and returns to "." prompt.

                   IN APPEND MODE

<enter> terminates APPEND when cursor is in first position of 
     first field.
ctrl-Q ignores current record and returns to "." prompt.
ctrl-W saves current record and moves to next record and 
     terminates APPEND when cursor is in first position of 
     first field.

     CONTROL KEY STROKES OPERABLE WHEN NOT IN FULL SCREEN

ctrl-P toggles your printer ON and OFF.
ctrl-R repeats last executed command.
ctrl-X clears the command line without executing command.
ctrl-H backspaces one character.
ctrl-M emulates a carriage return.
ctrl-S starts/stops CPU operation. 
*EXIT
*INSTALL
In order to use dBASE II's full screen editing capability, your
terminal must be properly installed.  Many dBASE formats are pre-
installed.  If yours is not, your screen will appear jumbled when 
you attempt to perform such full screen operations as APPEND and 
EDIT.  To correct this, you must install dBASE II by running the 
installation program, INSTALL.COM or INSTALL.EXE.  Refer to your 
Manual for complete instructions on running the install program. 
Since you may diagnose your terminal's status at any time by 
running STARTUP.PRG  (called from the dBASE II "." prompt by 
entering the command DO STARTUP),  you would be wise to use it
before attempting to INSTALL dBASE II.  It will tell you if you 
need to run the installation program, and can be used later to 
check the results if you do.
*EXIT
*NEW
> New commands and changes to dBASE II since version 2.3

HELP -- user aid command.
REINDEX -- realigns and updates existing index file.
SET F<n> -- sets value of function key on IBM PC, Victor, TI 
     Professional, and IBM PC compatible terminals. 
SET COLOR -- alters display color on all terminals listed above
     except the Victor.
SET SPACE -- determines whether or not a numeric field will print
     in column zero using the ? command.  Has no effect on REPORT
     FORM.
TEXT -- displays multiple lines of text, terminated by ENDTEXT.
RANK() -- function returns ASCII value of first character.
TEST() -- function determines validity of <exp>.

Supplemented Commands:

APPEND, EDIT, INSERT -- can now use a format file for screen 
     control.
BROWSE  -- can now be given a list of fields to work with.
DISPLAY  STATUS  -- shows database and index files in use and SET 
     settings.
READ, REPLACE -- can be directed not to update the index file if
     the data being changed is not part of the key expression.
RELEASE  -- can now release subsets of memory variables.
RESTORE -- can restore additively to existing memory variables.
SAVE  -- can now save subsets of memory variables.
SET RAW ON -- eliminates extra spaces in DISPLAY and ? commands
     and allows semicolons to be displayed.
UPDATE -- REPLACE clause can now include WITH phrases.
*EXIT
*GLOSSARY
                   dBASE II TERMINOLOGY

<commands> or <statements> -- any valid dBASE command or 
     function.

<cstring> -- character string(s).  In most instances must be 
     delimited with single quotes (''), double quotes (""), or 
     brackets ([]).

<cstring exp> -- an <exp> whose content is defined as Character 
     in type.  May be a cstring, a memvar or field of type C or 
     any combination of these items concatenated with the dBASE 
     operators.

<delimiter> -- any non-alphanumeric character used to demarcate 
     data, e.g., single quotes (''), double quotes (""), brackets 
     ([]), colons (::), commas (,,), etc. 



<exp> or <expression> -- an item or group of items and operators 
     whose value can be determined by dBASE.  <exp>s may be 
     defined as C, N, or L depending on the type of data they 
     contain.

<exp list> -- a list of expressions separated by commas.

<field> -- a database field name.

<field list> -- a list of field names separated by commas.

<file> -- name of file you wish to create or access.

<index file> -- name of index file you wish to create or access.

<key>  -- list of field(s) or portion(s) thereof used  to  create 
     index files or sorted databases.

<memvar> -- the name of a memory variable.

<memvar list> -- list of memory variables separated by commas.

<n> -- a number which dBASE regards as a literal value.

<numeric exp> -- an <exp> whose content is defined as Numeric.

<scope> -- command option specifying range of records dBASE must 
     treat in executing command.  <scope> has three possible 
     values:  ALL records in file;  NEXT <n> records in file; and 
     RECORD <n>.  Default value varies from command to command.

<skeleton> -- allows  batch manipulation of files of same type 
     and/or with matching characters in filename using operating 
     system "wild cards," ? and *. Also allows batch manipulation 
     of groups of <memvars> with matching characters in name.

<variable> -- the name of a database field or <memvar>.
*EXIT
*?
*??
> ? -- Evaluates and displays the value of an expression.  In  
     command files (and elsewhere) can be used without expression 
     to space down a line at output.
      
Examples:

  . ? 6/3
   2
  . ? 'CITY'
   CITY
  . ? CITY (field of file in use)
   Managua

 
> ?? -- Same as ?, but displays result on same line as entry.
*EXIT
*@
> @ -- Displays user formatted data on screen or printer at spec-
       ified x,y coordinates (x=line,y=column).

Syntax: @ <coords> [SAY <exp> [USING '<picture>']] 
                   [GET <variable> [PICTURE '<picture>']]

Examples:

  . @ 3,23 SAY AMOUNT * 1.06 USING '$$$,$$$.99'
  . @ 14,23 SAY "ENTER PHONE" GET PHONE PICTURE '(###)###-####'
  . @ LINE+2,45 SAY TOTAL USING '99999.99'
*EXIT
*ACCEPT
> ACCEPT -- Prompts user to enter character string information 
            into a designated memory variable. 

Syntax: ACCEPT ['<prompt cstring>'] TO <memvar>

Examples: 

  . ACCEPT "What is your name?" to NAME
    What is your name?: [user's response stored to NAME]
  . ? NAME
    [user's response displayed]  
*EXIT
*APPEND
> APPEND FROM -- Appends data from another file to the bottom of
     the file in use.  The FROM file may be a database file, a 
     file in System Data Format, or a comma delimited file.  
     Records marked for deletion in the FROM file will not be
     appended.

Syntax: APPEND FROM <file> [FOR <exp>] [SDF/DELIMITED] 

Examples:

  . APPEND FROM MAILLIST FOR NAME='N' 
  . APPEND FROM TEST.TXT DELIMITED 
 
> APPEND BLANK -- Appends a blank record to the bottom of the 
     file in use.

> APPEND -- Allows user to add new records to database in use  
     using full screen.
*EXIT
*BROWSE
> BROWSE -- Brings up full screen viewing and editing of the 
     database in use.

Syntax: BROWSE [FIELDS <field list>]  
*EXIT
*CANCEL
> CANCEL -- In a command file,  stops command file execution and 
     returns user to dBASE "." prompt.  

Example:

  ACCEPT "Enter 'Q' to stop this humble machine. " TO NEXT
  IF NEXT = 'Q'
     CANCEL 
  ENDIF                
*EXIT
*CLEAR
> CLEAR -- Closes all databases in use, releases all memory 
     variables, and SELECTs PRIMARY work area.

> CLEAR GETS -- Commands dBASE to forget all active GET state-
     ments without erasing the screen. 
*EXIT
*COPY
> COPY -- Copies the contents of the database in use to another
     file.  COPY will create the TO file if it does not exist and
     will destroy an already existing file of that name.  Records
     that are marked for deletion will not be copied.  

Syntax: COPY TO <file> [<scope>] [FIELD <list>] [FOR/WHILE <exp>]
                       [SDF/DELIMITED [WITH <delimiter>]]
   
> COPY STRUCTURE -- A special form of COPY that uses the database
      structure to create the TO file.  If the EXTENDED syntax is 
      used, a database whose records represent the structure of 
      file in use is created.  Otherwise, a database file with a 
      duplicate structure is created.

Syntax: COPY TO <file> STRUCTURE [EXTENDED] [FIELDS <list>]
*EXIT
*COUNT
> COUNT -- Counts the number of records in the database in use 
     that meet a specified condition. Default value is COUNT all
     records.

Syntax: COUNT [scope] [FOR/WHILE <exp>] [TO <memvar>]
 
Example:
 
  . COUNT NEXT 25 FOR GRADE > 'B-' TO DEANLST 
*EXIT
*CREATE
> CREATE -- Creates a new database.  Normally, the user will be
     prompted for the file structure, but the FROM syntax may be
     used to create a database from a structure extended file.

Syntax: CREATE <filename> [FROM <old file>]
*EXIT
*DELETE
> DELETE -- Marks database record(s) for deletion.  Records that
     are marked for deletion are indicated with an asterisk and
     will not be erased until  the PACK command is given.  The 
     default scope is the current record.  SET DELETED ON will 
     ignore records that are marked for deletion when used with 
     certain commands.  

Syntax: DELETE [<scope>] [FOR/WHILE <exp>]

Examples: 

  . DELETE ALL FOR COMPANY = 'ZMB'
  . DELETE RECORD 15

> DELETE FILE -- Erases files from the disk directory.  The file
     must be closed in order to delete it.

Syntax: DELETE FILE <file>

*EXIT
*DISPLAY
> DISPLAY -- Displays a specific set of information to the screen
     or the printer.  The information may be the the fields of 
     the database file in use intermixed with other expressions,
     the disk directory, the active memory variables, the struc-
     ture of the database in use, or the status of the files in
     use and the set parameters, depending on which syntax is 
     used.  When displaying fields in a database, the default 
     scope is the current record.  If another scope is specified,
     the command will pause after each 15 records.

Syntax: DISPLAY [<scope>] [FOR/WHILE <exp>] [<exp list>] [OFF]
                [FIELDS <list>]  
        DISPLAY FILES [ON <drive>] [LIKE  <skeleton>] 
        DISPLAY MEMORY 
        DISPLAY STRUCTURE 
        DISPLAY STATUS 
*EXIT
*DO
*DO WHILE
*ENDDO
*LOOP
> DO <file> -- opens and executes specified command file.

> DO WHILE -- Begins a command file construct that allows 
     conditiona looping  Command in between this comman and 
     the ENDDO command are execute a lon a th expressio i
     true.  The LOOP clause is optional, and causes command file
     control to go back to the DO WHILE command.  Must be closed
     by ENDDO.

Syntax: DO WHILE <exp>
           <commands> 
           [LOOP]     
           [<commands>]
        ENDDO                        
                               





Example:

  USE MAILLIST
  DO WHILE .NOT. EOF
     IF ZIP = '90005'
        SKIP
        LOOP
     ENDIF 
     ? NAME
     ? PHONE
     SKIP
  ENDDO
*EXIT
*CASE
*OTHERWISE
*ENDCASE 
> DO CASE -- A command file construct used to choose one and only
     one of several possible execution paths.  The OTHERWISE 
     clause is optional, and executes when no other CASE is true.  
     ENDCASE is needed to close command.
      
Syntax: DO CASE
           CASE <exp>
              [<commands>]
           [[CASE <exp>]
              [<commands>]...]   
           [OTHERWISE]
              [<commands>]
        ENDCASE






Example: 

  USE MAILLIST
  ACCEPT "WHICH MENU OPTION DO YOU PREFER?" to Choice
  DO CASE                           
     CASE Choice = '1'
        DO Clabels 
     CASE Choice = '2'
        DO Cappend   
     CASE Choice = '3'
        DO Cedit            
     OTHERWISE
        RETURN 
  ENDCASE
*EXIT
*EDIT
> EDIT -- Allows full screen, selective editing of database in 
     use by record number.  The prompt "ENTER RECORD #" will be
     displayed if no record number is supplied.  When editing of
      particula recor i completed ctrl- bring bac the 
     record number prompt.  To terminate EDIT mode, answer the
     prompt with a carriage return.

Syntax: EDIT [<record number>] 
*EXIT
*EJECT
> EJECT -- Causes printer to do a form feed (page eject) if PRINT 
     is SET ON or FORMAT is SET TO PRINT.  When using @...SAY 
     commands for direct page formatting, EJECT will zero out the
     row and column counters. 
*EXIT
*ERASE
> ERASE -- Clears any pending GETs and erase the screen.  In 
     interactive mode, the "." prompt will appear at top left 
     corner of screen.
*EXIT
*FIND
> FIND <cstring> -- When using indexed files,  positions to first 
     record indexed by <cstring>.  The <cstring> need not be in
     quotes.
*EXIT
*GO
*GOTO
> GO or GOTO -- Positions the record pointer to a specific 
     record in the database file.  GO and GOTO are be used inter-
     changeably.  

Syntax: GOTO [RECORD] <expn>
        GOTO BOTTOM
        GOTO TOP
*EXIT
*HELP
               dBASE II ON-LINE HELP FACILITY

Below you will find a list of all dBASE commands.  Each entry in 
this list corresponds to an entry in the HELP file.  In the 
latter, you will find a brief synopsis of each command along with
its correct  syntax.  Please remember, however, that HELP file
information is limited, and is only meant to cut down on the 
number of trips you will have to make to the dBASE II Manual.  

To access the entry for the dBASE command (or other Help File 
entry) you wish to review, simply respond to the dBASE  "." 
prompt by entering HELP <name of command> and a return (e.g. HELP 
CREATE <cr>).  dBASE will access the information you wish to see, 
and then return you to the "." prompt so you can go right back 
to work.  In some cases the entry will take up more space than is 
provided by a single screen.  (This is one of them.)  To bring up 
the next screen of information,  just hit any console character: 
this will tell dBASE to stop "Waiting." 


If you wish to exit the HELP file before viewing an entire entry, 
simply hit ESCape.

          >>>> Type 'HELP dBASE' for other <<<<<<
            >>>>> important information <<<<<

> ? -- displays an expression, variable, or field. 
> ?? -- displays an expression, variable, or field without a    
     proceeding blank line.
> @ -- displays formatted data on screen or printer.
> ACCEPT -- allows input of character strings into memory 
     variables.
> APPEND -- adds information to the bottom of the database in   
     use. 
> BROWSE -- full screen window viewing and editing of database.
> CANCEL -- cancels command file execution.
> CLEAR -- closes databases in use and releases current memory 
     variables.
> CONTINUE -- continue the searching action of a LOCATE command.
> COPY -- creates a copy of an open database. 
> COUNT -- counts the number of records in file which meet 
     selected criteria.
> CREATE -- creates new database.
> DELETE -- deletes a file or marks records for deletion.
> DISPLAY -- display files, database records or structure, memory 
     variables, or status. 
> DO -- executes command files or begins a programming construct.
> EDIT -- initiates edit of records in a database.
> EJECT -- ejects a page on the printer.
> ELSE -- alternate path of command execution within IF.
> ENDCASE -- terminates a DO CASE structure.
> ENDDO -- terminates DO WHILE structure.
> ENDIF -- terminates an IF structure.
> ENDTEXT -- terminates a TEXT structure.
> ERASE -- clears all pending GETs and erases the screen.
> FIND -- positions to record corresponding to key in index file.
> GO or GOTO -- positions to specific record in file.
> HELP -- access help file overview or specific help file entry. 
> IF -- allows conditional execution of commands.
> INDEX -- creates an index file.
> INPUT -- allows input of expressions into memory variables.
> INSERT -- insert new record in database.
> JOIN -- joins output of two databases.
> LIST -- lists files, database records or structure, memory 
     variables, and status.
> LOCATE -- find a record that meets a specific condition.
> LOOP -- skips to beginning of DO WHILE structure.
> MODIFY -- create and/or edit command file or modify structure 
     of existing database.
> NOTE or * -- allows insertion of comments in command file. 
> PACK -- removes records marked for deletion.
> QUIT -- exits dBASE and returns to operating system.

> READ -- initiates full screen editing of formatted screen by 
     accepting input into variables accessed with @...GET. 
> RECALL -- removes delete marker from deleted record.
> REINDEX -- update open index files.
> RELEASE -- eliminates unwanted memory variables and releases 
     memory space.

> REMARK -- permits display of any characters on the screen or 
     the printer.
> RENAME -- rename a file.
> REPLACE -- change information in record(s) or entire database 
     field by field.
> REPORT -- format and display a report of information.
> RESET -- reset operating system (CP/M only) after placing new 
     disk in drive.
> RESTORE -- retrieves memory variables stored in MEM file.
> RETURN -- ends a command file.
> SAVE -- copies current memory variables to a MEM file. 
> SELECT -- switches between USE files in PRIMARY and SECONDARY 
     areas.
> SET -- sets dBASE control parameters.
> SKIP -- position forwards or backwards in database.
> SORT -- create a new database sorted on one of the data fields.
> STORE -- creates memory variables.
> SUM -- compute and display the sum of database field(s).
> TEXT -- allows output of block of text from a command file.

> TOTAL -- creates summary copy of database combining information 
     from specified fields or records meeting selected criteria.
> UPDATE -- allows batch updates of a database.
> USE -- specifies database to USE until next USE command is 
     issued.
> WAIT -- suspends command file processing until a key is 
     pressed.

                 >>>>> Other key words <<<<<
                     (e.g. HELP RUNTIME)

        DBASE        ERRORS     FULL SCREEN    FUNCTIONS    
        GLOSSARY     INSTALL    LIMITS         NEW          
        RUNTIME   
*EXIT
*IF
*ELSE
*ENDIF
> IF -- A command file construct that permits permits conditional 
     execution of commands between the IF and the ENDIF.  ELSE 
     clause is optional.  Must end with ENDIF. 

Syntax: IF <exp>             
           <commands>
        [ELSE
           <commands>]
        ENDIF         

Example:

  IF STATE = "CA"
     DO INSTATE
  ELSE
     DO OUTSTATE
  ENDIF
*EXIT
*INDEX
> INDEX -- Creates an index file for the database in use based on
     the value of the key expression. 

Syntax: INDEX ON <key expression> TO <index file> 
*EXIT
*INPUT
> INPUT -- Prompts user to enter an expression and stores the 
     response in a memory variable.  
        
Syntax: INPUT ["<cstring prompt>"] TO <memvar>      

Example: 

  . INPUT 'Prompt user for input' TO X
    Prompt user for input: 12 <cr>                     
    [user input, 12, stored to X]
  . ? X
    12
*EXIT
*INSERT
> INSERT -- Allows user to insert record into the database file
     in use immediately after or before the current record.  A 
     full screen will be displayed for entering data unless the 
     BLANK is used.  If the database file in use has one or more
     index files open, INSERT is equivalent to APPEND.

Syntax: INSERT [BEFORE] [BLANK] 
*EXIT
*JOIN
> JOIN -- Creates a new database by combining the records of
     files in use in the PRIMARY and SECONDARY work areas.  
     Records are added to the new file when the FOR expression
     is true.  JOIN must be executed from the PRIMARY area.  

Syntax: JOIN TO <file> FOR <exp> [FIELDS <field list>]

Example: 
 
  . SELECT SECONDARY
  . USE MAILLIST
  . SELECT PRIMARY
  . USE NAMES
  . JOIN TO NAMEJ FOR LAST <> S.LAST  
*EXIT
*LIST
> LIST -- Lists a specific set of information to the screen or
     the printer.  The information may be the the fields of the
     database file in use intermixed with other expressions, the
     disk directory, the active memory variables, the structure
     of the database in use, or the status of the files in use
     and the set parameters, depending on which syntax is used.
     This command is identical to DISPLAY except when listing 
     fields in a database, the default scope is ALL records, and
     there is no periodic pause.

Syntax: LIST [<scope>] [FOR/WHILE <exp>] [<exp list>] [OFF]
             [FIELDS <list>]  
        LIST FILES [ON <drive>] [LIKE  <skeleton>] 
        LIST MEMORY
        LIST STRUCTURE 
        LIST STATUS 

Examples:
 
  . LIST FILES ON C LIKE *.FRM
  . LIST NEXT 25 NAME, PHONE FOR CONTRIB > 100 
*EXIT
*LOCATE
*CONTINUE
> LOCATE -- Finds the first record in the database file for which
     the FOR expression is true.  Use CONTINUE to find subsequent
     records that meet the specified condition.  The user may 
     manipulate records before resuming search with CONTINUE.
 
Syntax: LOCATE  [<scope>] FOR <exp> 

Example:

  . LOCATE ALL FOR ZIP >= '95000' .AND. ZIP < '96000'
  RECORD: 00123
  . DISPLAY
  . CONTINUE
  RECORD: 00232    
*EXIT
*MODIFY
> MODIFY STRUCTURE -- Allows user to alter the structure of the
     database in use.  This command will warn the user before 
     erasing all the data in the file.  To alter structure
     without loss of data, use COPY STRUCTURE, USE, and APPEND 
     as illustrated in the example below.

Example:

  . USE NAMES
  . COPY STRUCTURE TO TEMP
  . USE TEMP
  . NOTE No data will be lost since file is empty. 
  . NOTE Do not change any field names. 
  . MODIFY STRUCTURE
  . NOTE The next command brings data into the modified database.
  . APPEND FROM NAMES
  . RENAME NAMES TO NAMES.BAK
  . NOTE USE will close TEMP so that the file can be RENAMEd.
  . USE 
  . RENAME TEMP TO NAMES

> MODIFY COMMAND <file> -- Calls the dBASE text editor and brings 
     up or creates designated file.  Primarily used for creating 
     and editing command (.PRG), text (.TXT), and format (.FMT) 
     files, but may be employed as a simple full screen word 
     processor.
*EXIT
*NOTE
> NOTE or * -- Permits the inclusion of comments in a command or  
     format file.  Comments following NOTE or * will not be read 
     when file is executed.
*EXIT
*PACK
> PACK -- Erases records marked for deletion from the database in
     use.  If index files are in use, they will be automatically 
     updated.
*EXIT
*QUIT
> QUIT -- Closes all files, terminates dBASE, and returns control
     to the operating system.  Optionally calls programs from 
     system level. 

Syntax: QUIT [TO <com file list>]
*EXIT
*READ
> READ -- Initiates full screen mode for entry or editing of 
     fields or variables.  The full screen prompts and window are
     created by @...SAY...GET commands.  

Syntax: READ [NOUPDATE]

Example:

  STORE '          ' TO Name
  STORE '             ' TO Phone
  @ 4,4 SAY 'Name  ' GET Name
  @ 6,4 SAY 'Phone ' GET Phone PICTURE '(###)###-####' 
  READ
*EXIT
*RECALL
> RECALL -- Reinstates record(s) that are marked for deletion in
     the database file in use.  Default scope is current record.  

Syntax: RECALL [<scope>] [FOR/WHILE <exp>] 
*EXIT
*REINDEX
> REINDEX -- Allows updating of up to seven open index files 
     without supplying the corresponding key expressions.  

Example:

  . USE MAILLIST INDEX INDEXA, INDEXB, INDEXC 
  . REINDEX
*EXIT
*RELEASE
> RELEASE -- Erases unwanted memory variables and opens memory 
     space for further use.  
 
Syntax: RELEASE <memvar list>
        RELEASE ALL [LIKE <skeleton>]
        RELEASE ALL [EXCEPT <skeleton>]
                  
Examples:

  . STORE O TO N, N1, N2, N10, V7 
  . RELEASE ALL LIKE N?  [N10 and V7 will remain] 
  . RELEASE ALL EXCEPT V* [N10 will remain]
  . RELEASE ALL [Nothing will remain]
*EXIT
*REMARK
> REMARK -- Permits the display of any characters to the screen 
     or printer.

Example: 

  . SET PRINT ON
  . REMARK This remark will be printed.
  . SET PRINT OFF
  . REMARK This remark will be displayed on the screen.
*EXIT
*RENAME
> RENAME -- Changes the name of a file on the disk directory.  
     dBASE uses a default file extension of DBF.  Files that are
     currently open cannot be RENAMEd.

Syntax: RENAME <file> TO <new filename> 

Example: 

  . RENAME REVIEW.FRM TO REVIEW2.FRM
*EXIT
*REPLACE
> REPLACE -- Allows the user to replace the contents of specified 
     fields in the database in use.  If index file is in use and
     the key field is being REPLACEd, the index will be updated
     automatically if the NOUPDATE clause is not used.  For this
     reason, it is not advisable to do block replacements on the 
     key field.  The default scope is the current record.             

Syntax: REPLACE [<scope>] <field> WITH <exp> [,<field2> WITH <exp2>]
                [FOR/WHILE <exp>] [NOUPDATE]

Example: 

  . USE MXPROJ
  . REPLACE ALL COST WITH COST * 6.1 FOR ITEM = 'ELEC' 
*EXIT
*REPORT
> REPORT -- Used for creating and displaying a REPORT FORM file 
     (.FRM).  This file displays specified information from a 
     database in a pre-defined format.  Outputs results to screen
     or printer. 

Syntax: REPORT [FORM <form file>] [<scope>] [TO PRINT] [PLAIN]
               [FOR/WHILE <exp>] 
*EXIT
*RESET
> RESET [<drive>] -- With CP/M, resets the bit map for the drive
     specified.  Use this command after changing disks on any 
     drive other than the one containing dBASE.  Never change 
     a disk without first closing all files.  Before opening the
     files on the new disk, issue the RESET command. 
*EXIT
*RESTORE
> RESTORE -- Retrieves and activates the set of memory variables 
     previously SAVEd to a memory file.  Unless ADDITIVE is used, 
     currently defined variables are lost. 

Syntax: RESTORE FROM <file> [ADDITIVE]
*EXIT
*RETURN
> RETURN -- Used in a command file to return control to the 
     command file which called it or to dBASE "." prompt.
*EXIT
*SAVE
> SAVE -- Copies specified memory variables to the designated 
     memory (.MEM) file.  

Syntax: SAVE TO <file> [ALL LIKE/EXCEPT <skeleton>] 
 
Examples: 

  . STORE 0 TO N1, N2, N10, V1, V2, V10 
  . SAVE TO NUMBER ALL LIKE N* [saves N1, N2, N10]
  . SAVE TO NUMBER ALL LIKE N? [saves N1, N2]
  . SAVE TO NUMBER ALL EXCEPT ?1* [saves N2, V2]
  . SAVE TO NUMBER [saves all]
*EXIT
*SELECT
*PRIMARY
*SECONDARY
> SELECT -- Activates the specified work area without closing or
     opening any files, permitting the user to work with two
     database files simultaneously and maintain record pointers 
     in both.  Primary area is active upon bringing up dBASE and 
     after issuing a CLEAR. 

Syntax: SELECT PRIMARY/secondary
*EXIT
*SET
> SET -- Sets dBASE control parameters.  All SET commands are 
     listed below in alphabetic order.  NOTE that some SETs are 
     of the ON/OFF type,  and others require some user option to
     be given.  The default value of the ON/OFF SET commands is
     in uppercase.  
 
Syntax: SET <parameter> [ON/OFF]
        SET <parameter> TO <option>

Example: 

  SET BELL [ON/off] - default value is ON.

> SET ALTERNATE [OFF/on] -- ON sends all screen output (except 
     full screen) to an ASCII file.  (Must be preceded by SET 
     ALTERNATE TO <file>).  OFF suspends output to the file.

> SET BELL [ON/off] -- ON rings when invalid data is entered or 
     data field boundary is reached.  OFF stops ringing.

> SET CARRY [OFF/on] -- ON repeats data in current record from 
     previous record when using full screen mode of APPEND or 
     INSERT.  OFF leaves record blank.

> SET COLON [ON/off] -- ON displays colons to surround @...GET 
     variables in full screen displays.  OFF stops the display of 
     the colons.

> SET CONFIRM [OFF/on] -- ON disables automatic skipping to next 
     field when current field is filled while in full screen 
     mode.  OFF requires a <return> to be entered before        
     advancing to the next field.

> SET CONSOLE [ON/off] -- ON sends all output to screen.  OFF 
     suspends all output to screen.  System will appear dead.

> SET DEBUG [OFF/on] -- ON sends output created by ECHO and STEP 
     options to printer.  OFF sends this output to the screen.


> SET DELETED [OFF/on] -- ON causes certain dBASE commands to 
     ignore records that are marked for deletion.  Specifically, 
     FIND and most commands that allow a scope are affected.  The
     exceptions are COPY, REPLACE and SUM which always ignore 
     deleted records.  OFF causes these commands to acknowledge 
     all records.

> SET ECHO [OFF/on] -- ON causes commands to be displayed before 
     being executed.  Used in command files as a debugging tool.
     OFF executes the command without displaying it.

> SET EJECT [ON/off] -- ON causes REPORT command to perform a 
     form-feed (page eject) before sending report output to the
     printer.  OFF disables the page eject.

> SET ESCAPE [ON/off] -- ON allows user to abort execution of 
     command file by hitting ESCape key.  OFF disables ESC key 
     interrupt.


> SET EXACT [OFF/on] -- ON requires exact matches in character 
     string comparisons.  OFF allows matches between character 
     strings of different lengths.  The string that is fewer 
     characters in length should be on the right side of the 
     comparison operator.  For example, 'ABCDEF'= 'ABC'. 

> SET INTENSITY [ON/off] -- ON allows the use of reverse video 
     or dual intensity in full screen operations (if allowed by 
     hardware).  OFF disables these features. 

> SET LINKAGE [OFF/on] -- ON causes movement of record pointers 
     in both PRIMARY and SECONDARY areas by commands which allow
     a <scope> (i.e. downward movement only).  OFF causes 
     pointers to move independently of one another.

> SET PRINT [OFF/on] -- ON sends all output of all commands 
     (except full screen commands) to the printer.  OFF stops 
     printer output.


> SET RAW [OFF/on] -- ON DISPLAYs and LISTs records without any
     spaces between the fields, and allows the display of semi-
     colons.  OFF displays a space between fields.

> SET SCREEN [ON/off] -- ON allows the use of the full screen
     for commands such as APPEND, EDIT, and READ.  OFF disables 
     full screen operations.   

> SET SPACE ON/off -- ON will not allow the display of a numeric
     field to begin in column zero using the ? command.  OFF
     allows numeric fields to start in column zero.  Has no 
     effect on REPORT FORM.

> SET STEP [OFF/on] -- ON aids debugging of command files by 
     halting execution after dBASE performs each command.  OFF 
     does not halt execution.

> SET TALK [ON/off] -- ON sends results of command  execution  to 
     screen. OFF suppresses additional screen output.

> SET ALTERNATE TO [<file>] -- Creates and opens a disk file with
     a .TXT extension for recording screen output.  SET ALTERNATE 
     TO without a file name closes the alternate file.  Use in 
     conjunction with SET ALTERNATE ON/off.

> SET COLOR TO <n1,n2> -- Sets color or CRT attribute of terminal 
     output on IBM PC, TI Professional, and IBM PC compatible 
     terminals.  <n1> indicates desired color or attribute of 
     dim/reverse video, <n2> the desired color or attribute of 
     normal display.  
  
> SET DATE TO <xx/xx/xx> -- Stores a string to system date, but 
     does not perform date validation. 

> SET DEFAULT TO <drive> -- Causes dBASE to look on the specified
     drive when instructed to look for files.

> SET F<n> TO <'new value'> -- Programs the specified function 
     key with the 'new value'.  Operation on the IBM PC, TI
     Professional, Victor, and IBM PC compatible terminals.   

> SET FORMAT TO <SCREEN/print> -- SCREEN sends output of @...SAY 
     commands to screen.   PRINT sends formatted output to the
     printer. 

> SET FORMAT TO [<format file>] -- Opens .FMT file which dBASE 
     will use to format screen for READ, APPEND, EDIT, and INSERT
     commands.  SET FORMAT TO closes any open .FMT file.

> SET HEADING TO <cstring> -- Saves <cstring> internally and 
     prints it as the header line on subsequent REPORT FORMs.

> SET INDEX TO <index file list> -- Sets up index files for use 
     with corresponding database.  Up to seven files may be in 
     the list.  The first file will be the active index, and all
     other index files will updated only.

> SET MARGIN TO <n> -- Sets left hand margin of printer to <n> 
     columns.
*EXIT
*SKIP
> SKIP [<n>] -- Causes the record pointer to be advanced or 
     backed up relative to its current position.  <n> can be 
     either positive or negative.  Its default value is +1.
*EXIT
*SORT
> SORT --  Builds a new copy of the database file in use with all
     records arranged in order according to the specified field.  
     Uses ASCII value to determine the order (e.g. spaces, 
     numbers, uppercase, lowercase, then symbols).  Deleted 
     records are ignored by SORT. The default order is ASCENDING.

Syntax: SORT ON <field> TO <file> [ASCENDING/descending] 
       
Example: 
  . USE MAILLIST
  . SORT ON ZIP TO MAILZIP DESCENDING    
*EXIT
*STORE
> STORE -- Evaluates an expression and saves its result to a
     memory variable.

Syntax: STORE <exp> TO <memvar>

Example: 
  
  . STORE 3 to NUMBER
  . STORE NUMBER + 9 TO NUMBER2
  . STORE 'HOWARD' TO NAME
*EXIT
*SUM
> SUM -- Computes and displays the sums of up to five numeric 
       fields of the database in use and optionally save the
       results as memory variables.  Default value of <scope> is
       ALL non-deleted records. 

Syntax: SUM <exp list> [<scope>] [TO <memvar list>]
                       [FOR/WHILE <exp>]

Examples:

   . USE SHOPLIST [fields are ITEM, NUMBER purchased, COST of item]
   . SUM COST * NUMBER FOR ITEM = 'food'
   . SUM NUMBER FOR ITEM = 'hardware' TO HARD
   . SUM NUMBER, NUMBER*COST FOR ITEM = 'hardware' .AND. COST >9.00
*EXIT
*TEXT
*ENDTEXT
> TEXT -- In command files, allows the output of text information 
     without the use of @...SAY or ?.  dBASE will read everything 
     as text until it encounters an ENDTEXT command.

Syntax: TEXT
        <text>
        ENDTEXT
*EXIT
*TOTAL
> TOTAL -- Creates a summary version of an indexed or sorted
     database by copying only records with a unique key field
     value.  The key field must be the field on which the file is
     indexed or sorted.  Records with duplicate are combined.  
     All records with the same key field can have their numeric 
     fields totaled in the TO database by using the FIELDS 
     option.  If no ON phrase is used, the entire file will be
     reduced to a single record in the TO file.

Syntax: TOTAL [ON <key field>] TO <file> [FIELDS <field list>]
              [FOR/WHILE <exp>]
*EXIT
*UPDATE
> UPDATE -- Allows batch update of an indexed (or sorted if 
     RANDOM is not used) database by drawing information FROM the
     designated database.  Keys of records in USE and FROM 
     databases are compared for a match.  dBASE can then ADD the
     corresponding numeric fields of two files together.  It can 
     also REPLACE character or numeric fields of USE database 
     with the contents of corresponding fields of the FROM file.  
     Unless the RANDOM option is used, the FROM file must be pre-
     sorted on the key field.

Syntax: UPDATE FROM <file> ON <key field> [ADD <field list>]
               [REPLACE <field list> [WITH <field list>]]
               [RANDOM]
*EXIT
*USE
> USE -- Specified the database file and index files that are to 
     be used for all subsequent operations.  USE automatically  
     closes the previous file in USE in the same work area, so 
     that USE with no file name will close this file in the 
     currently selected work area.  The INDEX option engages up
     to seven index files.  The first is the controlling index 
     that determines the order and is used with FIND.  The rest
     are only updated.  

Syntax: USE <file> [INDEX <index file list>] 
*EXIT
*WAIT
> WAIT -- Used to suspend dBASE operation until a key is pressed.  
     The keystroke may optionally be saved as a memory variable.

Syntax: WAIT [TO <memvar>] 
*EXIT
*FUNCTIONS
> @ -- @(<cstring1>, <cstring2>) -- AT function yields an integer 
     whose value is the starting position of character string one
     in character string two.

> * -- Deleted record function evaluates as a logical True if 
     the current record is marked for deletion.

> # -- Record number function returns the integer corresponding 
     to current record number. 

> ! -- !(<cstring>) -- Uppercase function yields the character
     string in uppercase characters.

> $ -- $(<cstring>, <start>, <length>) -- Substring function 
     forms a character string from the specified part of another 
     string.




> CHR -- CHR(<numeric exp>) -- Number to character function 
     yields the ASCII character equivalent of the numeric 
     expression.  For example, CHR(27) is an ESC and CHR(7) rings
     the bell.  Useful in sending control characters to the 
     printer.

> DATE() -- Date function returns the system date as a character 
     string in the format xx/xx/xx.

> EOF -- End-of-file function evaluates as True if an attempt is
     made to go past the last record in a database file.  

> FILE -- FILE(<file>) -- File existence function evaluates as 
     True if the file exists, and as a False if it does not.

> INT -- INT (<numeric exp>) -- Integer function truncates 
     everything to right of the decimal to form an integer. 



> LEN -- LEN(<cstring>) -- Length function returns the number of  
     characters in the string including leading and trailing 
     blanks.  

> RANK -- RANK(<cstring>) -- Returns the integer value of the 
     the leftmost character of the string.  Corresponds to ASC in
     many versions of the BASIC language.

> STR -- STR (<numeric exp>,  <width>  [,<decimals>])  --  String 
     function converts a numeric expression into a character 
     string.

> TEST -- TEST(<exp>) -- Test function determines whether or not
     the expression is valid and parsable.  A valid expression 
     returns a non-zero value # 0, and an invalid expression 
     returns a value of 0.

> TRIM -- TRIM(<cstring>) -- Trim function removes trailing 
     spaces from the character string.

> TYPE -- TYPE(<exp>) -- Expression type function yields a one 
     character string that contains a 'C','N','L',  or 'U' if the 
     expression is of type Character, Numeric, Logical, or 
     Undefined. 

> VAL -- VAL(<cstring>) -- Value function converts a character 
     string consisting of numerals into a numeric expression. 
*EXIT
*LIMITS     
               LIMITATIONS AND CONSTRAINTS
     number fields/record                   32 max
     number chars/record                  1000 max
     number records/database             65535 max
     number chars/cstring                  254 max
     accuracy numeric fields             10 digits
     largest number            1.8 x 10**63 approx
     smallest number          1.0 x 10**-63 approx
     number current memvars                 64 max
     number chars/command line             254 max
     number <exp>s in SUM command            5 max
     number chars in REPORT header         254 max
     number chars in index key             100 max
     number of pending GETS                 64 max
     number of files open at one time       16 max
     length of .PRG file                 unlimited
*EXIT
*ERRORS
Bad decimal width field -- An attempt was made to enter an   
     invalid value for the decimal width in CREATE or MODIFY
     STRUCTURE.

Bad file name -- An attempt was made to create or access a file
     with an invalid file name.  Check your dBASE II manual for
     rules on file naming.

Bad name field --  An attempt was made to enter an illegal field
     name in CREATE or MODIFY STRUCTURE.

Bad type field -- An attempt was made to enter an illegal field
     type in CREATE or MODIFY STRUCTURE.  Valid types are C, L 
     and N.

Bad width field -- An attempt was made to enter an illegal field 
     width in CREATE or MODIFY STRUCTURE.  Field widths must be 
     between 1 and 254 for characters, and 1 and 64 for numerics.


 ** Beyond string -- Either the starting position or the length   
     parameters in the substring ($) function exceed the actual
     length of the string.

Cannot open file -- An attempt has been made to LOAD or RESTORE 
     FROM a corrupted file (HEX or MEM).

Command file cannot be found -- An attempt was made to DO a 
     command file that is not on the default disk drive.  Check
     the spelling of the file name and the default drive. 

COMMAND.COM is not available -- An attempt was made to do a QUIT
     TO when COMMAND.COM was not located on the drive and 
     directory specified by SET COMSPEC.

Data item not found -- An attempt was made to REPLACE into a 
     field that cannot be found in the database file structure.
     Check the structure of the database file for the correct 
     spelling of the field name.

Database in use is not indexed -- A FIND was attempted on an 
     un-indexed database file.  Create or open the index file and
     try again.

Directory is full -- The operating system disk directory cannot 
     hold anymore files.  Delete unwanted files and try again.

Disk is full --  A disk write was attempted with no space left on
     disk.  Also may occur if the file name being created is
     invalid.  Use DELETE FILE to erase unwanted files.

End of file found unexpectedly -- One or more of the index files 
     in use is incomplete.  REINDEX the file and try the command
     again.  May also be caused by a corrupted database file.

File already exists -- An attempt was made to RENAME TO a file 
     that already exists on the disk.  Either use a new file name
     or delete the offending file.


File does not exist -- An attempt was made to access a file that 
     does not exist, such as with APPEND FROM <file>.  Issue the
     command DISPLAY FILES LIKE *.* to see all files on the disk. 

File is currently open -- An attempt was made to open a file that
     is already open.  For example, trying to USE the same 
     database file or index file in both work areas will cause 
     this error.  Trying to MODIFY COMMAND on an open text or 
     command file will also cause it.  CANCEL will close open 
     command files and CLEAR will close open database and index
     files.

Format file cannot be opened -- An attempt was made to SET FORMAT
     TO a file that does not exist.  Check the spelling of the 
     fil nam an th defaul drive.

Illegal data type -- An attempt was made to SORT on a logical
     field.


Illegal goto value -- A GOTO value that does not fall in the 
     range of 1 to 65534 was specified.

Illegal variable name -- An attempt was made to create a variable
     with an invalid name using the STORE, SUM, COUNT, or other  
     command.  

Index does not match database -- dBASE cannot match the index key 
     with the database.  Either recreate the index file using
     INDEX ON or use another index file.

Index file cannot be opened -- An attempt was made to SET INDEX 
     TO or USE and index file that does not exist.  Check the 
     spelling of the file name and the default drive.  If the 
     file is not found, recreate it using INDEX ON.

Join attempted to generate more that 65,534 records -- The FOR 
     clause allows too many joined output records.  Make it more 
     stringent.

Keys are not the same length -- An attempt was made to UPDATE 
     FROM a file in which the key field is not the same length as
     the database in use.  This command requires identical keys.

Macro is not a character string -- Variables expanded by a macro 
     (&) must of character type.  DISPLAY MEMORY will reveal
     memory variable types.

More than 5 fields to sum - An attempt was made to SUM more than 
     five expressions.  Use multiple SUM commands to get past 
     this limitation.

More than 7 index files selected -- An attempt was made to SET 
     INDEX TO or USE more than seven index files which is the 
     maximum number allowed.

Nesting limit violation exceeded -- Cannot have more than sixteen 
     command files open at once.


No expression to sum -- A SUM command was issued without any
     expressions.

No FOR phrase -- An attempt was made to do a JOIN without a FOR
     clause.  Rewrite the command with the correct syntax.

No FROM Phrase -- An attempt was made to do an UPDATE without a
     FROM clause.  Rewrite the command with the correct syntax.

No find -- A diagnostic message that is displayed when dBASE 
     cannot FIND a key.  Record # will be set to 0.  Suppress 
     this message with SET TALK OFF.

No help messages found -- An attempt was made get HELP when the 
     file DBASEMSG.TXT is not on the disk.

Non-numeric expression -- An attempt was made to SUM a character
     or logical field or expression.


Not a dBASE II database -- An attempt was made to USE a file that
     does not qualify as a dBASE II database.

ON phrase not found -- An attempt was made to do an UPDATE or an
     INDEX without an ON phrase.  Rewrite the command with the
     correct syntax.

Out of memory for memory variables -- A maximum of 1536 bytes is
     available for storing memory variables.  Due to the method 
     with which the buffers are maintained, this number could be
     slightly less.  

Record length exceeds maximum size (of 1000) -- An attempt was 
     made to CREATE a file with more than 1000 characters per
     record.  Reduce the size of some fields or create a second 
     database with a common key.

Record not in index -- Records were added to the database file 
     without the index file being engaged.  REINDEX the file.

Record out of range -- Record number was called that is greater 
     than the number of records in the database or one of its 
     index files.  Either COPY or REINDEX will usually correct
     the problem.

Source and destination data types are different -- An attempt was
     made to REPLACE a field with a value that is not the same 
     data type.  DISPLAY STRUCTURE and DISPLAY MEMORY will reveal
     the types of fields and memory variables.  Some conversion
     functions may be needed.

 ** Syntax error *** -- A dBASE II command line has been 
     improperly constructed.  

Syntax error in format specification -- @ SAY GET PICTURE command 
     is improperly set up.

Syntax error, re-enter -- An entry error was made during INPUT, 
     ACCEPT or REPORT.  These commands require syntactically 
     correct entry.  May expect a different data type.
 
TO phrase not found -- A command that expects a TO phrase has 
     been issued without the inclusion of the TO phrase.  Usually
     happens with STORE or SET commands.

Too many characters -- Command line limit or some other buffer
     limit has been exceeded.  

Too many files are open -- Only 16 files of all types (Command, 
     database, index, format, etc.) may be open at one time.

Too many memory variables -- There is a maximum of 64 active  
     memory variables.

Too many returns encountered -- Probably an error in the 
     structure of a command file.   Check the number and location 
     of RETURNs.



Unassigned file number -- Internal error.  Contact Ashton-Tate 
     for support.  May occur if disks are swapped without 
     properly closing files.

 ** Unknown command -- A command was entered from the dot prompt 
     or from a command file that is not a dBASE II command verb.

Variable cannot be found -- An attempt was made to access a field
     that does not exist.  Check the file structure for the 
     correct spelling of the field name.

WITH phrase not found -- The WITH phrase was left out of a 
     REPLACE command.  

 ** Zero divide -- An attempt was made to divide a numeric 
     expression by zero.
*EXIT
*RUNTIME
An Ashton-Tate product, dBASE II RunTime, has been designed to 
help applications developers market software packages written in 
dBASE II.                   

dBASE II RunTime will allow end-users to run programs written in 
dBASE II without having access to the source code.  Thus, 
combined with RunTime, you can market your dBASE II applications  
without fear of having your program altered in any way by those 
who purchase it.  

Moreover, Ashton-Tate is prepared to help you reach the market-
place:  Ashton-Tate publishes a catalog of existing dBASE II 
applications, and now provides software developers with a variety 
of other services which will help you in your marketing efforts. 

If you develop a dBASE II application you wish to market, contact 
Ashton-Tate's RunTime Coordinator for information about how to 
proceed.  For information about applications that will run on 
your dBASE II system right now, ask for the Application 
Marketing Referral Service. 
*EXIT
