*NEW

> New commands and changes to dBASE II version 2.31



	New commands:



	HELP	- user aid command

	REINDEX - rebuild index file

	TEXT	- display multiple lines of text, terminated by ENDTEXT



	Supplemented Commands:



	APPEND, INSERT, EDIT, CREATE - can use a format file for screen control

	BROWSE		- can be given a list of fields to work with

	DISPLAY STATUS	- shows databases/indexes in use and SET settings

	READ & REPLACE	- can be directed to NOT update indexes via NOUPDATE

	RELEASE		- can release subsets of memory variables

	RESTORE		- can restore additively to existing memory variables

	SAVE		- can save subsets of memory variables

	SET RAW ON	- eliminates extra spaces in DISPLAY and ? commands

	UPDATE		- replace clause can have WITH phrases

*END

*?

*??

> ?	- displays an expression list



	? <exp> [,<exp>]



> ??	- display an expression list without a preceeding line eject

*END

*@

> @	- displays user formated data on CRT or printer



	@  <coordinates> [SAY <exp> [USING '<picture>']]

		[GET <variable> [PICTURE '<picture>']]



	<coordinates> can be numeric expressions or

		$+<expression> for relative addressing



	e.g. @ $,$+5 say 'HI'





Possible error messages:



SYNTAX ERROR IN FORMAT SPECIFICATION



VARIABLE CANNOT BE FOUND

	Need to create the variable, or check the spelling.

*END

*ACCEPT

> ACCEPT - allows input of character strings into memory variables



	ACCEPT ["<cstring>"] TO <memvar>





Possible error messages:



SYNTAX ERROR IN FORMAT SPECIFICATION



"TO" PHRASE NOT FOUND



*END

*APPEND

> APPEND - append dBASE files or files in System Data Format (SDF) or

		delimited files



	APPEND [FROM <file> [SDF] [DELIMITED [WITH <delimiter>]]

		[FOR <exp>]] or [BLANK]





Possible error messages:



VARIABLE CANNOT BE FOUND

	Need to create the variable, or check the spelling.

*END

*BROWSE

> BROWSE - full screen window viewing and editing



	BROWSE [<field list>]

*END

*CANCEL

> CANCEL - cancels command file execution



	CANCEL

*END

*CASE

> CASE - one possible execution path in a DO CASE structure



	CASE <expression>



   e.g.	DO CASE

		CASE X=1

			. any statements

			.

		CASE X="

			. any statements

			.

		OTHERWISE

			. any statements

			.

	ENDCASE

*END

*CHANGE

> CHANGE  - edit columns of fields



	CHANGE FIELD <list> [<scope>] [FOR <exp>]





Possible error messages:



"FIELD" PHRASE NOT FOUND



VARIABLE CANNOT BE FOUND

	Need to create the variable, or check the spelling.

*END

*CLEAR

> Clear out database files in use OR screen variables

	CLEAR [GETS]

*END

*CONTINUE

> Continue the action of a LOCATE command

	CONTINUE

*END

*COPY

> COPY	- copy existing databases to create copies



	COPY TO <file> [<scope>] [FIELD <list>] [FOR <exp>]

		[SDF] [DELIMITED [WITH <delimiter>]] or [STRUCTURE]



NOTE: COPY always destroys the previous contents of the TO file





Possible error messages:



BAD FILE NAME

	Syntax error in filename.



"TO" PHRASE NOT FOUND



VARIABLE CANNOT BE FOUND

	Need to create the variable, or check the spelling.

*END

*COUNT

> COUNT	- count the number of records that meet some

		conditional expression



	COUNT [<scope>] [FOR <exp>] [TO <memvar>]





Possible error messages:



OUT OF MEMORY FOR MEMORY VARIABLES

	Reduce the number or size of memory variables.



*END

*CREATE

> CREATE - create new structured database files



	CREATE [<filename>]



Possible error messages:



BAD DECIMAL WIDTH FIELD



BAD FILE NAME

	Syntax error in filename.



BAD NAME FIELD



BAD TYPE FIELD

	Must be C, N, or L.



BAD WIDTH FIELD



RECORD LENGTH EXCEEDS MAXIMUM SIZE (OF 1000)



SYNTAX ERROR IN FORMAT SPECIFICATION



VARIABLE CANNOT BE FOUND

	Need to create the variable, or check the spelling.

*END

*DELETE

> DELETE - delete files and mark records for deletion



	DELETE [<scope>] [FOR <exp>]

	DELETE FILE <file>

*END

*DISPLAY

> DISPLAY - displays records, fields, and expressions



	DISPLAY [<scope>] [FOR <exp>] [<exp list>] [OFF]

	DISPLAY STRUCTURE

	DISPLAY MEMORY

	DISPLAY FILES [ON <disk drive>] [LIKE <skeleton>]

	DISPLAY STATUS

*END

*DO

> DO	- causes command files to be executed and

		allows structured loops in command files



	DO <file>

	DO WHILE <exp>

	DO CASE





Possible error messages:



COMMAND FILE CANNOT BE FOUND

	Check spelling.





NESTING LIMIT VIOLATION EXCEEDED



*END

*EDIT

> EDIT	- alter specific data fields in a database



	EDIT [<record number>]





Possible error messages:



RECORD OUT OF RANGE

	Record number greater than number of records in database.  The

	Record doesn't exist.



SYNTAX ERROR IN FORMAT SPECIFICATION



VARIABLE CANNOT BE FOUND

	Need to create the variable, or check the spelling.

*END

*EJECT

> EJECT	- ejects a page on the list device



	EJECT

*END

*ELSE

> ELSE	- alternate path of command execution within IF



	ELSE

*END

*ENDCASE

> ENDCASE - terminate a CASE structure



	ENDCASE

*END

*ENDDO

> ENDDO	- terminator for DO WHILE command



	ENDDO

*END

*ENDIF

> ENDIF	- terminator for IF command



	ENDIF

*END

*ERASE

> ERASE	- clears the CRT



	ERASE

*END

*FIND

> FIND	- positions to record corresponding to a key on indexed files



	FIND <key>  or FIND '<key>'





Possible error messages:



DATABASE IN USE IS NOT INDEXED

	FIND is only permitted on indexed databases.



NO FIND

	More  a diagnostic type message than an error  message.  dBASE

	couldn't find the key.



*END

*GO

*GOTO

> GOTO	- position to a specific record



	GO or GOTO [RECORD], or [TOP], or [BOTTOM], <n>





Possible error messages:



RECORD NOT IN INDEX

	Index file was not updated after a record was added. Reindex.



RECORD OUT OF RANGE

	Record number greater than number of records in database.  The

	Record doesn't exist.



*END

*HELP

> ?	- displays an expression list

> ??	- display an expression list without a preceeding line eject

> @	- displays user formated data on CRT or printer

> ACCEPT - allows input of character strings into memory variables

> APPEND - append dBASE files or files in System Data Format (SDF) or

		delimited files

> BROWSE - full screen window viewing and editing

> CANCEL - cancels command file execution

> CASE - one possible execution path in a DO CASE structure

> CHANGE  - edit columns of fields

> CLEAR - Clear out database files in use OR screen variables

> CONTINUE - Continue the action of a LOCATE command

> COPY	- copy existing databases to create copies

> COUNT	- count the number of records that meet some

> CREATE - create new structured database files

> DELETE - delete files and mark records for deletion

> DISPLAY - displays records, fields, and expressions

> DO	- causes command files to be executed and

		allows structured loops in command files

> EDIT	- alter specific data fields in a database

> EJECT	- ejects a page on the list device

> ELSE	- alternate path of command execution within IF

> ENDCASE - terminate a CASE structure

> ENDDO	- terminator for DO WHILE command

> ENDIF	- terminator for IF command

> ERASE	- clears the CRT

> FIND	- positions to record corresponding to a key on indexed files

> GOTO	- position to a specific record

> IF	- allows conditional execution of commands

> INDEX  - creates an index file

> INPUT	- allows input of expressions into memory variables

> INSERT - insert data into a file

> JOIN	- outputs the JOIN of two databases

> LIST - identical to the DISPLAY command except that the default scope

> LOCATE  - find a record that fits a condition

> LOOP	- skips to beginning of DO WHILE

> MODIFY  - allows editing of command files and database structures

> PACK	- removes records marked for deletion

> QUIT - terminate dBASE and return to the system optionally

> READ	- displays data and prompting  information  in full-screen mode

> RECALL  - erases mark for deletion

> REINDEX - realigns an old index file

> RELEASE - eliminates unwanted memory variables and returns space to dBASE

> RENAME - rename a file

> REPLACE - replaces data fields with values

> REPORT  - format and display a report of data

> RESET - Reset system to allow diskette swapping

> RESTORE - retrieves sets of stored memory variables

> RETURN  - ends a command file

> SAVE	- copy the memory variables to mass storage

> SELECT - switches between USE file

> SET	- sets dBASE control parameters

> SKIP	- position forwards or backwards

> SORT	- create a copy of a database which is sorted on one of the data fields

> STORE	- stores expressions into memory variables

> SUM	- compute and display the sum of an expression

> TEXT - heads a block of information for output only

> TOTAL  - outputs a database of totalled records

> UPDATE  - allows batch updates of a database

> USE	- specifies the database file to be used for

	all operations until another USE is issued

> WAIT	- suspends command file processing



  OTHER TOPICS



> NEW (FEATURES)

> LIMITATIONS (AND CONSTRAINTS)

> ERROR (MESSAGES)

*END

*IF

> IF	- allows conditional execution of commands



	IF <exp>

	.

	.  (any statements)

	.

	ELSE			] ELSE is optional

	.			]

	.  (any statements)	]

	.			]

	ENDIF

*END

*INDEX

> INDEX  - creates an index file



	INDEX ON <char string expression> TO <index file name>



Possible error messages:



BAD FILE NAME

	Syntax error in filename.



"ON" PHRASE NOT FOUND



"TO" PHRASE NOT FOUND



*END

*INPUT

> INPUT	- allows input of expressions into memory variables



	INPUT ["<cstring>"] TO <memvar>





Possible error messages:



"TO" PHRASE NOT FOUND



*END

*INSERT

> INSERT - insert data into a file



	INSERT [BEFORE], or [BLANK]





Possible error messages:



CANNOT INSERT - THERE ARE NO RECORDS IN DATABASE FILE

	Use the APPEND command instead.



SYNTAX ERROR IN FORMAT SPECIFICATION



VARIABLE CANNOT BE FOUND

	Need to create the variable, or check the spelling.

*END

*JOIN

> JOIN	- outputs the JOIN of two databases



	JOIN TO <file> FOR <expression> [FIELDS <field list>]





Possible error messages:



JOIN ATTEMPTED TO GENERATE MORE THAN 65,534 RECORDS

	The FOR clause allows too many joined output records,  make it

	more stringent.





NO "FOR" PHRASE



*END

*LIST

> LIST - identical to the DISPLAY command except that the default scope

		is ALL records



	LIST

*END

*LOCATE

> LOCATE  - find a record that fits a condition



	LOCATE [<scope>] [FOR <exp>]





Possible error messages:



NO "FOR" PHRASE



*END

*LOOP

> LOOP	- skips to beginning of DO WHILE



	LOOP

*END

*MODIFY

> MODIFY  - allows editing of command files and database structures



	MODIFY STRUCTURE

	MODIFY COMMAND <command file>



Possible error messages:



BAD FILE NAME

	Syntax error in filename.



RECORD LENGTH EXCEEDS MAXIMUM SIZE (OF 1000)



*END

*NOTE

	NOTE or *

*END

*PACK

> PACK	- removes records marked for deletion



	PACK

*END

*QUIT

> QUIT - terminate dBASE and return to the system optionally

		starts up other programs



	QUIT [TO <list of CP/M level commands or .COM files>]

*END

*READ

> READ	- displays data and prompting  information  in full-screen mode



	READ





Possible error messages:



SYNTAX ERROR IN FORMAT SPECIFICATION



VARIABLE CANNOT BE FOUND

	Need to create the variable, or check the spelling.

*END

*RECALL

> RECALL  - erases mark for deletion



	RECALL [<scope>] [FOR <exp>]

*END

*REINDEX

> REINDEX  realigns an old index file



	REINDEX

*END

*RELEASE

> RELEASE - eliminates unwanted memory variables and returns space to dBASE



	RELEASE [<memvar list>], or [ALL]

	RELEASE ALL LIKE <skeleton>

	RELEASE ALL EXCEPT <skeleton>

*END

*REMARK

	REMARK

*END

*RENAME

> RENAME - rename a file



	RENAME <current file name> TO <new file name>

*END

*REPLACE

> REPLACE - replaces data fields with values



	REPLACE [<scope>] <field> WITH <exp> [AND <field> WITH <exp>]





Possible error messages:



DATA ITEM NOT FOUND



SOURCE AND DESTINATION DATA TYPES ARE DIFFERENT



*END

*REPORT

> REPORT  - format and display a report of data



	REPORT [<scope>] [FORM <form file>] [TO PRINT] [FOR <exp>] [PLAIN]





Possible error messages:



SYNTAX ERROR,  RE-ENTER



*END

*RESET

> Reset system to allow diskette swapping



	RESET [<drive>]

*END

*RESTORE

> RESTORE - retrieves sets of stored memory variables



	RESTORE [ADDITIVE]





Possible error messages:



CANNOT OPEN FILE



*END

*RETURN

> RETURN  - ends a command file



	RETURN

*END

*SAVE

> SAVE	- copy the memory variables to mass storage



	SAVE TO <file> [ALL LIKE <skeleton>]



Possible error messages:



BAD FILE NAME

	Syntax error in filename.



"TO" PHRASE NOT FOUND



*END

*SELECT

> SELECT - switches between USE file



	SELECT [PRIMARY or SECONDARY]

*END

*SET

> SET	- sets dBASE control parameters



	SET <parm> [ON], or [OFF]

	SET ALTERNATE TO <file>

	SET DEFAULT TO <drive>

	SET DATE TO <string>

	SET FORMAT TO <format file name>

	SET HEADING TO <string>

	SET INDEX TO <index file list>

	SET MARGIN TO <n>

*END

*SKIP

> SKIP	- position forwards or backwards



	SKIP <+/-> [<n>]

*END

*SORT

> SORT	- create a copy of a database which is sorted

		on one of the data fields



	SORT ON <field> TO <file> [ASCENDING], or [DESCENDING]

*END

*STORE

> STORE	- stores expressions into memory variables



	STORE <exp> TO <memvar>





Possible error messages:



OUT OF MEMORY FOR MEMORY VARIABLES

	Reduce the number or size of memory variables.



"TO" PHRASE NOT FOUND



*END

*SUM

> SUM	- compute and display the sum of an expression

		over a group of database records



	SUM <field> [<scope>] [TO <memvar list>] [FOR <exp>]





Possible error messages:



MORE THAN 5 FIELDS TO SUM



NO EXPRESSION TO SUM



NON-NUMERIC EXPRESSION



*END

*TOTAL

> TOTAL  - outputs a database of totalled records



	TOTAL TO <file> ON <key variable> [FIELDS <field list>]

*END

*UPDATE

> UPDATE  - allows batch updates of a database



	UPDATE  FROM  <file>  ON <key variable> [ADD  <field  list>]

		[REPLACE [    <field list>    ] ]

			 [<field> WITH <field>]





Possible error messages:



NO "FROM" PHRASE



"ON" PHRASE NOT FOUND



*END

*USE

> USE	- specifies the database file to be used for

	all operations until another USE is issued



	USE <file> [INDEX <index file name list>]



Possible error messages:



BAD FILE NAME

	Syntax error in filename.



END OF FILE FOUND UNEXPECTEDLY

	The  database  in USE is not in the  correct  format.  If  all

	records  are correct and present,  then PACK and re-INDEX  the

	database.



INDEX DOES NOT MATCH DATABASE

	dBASE  cannot  match the key with the  database.  Try  another

	index file.



INDEX FILE CANNOT BE OPENED

	Check spelling or INDEX the database.



*END

*WAIT

> WAIT	- suspends command file processing



	WAIT [TO <memvar>]

*END

*@

	@(<string1>,<string2>) - AT function

*END

**

	* - deleted record function

*END

*#

	# - record number function

*END

*!

	!(<char string>) - upper case function

*END

*$

	$(<char string>,<start>,<length>) - substring function

*END

*CHR

	CHR(<numeric expression>) - numeric to ASCII

*END

*DATE

	DATE() - system date function

*END

*EOF

	EOF - end-of-file function

*END

*FILE

	FILE(<file>) - existance function

*END

*INT

	INT(<numeric expression>) - integer function

*END

*LEN

	LEN(<char string>) - length function

*END

*STR

	STR(<numeric expression>,<width>[,<decimals>])	string function

*END

*VAL

	VAL(<char string>) - value function

*END

*TRIM

	TRIM(<char string>) - trims strings

*END

*TYPE

	TYPE(<exp>) - supplies data type

*END

*LIMITATIONS

number of fields per record			   32 max

number of characters per record			 1000 max

number of records per database			65535 max

number of characters per character string	  254 max

accuracy of numeric fields			   10 digits

largest number				 1.8 x 10**63 approx

smallest number				1.0 x 10**-63 approx

number of memory variables			   64 max

number of characters per command line		  254 max

number of expressions in SUM command		    5 max

number of characters in REPORT header		  254 max

number of characters in index key		  100 max

number of pending GETS				   64 max

number of files open at one time		   16 max

*END

*ERROR



BAD DECIMAL WIDTH FIELD



BAD FILE NAME

	Syntax error in filename.



BAD NAME FIELD



BAD TYPE FIELD

	Must be C, N, or L.



BAD WIDTH FIELD



CANNOT INSERT - THERE ARE NO RECORDS IN DATABASE FILE

	Use the APPEND command instead.



CANNOT OPEN FILE



COMMAND FILE CANNOT BE FOUND

	Check spelling.



DATA ITEM NOT FOUND



DATABASE IN USE IS NOT INDEXED

	FIND is only permitted on indexed databases.



DIRECTORY IS FULL

	The CP/M disk directory cannot hold anymore files.



DISK IS FULL



END OF FILE FOUND UNEXPECTEDLY

	The  database  in USE is not in the  correct  format.  If  all

	records  are correct and present,  then PACK and re-INDEX  the

	database.



"FIELD" PHRASE NOT FOUND



FILE ALREADY EXISTS



FILE DOES NOT EXIST



FILE IS CURRENTLY OPEN

	Type a USE or CLEAR command to close the file.



FORMAT FILE CANNOT BE OPENED



FORMAT FILE HAS NOT BEEN SET



ILLEGAL DATA TYPE



ILLEGAL GOTO VALUE



ILLEGAL VARIABLE NAME

	Only  alphanumerics  and  colons are allowed in  variable  and

	field names.



INDEX DOES NOT MATCH DATABASE

	dBASE  cannot  match the key with the  database.  Try  another

	index file.



INDEX FILE CANNOT BE OPENED

	Check spelling or INDEX the database.



JOIN ATTEMPTED TO GENERATE MORE THAN 65,534 RECORDS

	The FOR clause allows too many joined output records,  make it

	more stringent.



KEYS ARE NOT THE SAME LENGTH



MACRO IS NOT A CHARACTER STRING

	&macros must be character strings.



MORE THAN 5 FIELDS TO SUM



NESTING LIMIT VIOLATION EXCEEDED



NO EXPRESSION TO SUM



NO "FOR" PHRASE



NO "FROM" PHRASE



NO FIND

	More  a diagnostic type message than an error  message.  dBASE

	couldn't find the key.



NON-NUMERIC EXPRESSION



NONEXISTENT FILE



"ON" PHRASE NOT FOUND



OUT OF MEMORY FOR MEMORY VARIABLES

	Reduce the number or size of memory variables.



RECORD LENGTH EXCEEDS MAXIMUM SIZE (OF 1000)



RECORD NOT IN INDEX

	Index file was not updated after a record was added. Reindex.



RECORD OUT OF RANGE

	Record number greater than number of records in database.  The

	Record doesn't exist.



SOURCE AND DESTINATION DATA TYPES ARE DIFFERENT



*** SYNTAX ERROR ***



SYNTAX ERROR IN FORMAT SPECIFICATION



SYNTAX ERROR,  RE-ENTER



"TO" PHRASE NOT FOUND



TOO MANY CHARACTERS



TOO MANY FILES ARE OPEN

	There is a maximum of 16 files allowed to be open at one time.



TOO MANY MEMORY VARIABLES

	There is a maximum of 64 memory variables.



TOO MANY RETURNS ENCOUNTERED

	Probably an error in the structure of a command file.



"WITH" PHRASE NOT FOUND



UNASSIGNED FILE NUMBER

	Internal error, contact dealer for support.



*** UNKNOWN COMMAND



VARIABLE CANNOT BE FOUND

	Need to create the variable, or check the spelling.

*END

