*** empty log message ***

This commit is contained in:
Luiz Rafael Culik
2000-01-02 01:06:41 +00:00
parent dae9c4edb8
commit 1fdaf8ee08
14 changed files with 1130 additions and 112 deletions

View File

@@ -1,3 +1,21 @@
20000101-22:50 GMT+3 Luiz Rafael Culik <culik@sl.conex.net>
* doc/funclist.txt
+Update some function status
* source/rdd/dbcmd.c
+Added to missing documentation of __dbzap() and OrdCondSet()
* source/rtl/FileSys.c
+ doc for FOPEN()
+ doc for FCLOSE()
+ doc for FWRITE()
+ doc for FSEEK()
+ doc for FREAD()
+ doc for FILE()
+ doc for FREADSTR()
+ doc for FRENAME()
+ doc for FERROR()
+ doc for RENAME
+ doc for ERASE
20000101-07:18 GMT+3 Luiz Rafael Culik <culik@sl.conex.net>
* source/rdd/dbcmd.c
* source/rtl/alert.prg

View File

@@ -152,7 +152,7 @@ I2BIN ;R;
IF ;R;
INDEXEXT ;S;
INDEXKEY ;S;
INDEXORD ;N;
INDEXORD ;S;
INKEY ;S;
INT ;R;
ISALPHA ;R;
@@ -259,19 +259,19 @@ YEAR ;R;
DBRLOCK ;R;
DBRLOCKLIST ;R;
DBRUNLOCK ;R;
ORDBAGEXT ;N;
ORDBAGNAME ;N;
ORDCONDSET ;N;
ORDCREATE ;N;
ORDDESTROY ;N;
ORDFOR ;N;
ORDKEY ;N;
ORDLISTADD ;N;
ORDLISTCLEAR ;N;
ORDLISTREBUI ;N;
ORDNAME ;N;
ORDNUMBER ;N;
ORDSETFOCUS ;N;
ORDBAGEXT ;S;
ORDBAGNAME ;S;
ORDCONDSET ;S;
ORDCREATE ;S;
ORDDESTROY ;S;
ORDFOR ;S;
ORDKEY ;S;
ORDLISTADD ;S;
ORDLISTCLEAR ;S;
ORDLISTREBUI ;S;
ORDNAME ;S;
ORDNUMBER ;S;
ORDSETFOCUS ;S;
RDDLIST ;R;
RDDNAME ;R;
RDDSETDEFAULT ;R;

View File

@@ -32,6 +32,17 @@
* their web site at http://www.gnu.org/).
*
*/
/*
* The following parts are Copyright of the individual authors.
* www - http://www.harbour-project.org
*
* Copyright 1999 Luiz Rafael Culik <culik@sl.conex.net>
* DB*() documentation
* ORD*() documentation
* RDD*() documentation
* See doc/license.txt for licensing terms.
*
*/
#include <ctype.h>
#include "extend.h"
@@ -1582,7 +1593,10 @@ HARBOUR HB_ALIAS( void )
* $ONELINER$
* Performs a code block operation on the current DATA BASE
* $SYNTAX$
* DBEVAL( <bBlock>, [<bFor>], [<bWhile>], [<nNext>], [<nRecord>], [<lRest>] ) --> NIL
* DBEVAL( <bBlock>,
* [<bFor>], [<bWhile>],
* [<nNext>], [<nRecord>],
* [<lRest>] ) --> NIL
* $ARGUMENTS$
* <bBlock> Operation that is to be performed
* <bFor> Code block for the For condition
@@ -4613,6 +4627,104 @@ HARBOUR HB_DBUSEAREA( void )
SELF_RECCOUNT( ( AREAP ) pCurrArea->pArea, &ulLen );
( ( AREAP ) pCurrArea->pArea )->lpExtendInfo->ulRecCount = ulLen;
}
/* $DOC$
* $FUNCNAME$
* __DBZAP()
* $CATEGORY$
* Data Base
* $ONELINER$
* Remove all records from the current database file
* $SYNTAX$
* __DbZap() -> NIL
* $ARGUMENTS$
*
* $RETURNS$
* __DbZap() will always return nil
* $DESCRIPTION$
* __DbZap*( is a database command that permanently removes all records from
* files open in the current work area. This includes the current database
* file, index files, and associated memo file. Disk space previously
* occupied by the ZAPped files is released to the operating system.
* __DbZap() performs the same operation as DELETE ALL followed by PACK but is
* almost instantaneous.
*
* To ZAP in a network environment, the current database file must be USEd
* EXCLUSIVEly.
*
* $EXAMPLES$
* ^CFE This example demonstrates a typical ZAP operation in a network
* environment:
*
* USE Sales EXCLUSIVE NEW
* IF !NETERR()
* SET INDEX TO Sales, Branch, Salesman
* __dbZAP()
* CLOSE Sales
* ELSE
* ? "Zap operation failed"
* BREAK
* ENDIF
* $TESTS$
*
* $STATUS$
* R
* $COMPLIANCE$
*
* $SEEALSO$
*
* $INCLUDE$
*
* $END$
*/
/* $DOC$
* $COMMANDNAME$
* ZAP
* $CATEGORY$
* Command
* $ONELINER$
* Remove all records from the current database file
* $SYNTAX$
* ZAP
* $ARGUMENTS$
*
* $RETURNS$
*
* $DESCRIPTION$
* ZAP is a database command that permanently removes all records from
* files open in the current work area. This includes the current database
* file, index files, and associated memo file. Disk space previously
* occupied by the ZAPped files is released to the operating system. ZAP
* performs the same operation as DELETE ALL followed by PACK but is almost
* instantaneous.
*
* To ZAP in a network environment, the current database file must be USEd
* EXCLUSIVEly.
*
* $EXAMPLES$
* ^CFE This example demonstrates a typical ZAP operation in a network
* environment:
*
* USE Sales EXCLUSIVE NEW
* IF !NETERR()
* SET INDEX TO Sales, Branch, Salesman
* ZAP
* CLOSE Sales
* ELSE
* ? "Zap operation failed"
* BREAK
* ENDIF
* $TESTS$
*
* $STATUS$
* R
* $COMPLIANCE$
*
* $SEEALSO$
*
* $INCLUDE$
*
* $END$
*/
HARBOUR HB___DBZAP( void )
{
@@ -5895,9 +6007,29 @@ HARBOUR HB_ORDBAGNAME( void )
* $ONELINER$
* Set the Condition and scope for an order
* $SYNTAX$
*
* ORDCONSET([<cForCondition>],
[<bForCondition>],
[<lAll>],
[<bWhileCondition>],
[<bEval>],
[<nInterval>],
[<nStart>],
[<nNext>],
[<nRecord>],
[<lRest>],
[<lDescend>],
[<lAdditive>],
[<lCurrent>],
[<lCustom>],
[<lNoOptimize>])
* $ARGUMENTS$
*
* <cForCondition> is a string that specifies the FOR condition for the
order.
<bForCondition> is a code block that defines a FOR condition that
each record within the scope must meet in order to be processed. If
a record does not meet the specified condition,it is ignored and the
next record is processed.Duplicate keys values are not added to the
index file when a FOR condition is Used.
* $RETURNS$
*
* $DESCRIPTION$
@@ -6864,27 +6996,27 @@ HARBOUR HB_RDDLIST( void )
* $CATEGORY$
* Data Base
* $ONELINER$
* Return the name of the RDD active in the current or specified work area
* Return the name of the currently active RDD
* $SYNTAX$
* RDDNAME() --> cRDDName
* $ARGUMENTS$
*
* $RETURNS$
Returns a character string, cRDDName, the registered name of the active
RDD in the current or specified work area.
* Returns a character string, cRDDName, the registered name of the active
* RDD in the current or specified work area.
* $DESCRIPTION$
RDDNAME() is an RDD function that returns a character string, cRDDName,
the name of the active RDD in the current or specified work area.
You can specify a work area other than the currently active work area by
aliasing the function.
* RDDNAME() is an RDD function that returns a character string, cRDDName,
* the name of the active RDD in the current or specified work area.
*
* You can specify a work area other than the currently active work area by
* aliasing the function.
* $EXAMPLES$
USE Customer VIA "DBFNTX" NEW
USE Sales VIA "DBFCDX" NEW
? RDDNAME() // Returns: DBFCDX
? Customer->( RDDNAME() ) // Returns: DBFNTX
? Sales->( RDDNAME() ) // Returns: DBFCDX
* USE Customer VIA "DBFNTX" NEW
* USE Sales VIA "DBFCDX" NEW
*
* ? RDDNAME() // Returns: DBFCDX
* ? Customer->( RDDNAME() ) // Returns: DBFNTX
* ? Sales->( RDDNAME() ) // Returns: DBFCDX
* $TESTS$
*
* $STATUS$
@@ -6947,31 +7079,31 @@ HARBOUR HB_RDDREGISTER( void )
* $ONELINER$
* Set or return the default RDD for the application
* $SYNTAX$
RDDSETDEFAULT([<cNewDefaultRDD>])
--> cPreviousDefaultRDD
* RDDSETDEFAULT([<cNewDefaultRDD>])
* --> cPreviousDefaultRDD
*
* $ARGUMENTS$
<cNewDefaultRDD> is a character string, the name of the RDD that is
to be made the new default RDD in the application.
* <cNewDefaultRDD> is a character string, the name of the RDD that is
* to be made the new default RDD in the application.
* $RETURNS$
RDDSETDEFAULT() returns a character string, cPreviousDefaultRDD, the
name of the previous default driver. The default driver is the driver
that HARBOUR uses if you do not explicitly specify an RDD with the
VIA clause of the USE command.
* RDDSETDEFAULT() returns a character string, cPreviousDefaultRDD, the
* name of the previous default driver. The default driver is the driver
* that HARBOUR uses if you do not explicitly specify an RDD with the
* VIA clause of the USE command.
* $DESCRIPTION$
RDDSETDEFAULT() is an RDD function that sets or returns the name of the
previous default RDD driver and, optionally, sets the current driver to
the new RDD driver specified by cNewDefaultRDD. If <cNewDefaultDriver>
is not specified, the current default driver name is returned and
continues to be the current default driver.
This function replaces the DBSETDRIVER() function.
* RDDSETDEFAULT() is an RDD function that sets or returns the name of the
* previous default RDD driver and, optionally, sets the current driver to
* the new RDD driver specified by cNewDefaultRDD. If <cNewDefaultDriver>
* is not specified, the current default driver name is returned and
* continues to be the current default driver.
*
* This function replaces the DBSETDRIVER() function.
* $EXAMPLES$
// If the default driver is not DBFNTX, make it the default
IF ( RDDSETDEFAULT() != "DBFNTX" )
cOldRdd := RDDSETDEFAULT( "DBFNTX" )
ENDIF
* // If the default driver is not DBFNTX, make it the default
*
* IF ( RDDSETDEFAULT() != "DBFNTX" )
* cOldRdd := RDDSETDEFAULT( "DBFNTX" )
* ENDIF
* $TESTS$
*
* $STATUS$

View File

@@ -26,7 +26,6 @@
*
* $ONELINER$
* Allows selection of an element from an array
*
* $SYNTAX$
* ACHOICE(<nTop>, <nLeft>, <nBottom>, <nRight>,
* <acMenuItems>,

View File

@@ -134,7 +134,7 @@ STATIC s_lNoAlert := NIL
*
* <nDelay> is an Harbour extension.
* $SEEALSO$
* 'comm.ngo:@...PROMPT' 'comm.ngo:MENU TO' STDOUT() __NONOALERT()
* comm.ngo:'@...PROMPT' comm.ngo:'MENU TO' STDOUT() __NONOALERT()
* $END$
*/

View File

@@ -52,7 +52,7 @@
* $CATEGORY$
* Terminal
* $ONELINER$
* Outputs the result of any expression using a picture transformation
* Displays a value to a device using a picture template
* $SYNTAX$
* DEVOUTPICT(<xExp>,<cPicture>[,<cColorString>]) --> NIL
* $ARGUMENTS$

View File

@@ -579,8 +579,8 @@ HARBOUR HB_GETE( void )
* $DESCRIPTION$
* This command runs an external program. Please make sure that you have
* enough free memory to be able to run the external program.
* Do not use it to run Terminate and Stay Resident programs (in case of DOS)
* since it cause several problems
* Do not use it to run Terminate and Stay Resident programs
* (in case of DOS) since it cause several problems
* $EXAMPLES$
* __Run( "edit " + cMyTextFile ) // Runs an external editor
* __Run( "command" ) // Gives a DOS shell (DOS only)

View File

@@ -61,6 +61,23 @@
* hb_fsIsDevice()
* HB_FSETDEVMOD()
*
*
* Copyright 2000 Luiz Rafael Culik <culik@sl.conex.net>
* FOPEN() DOCUMENTATION
* FCLOSE() DOCUMENTATION
* FWRITE() DOCUMENTATION
* FSEEK() DOCUMENTATION
* FREAD() DOCUMENTATION
* FILE() DOCUMENTATION
* FREADSTR() DOCUMENTATION
* FRENAME() DOCUMENTATION
* FERROR() DOCUMENTATION
* RENAME DOCUMENTATION
* ERASE DOCUMENTATION
* See doc/license.txt for licensing terms.
*
*/
* See doc/license.txt for licensing terms.
*
*/
@@ -1311,6 +1328,100 @@ FHANDLE hb_fsExtOpen( BYTE * pFilename, BYTE * pDefExt,
/*
* -- HARBOUR FUNCTIONS --
*/
/* $DOC$
* $FUNCNAME$
* FOPEN()
* $CATEGORY$
* LOW LEVEL
* $ONELINER$
* Open a binary file
* $SYNTAX$
* FOPEN(<cFile>, [<nMode>]) --> nHandle
* $ARGUMENTS$
* <cFile> is the name of the file to open, including the path if there
* is one.
*
* <nMode> is the requested DOS open mode indicating how the opened
* file is to be accessed. The open mode is composed of elements from the
* two types of modes described in the tables below. If just the Access
* Mode is used, the file is opened non-sharable. The default open mode is
* zero, which indicates non-sharable and read-only.
*
* FOPEN() Access Modes
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
* Mode Fileio.ch Operation
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
* 0 FO_READ Open for reading (default)
* 1 FO_WRITE Open for writing
* 2 FO_READWRITE Open for reading or writing
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
*
* The Sharing Modes determine how other processes may access the file.
*
* FOPEN() Sharing Modes
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
* Mode Fileio.ch Operation
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
* 0 FO_COMPAT Compatibility mode (default)
* 16 FO_EXCLUSIVE Exclusive use
* 32 FO_DENYWRITE Prevent others from writing
* 48 FO_DENYREAD Prevent others from reading
* 64 FO_DENYNONE Allow others to read or write
* 64 FO_SHARED Same as FO_DENYNONE
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
*
* The Access Modes in combination (+) with the Sharing modes determine the
* accessibility of the file in a network environment.
*
* $RETURNS$
* FOPEN() returns the file handle of the opened file in the range of zero
* to 65,535. If an error occurs, FOPEN() returns -1.
* $DESCRIPTION$
* FOPEN() is a low-level file function that opens an existing binary file
* for reading and writing, depending on the <nMode> argument. Whenever
* there is an open error, use FERROR() to return the DOS error number.
* For example, if the file does not exist, FOPEN() returns -1 and FERROR()
* returns 2 to indicate that the file was not found. See FERROR() for a
* complete list of error numbers.
*
* If the specified file is opened successfully, the value returned is the
* DOS handle for the file. This value is similar to an alias in the
* database system and is required to identify the open file to other file
* functions. It is, therefore, important to assign the return value to a
* variable for later use as in the example below.
*
* Warning! This function allows low-level access to DOS files and
* devices. It should be used with extreme care and requires a thorough
* knowledge of the operating system.
*
* Notes
*
* ^CFE Accessing files in other directories: FOPEN() does not obey
* either SET DEFAULT or SET PATH. Instead, it searches the current DOS
* directory and path setting unless a path is explicitly stated as part
* of the <cFile> argument.
* $EXAMPLES$
* ^CFE This example uses FOPEN() to open a file with sharable
* read/write status and displays an error message if the open fails:
*
* #include "Fileio.ch"
* //
* nHandle := FOPEN("Temp.txt", FO_READWRITE + FO_SHARED)
* IF FERROR() != 0
* ? "Cannot open file, DOS error ", FERROR()
* BREAK
* ENDIF
* $TESTS$
* $STATUS$
* R
* $COMPLIANCE$
* FOPEN() is CA-CLIPPER compilant
* $SEEALSO$
* FCREATE() FERROR() FCLOSE()
* $INCLUDE$
* Fileio.ch
* $END$
*/
HARBOUR HB_FOPEN( void )
{
@@ -1320,6 +1431,87 @@ HARBOUR HB_FOPEN( void )
else
hb_errRT_BASE( EG_ARG, 2021, NULL, "FOPEN" ); /* NOTE: Undocumented but existing Clipper Run-time error */
}
/* $DOC$
* $FUNCNAME$
* FCREATE()
* $CATEGORY$
* LOW LEVEL
* $ONELINER$
* Create and/or truncate a binary file to zero-length
* $SYNTAX$
* FCREATE(<cFile>, [<nAttribute>]) --> nHandle
* $ARGUMENTS$
* <cFile> is the name of the file to create. If the file already
* exists, its length is truncated to zero without warning.
*
* <nAttribute> is one of the binary file attributes shown in the table
* below. If this argument is omitted, the default value is zero.
*
* Binary File Attributes
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
* Value Fileio.ch Attribute Description
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
* 0 FC_NORMAL Normal Create normal read/write file (default)
* 1 FC_READONLY Read-only Create read-only file
* 2 FC_HIDDEN Hidden Create hidden file
* 4 FC_SYSTEM System Create system file
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
*
* $RETURNS$
* FCREATE() returns the DOS file handle number of the new binary file in
* the range of zero to 65,535. If an error occurs, FCREATE() returns
* -1 and FERROR() is set to indicate an error code.
* $DESCRIPTION$
* FCREATE() is a low-level file function that either creates a new file or
* opens and truncates an existing file. If <cFile> does not exist, it is
* created and opened for writing. If it does exist and can be opened for
* writing, it is truncated to zero-length. If it cannot be opened for
* writing, FCREATE() returns -1 and FERROR() returns the appropriate error
* value.
*
* When FCREATE() successfully creates a new file, the file is left open in
* compatibility sharing mode and read/write access mode. The file
* attribute specified by the <nAttribute> argument is applied to the new
* file when it is closed, allowing writing to a newly created read-only
* file. For a list of access modes, see FOPEN().
*
* Since a file handle is required in order to identify an open file to
* other file functions, always assign the return value from FCREATE() to a
* variable for later use.
*
* Like other file functions, FCREATE() does not use either the DEFAULT or
* PATH settings for its operation. Instead, it writes to the current DOS
* directory unless a path is explicitly stated.
*
* Warning! This function allows low-level access to DOS files and
* devices. It should be used with extreme care and requires a thorough
* knowledge of the operating system.
* $EXAMPLES$
* ^CFE This example creates a file called Testfile and opens it for
* reading and writing:
*
* #include "Fileio.ch"
*
* //
* IF (nHandle := FCREATE("Testfile", FC_NORMAL)) == -1
* ? "File cannot be created:", FERROR()
* BREAK
* ELSE
* FWRITE(nHandle, "Hello there")
* FCLOSE(nHandle)
* ENDIF
* $TESTS$
*
* $STATUS$
* R
* $COMPLIANCE$
* This function is CA-CLIPPER compilant
* $SEEALSO$
* FOPEN() FCLOSE() FERROR()
* $INCLUDE$
*
* $END$
*/
HARBOUR HB_FCREATE( void )
{
@@ -1329,6 +1521,78 @@ HARBOUR HB_FCREATE( void )
else
hb_retni( FS_ERROR );
}
/* $DOC$
* $FUNCNAME$
* FREAD()
* $CATEGORY$
* Low Level
* $ONELINER$
* Read characters from a binary file into a buffer variable
* $SYNTAX$
* FREAD(<nHandle>, @<cBufferVar>, <nBytes>) --> nBytes
* $ARGUMENTS$
* <nHandle> is the file handle obtained from FOPEN(), FCREATE(), or
* predefined by DOS.
*
* <cBufferVar> is the name of an existing and initialized character
* variable used to store data read from the specified file. The length of
* this variable must be greater than or equal to <nBytes>. <cBufferVar>
* must be passed by reference and, therefore, must be prefaced by the
* pass-by-reference operator (@).
*
* <nBytes> is the number of bytes to read into the buffer.
* $RETURNS$
* FREAD() returns the number of bytes successfully read as an integer
* numeric value. A return value less than <nBytes> or zero indicates end
* of file or some other read error.
* $DESCRIPTION$
* FREAD() is a low-level file function that reads characters from a binary
* file into an existing character variable. It reads from the file
* starting at the current DOS file pointer position, advancing the file
* pointer by the number of bytes read. All characters are read including
* control, null, and high-order (above CHR(127)) characters.
*
* FREAD() is similar in some respects to both FREADSTR() and FSEEK().
* FREADSTR() reads a specified number of bytes from a file up to the next
* null (CHR(0)) character. FSEEK() moves the file pointer without
* reading.
*
* If there is an error during the file read, FERROR() returns the DOS
* error number. See FERROR() for the list of error numbers.
*
* Warning! This function allows low-level access to DOS files and
* devices. It should be used with extreme care and requires a thorough
* knowledge of the operating system.
* $EXAMPLES$
* ^CFE This example uses FREAD() after successfully opening a file to
* read 128 bytes into a buffer area:
*
* #define F_BLOCK 128
*
* //
* cBuffer := SPACE(F_BLOCK)
* nHandle := FOPEN("Temp.txt")
* //
* IF FERROR() != 0
* ? "File open error:", FERROR()
* ELSE
* IF FREAD(nHandle, @cBuffer, F_BLOCK) <> F_BLOCK
* ? "Error reading Temp.txt"
* ENDIF
* FCLOSE(nHandle)
* ENDIF
* $TESTS$
*
* $STATUS$
* R
* $COMPLIANCE$
* This function is CA-Clipper compilant
* $SEEALSO$
* BIN2I() BIN2L() BIN2W() FERROR() FWRITE()
* $INCLUDE$
*
* $END$
*/
HARBOUR HB_FREAD( void )
{
@@ -1357,6 +1621,79 @@ HARBOUR HB_FREAD( void )
hb_retnl( ulRead );
}
/* $DOC$
* $FUNCNAME$
* FWRITE()
* $CATEGORY$
* Low Level
* $ONELINER$
* Write to an open binary file
* $SYNTAX$
* FWRITE(<nHandle>, <cBuffer>, [<nBytes>])
* --> nBytesWritten
* $ARGUMENTS$
* <nHandle> is the file handle obtained from FOPEN(), FCREATE(), or
* predefined by DOS.
*
* <cBuffer> is the character string to write to the specified file.
*
* <nBytes> indicates the number of bytes to write beginning at the
* current file pointer position. If omitted, the entire content of
* <cBuffer> is written.
* $RETURNS$
* FWRITE() returns the number of bytes written as an integer numeric
* value. If the value returned is equal to <nBytes>, the operation was
* successful. If the return value is less than <nBytes> or zero, either
* the disk is full or another error has occurred.
* $DESCRIPTION$
* FWRITE() is a low-level file function that writes data to an open binary
* file from a character string buffer. You can either write all or a
* portion of the buffer contents. Writing begins at the current file
* position, and the function returns the actual number of bytes written.
*
* If FWRITE() results in an error condition, FERROR() can be used to
* determine the specific error.
*
* Warning! This function allows low-level access to DOS files and
* devices. It should be used with extreme care and requires a thorough
* knowledge of the operating system
* $EXAMPLES$
* ^CFE This example copies the contents of one file to another:
*
* #include "Fileio.ch"
* #define F_BLOCK 512
* //
* cBuffer := SPACE(F_BLOCK)
* nInfile := FOPEN("Temp.txt", FO_READ)
* nOutfile := FCREATE("Newfile.txt", FC_NORMAL)
* lDone := .F.
* //
* DO WHILE !lDone
*
* nBytesRead := FREAD(nInfile, @cBuffer, F_BLOCK)
* IF FWRITE(nOutfile, cBuffer, nBytesRead) < ;
* nBytesRead
* ? "Write fault: ", FERROR()
* lDone := .T.
* ELSE
* lDone := (nBytesRead == 0)
* ENDIF
* ENDDO
* //
* FCLOSE(nInfile)
* FCLOSE(nOutfile)
* $TESTS$
* $STATUS$
* R
* $COMPLIANCE$
* This function is not CA-Clipper compatile since
* it can writes strings greather the 64K
* $SEEALSO$
* FCLOSE() FCREATE() FERROR() FOPEN() I2BIN() L2BIN()
* $INCLUDE$
*
* $END$
*/
HARBOUR HB_FWRITE( void )
{
@@ -1367,11 +1704,106 @@ HARBOUR HB_FWRITE( void )
else
hb_retnl( 0 );
}
/* $DOC$
* $FUNCNAME$
* FERROR()
* $CATEGORY$
* Low Level
* $ONELINER$
* Test for errors after a binary file operation
* $SYNTAX$
* FERROR() --> nErrorCode
* $ARGUMENTS$
*
* $RETURNS$
* FERROR() returns the DOS error from the last file operation as an
* integer numeric value. If there is no error, FERROR() returns zero.
*
* FERROR() Return Values
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
* Error Meaning
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
* 0 Successful
* 2 File not found
* 3 Path not found
* 4 Too many files open
* 5 Access denied
* 6 Invalid handle
* 8 Insufficient memory
* 15 Invalid drive specified
* 19 Attempted to write to a write-protected disk
* 21 Drive not ready
* 23 Data CRC error
* 29 Write fault
* 30 Read fault
* 32 Sharing violation
* 33 Lock Violation
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
* $DESCRIPTION$
* FERROR() is a low-level file function that indicates a DOS error after a
* file function is used. These functions include FCLOSE(), FCREATE(),
* FERASE(), FOPEN(), FREAD(), FREADSTR(), and FRENAME(). FERROR() retains
* its value until the next execution of a file function.
*
* Warning! This function allows low-level access to DOS files and
* devices. It should be used with extreme care and requires a thorough
* knowledge of the operating system.
* $EXAMPLES$
* ^CFE This example tests FERROR() after the creation of a binary
* file and displays an error message if the create fails:
*
* #include "Fileio.ch"
* //
* nHandle := FCREATE("Temp.txt", FC_NORMAL)
* IF FERROR() != 0
* ? "Cannot create file, DOS error ", FERROR()
* ENDIF
* $TESTS$
*
* $STATUS$
* R
* $COMPLIANCE$
* This function is CA-Clipper compatible
* $SEEALSO$
* FCLOSE() FERASE() FOPEN() FWRITE()
* $INCLUDE$
*
* $END$
*/
HARBOUR HB_FERROR( void )
{
hb_retni( hb_fsError() );
}
/* $DOC$
* $FUNCNAME$
* FCLOSE()
* $CATEGORY$
* Low Level
* $ONELINER$
*
* $SYNTAX$
*
* $ARGUMENTS$
*
* $RETURNS$
*
* $DESCRIPTION$
*
* $EXAMPLES$
*
* $TESTS$
*
* $STATUS$
*
* $COMPLIANCE$
*
* $SEEALSO$
*
* $INCLUDE$
*
* $END$
*/
HARBOUR HB_FCLOSE( void )
{
@@ -1385,6 +1817,59 @@ HARBOUR HB_FCLOSE( void )
else
hb_retl( FALSE );
}
/* $DOC$
* $FUNCNAME$
* FERASE()
* $CATEGORY$
* Low Level
* $ONELINER$
* Delete a file from disk
* $SYNTAX$
* FERASE(<cFile>) --> nSuccess
* $ARGUMENTS$
* <cFile> is the name of the file to be deleted from disk, including
* extension, optionally preceded by a drive and/or path specification.
* $RETURNS$
* FERASE() returns -1 if the operation fails and zero if it succeeds. In
* the case of a failure, FERROR() can be used to determine the nature of
* the error.
* $DESCRIPTION$
* FERASE() is a file function that deletes a specified file from disk.
* FERASE() is the same as the ERASE command but returns a value and can be
* specified within an expression. When FERASE() is called, <cFile> is
* deleted from disk only if found in the current DOS directory or in the
* directory explicitly specified as part of the filename. Like the other
* file functions and commands, FERASE() does not use either SET DEFAULT or
* SET PATH to locate <cFile>.
*
* Warning! Files must be CLOSEd before removing them with FERASE().
* $EXAMPLES$
* ^CFE This example deletes a set of files matching a wildcard
* pattern:
*
* #include "Directry.ch"
* AEVAL(DIRECTORY("*.BAK"), { |aFile| ;
* FERASE(aFile[F_NAME]) })
*
* ^CFE This example erases a file and displays a message if the
* operation fails:
*
* IF FERASE("AFile.txt") == -1
* ? "File erase error:", FERROR()
* BREAK
* ENDIF
* $TESTS$
*
* $STATUS$
* R
* $COMPLIANCE$
* This function is CA-Clipper Compatible
* $SEEALSO$
* FERROR() FRENAME()
* $INCLUDE$
*
* $END$
*/
HARBOUR HB_FERASE( void )
{
@@ -1395,6 +1880,63 @@ HARBOUR HB_FERASE( void )
else
hb_retni( -1 );
}
/* $DOC$
* $FUNCNAME$
* FRENAME()
* $CATEGORY$
* Low Level
* $ONELINER$
* Change the name of a file
* $SYNTAX$
* FRENAME(<cOldFile>, <cNewFile>) --> nSuccess
* $ARGUMENTS$
* <cOldFile> is the name of the file to rename, including the file
* extension. A drive letter and/or path name may also be included as part
* of the filename.
*
* <cNewFile> is the new name of the file, including the file
* extension. A drive letter and/or path name may also be included as part
* of the name.
* $RETURNS$
* FRENAME() returns -1 if the operation fails and zero if it succeeds. In
* the case of a failure, FERROR() can be used to determine the nature of
* the error.
* $DESCRIPTION$
* FRENAME() is a file function that changes the name of a specified file
* to a new name and is identical to the RENAME command.
*
* When FRENAME() is called, <cOldFile> is renamed only if it is located in
* the current DOS directory or in the specified path. FRENAME() does not
* use SET DEFAULT or SET PATH to locate <cOldFile>.
*
* If the source directory is different from the target directory, the file
* moves to the target directory. In the instance that either <cNewFile>
* exists or is currently open, FRENAME() fails and returns -1, indicating
* that it did not perform its designated action. The nature of the error
* can be determined with FERROR().
*
* Warning! Files must be CLOSEd before renaming. Attempting to
* rename an open file will produce unpredictable results. When a database
* file is renamed, the associated memo (.dbt) file must also be renamed.
* Failure to do so may compromise the integrity of your databases.
* $EXAMPLES$
* ^CFE This example demonstrates a file rename:
*
* IF FRENAME("OldFile.txt", "NewFile.txt") == -1
* ? "File error:", FERROR()
* ENDIF
* $TESTS$
*
* $STATUS$
* R
* $COMPLIANCE$
* This function is CA-Clipper compilant
* $SEEALSO$
* 'ERASE' FERASE() FERROR() FILE() 'RENAME'
* $INCLUDE$
*
* $END$
*/
HARBOUR HB_FRENAME( void )
{
@@ -1405,6 +1947,101 @@ HARBOUR HB_FRENAME( void )
else
hb_retni( -1 );
}
/* $DOC$
* $FUNCNAME$
* FSEEK()
* $CATEGORY$
* Low Level
* $ONELINER$
* Set a binary file pointer to a new position
* $SYNTAX$
* FSEEK(<nHandle>, <nOffset>, [<nOrigin>]) --> nPosition
* $ARGUMENTS$
* <nHandle> is the file handle obtained from FOPEN(), FCREATE(), or
* predefined by DOS.
*
* <nOffset> is the number of bytes to move the file pointer from the
* position defined by <nOrigin>. It can be a positive or negative number.
* A positive number moves the pointer forward, and a negative number moves
* the pointer backward in the file.
*
* <nOrigin> defines the starting location of the file pointer before
* FSEEK() is executed. The default value is zero, representing the
* beginning of file. If <nOrigin> is the end of file, <nOffset> must be
* zero or negative.
*
* Methods of Moving the File Pointer
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
* Origin Fileio.ch Description
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
* 0 FS_SET Seek from beginning of file
* 1 FS_RELATIVE Seek from the current pointer position
* 2 FS_END Seek from end of file
* ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
* $RETURNS$
* FSEEK() returns the new position of the file pointer relative to the
* beginning of file (position 0) as an integer numeric value. This value
* is without regard to the original position of the file pointer.
* $DESCRIPTION$
* FSEEK() is a low-level file function that moves the file pointer forward
* or backward in an open binary file without actually reading the contents
* of the specified file. The beginning position and offset are specified
* as function arguments, and the new file position is returned.
* Regardless of the function arguments specified, the file pointer cannot
* be moved beyond the beginning or end of file boundaries.
*
* Warning! This function allows low-level access to DOS files and
* devices. It should be used with extreme care and requires a thorough
* knowledge of the operating system.
* $EXAMPLES$
* ^CFE This example uses FSEEK() to determine the length of a file by
* seeking from the end of file. Then, the file pointer is reset to the
* beginning of file:
*
* #include "Fileio.ch"
* //
* // Open the file read-only
* IF (nHandle := FOPEN("Temp.txt")) >= 0
* //
* // Get length of the file
* nLength := FSEEK(nHandle, 0, FS_END)
* //
* // Reset file position to beginning of file
* FSEEK(nHandle, 0)
* FCLOSE(nHandle)
* ELSE
* ? "File open error:", FERROR()
* ENDIF
*
* ^CFE This pseudofunction positions the file pointer at the last
* byte in a binary file:
*
* #define FileBottom(nHandle);
* (FSEEK(nHandle, 0, FS_END))
*
* ^CFE This pseudofunction positions the file pointer at the first
* byte in a binary file:
*
* #define FileTop(nHandle);
* (FSEEK(nHandle, 0))
*
* ^CFE This pseudofunction reports the current position of the file
* pointer in a specified binary file:
*
* #define FilePos(nHandle);
* (FSEEK(nHandle, 0, FS_RELATIVE))
*
* $TESTS$
* $STATUS$
* R
* $COMPLIANCE$
* This function is CA-Clipper compilant
* $SEEALSO$
* FCREATE() FERROR() FOPEN() FREAD() FREADSTR() FWRITE()
* $INCLUDE$
* Fileio.ch
* $END$
*/
HARBOUR HB_FSEEK( void )
{
@@ -1447,11 +2084,122 @@ BOOL hb_fsFile( BYTE * pFilename )
return bIsFile;
}
/* $DOC$
* $FUNCNAME$
* FILE()
* $CATEGORY$
* Low Level
* $ONELINER$
* Determine if files exists
* $SYNTAX$
* FILE(<cFilespec>) --> lExists
* $ARGUMENTS$
* <cFilespec> is in the current Harbour default directory and path.
* It is a standard file specification that can include the wildcard
* characters * and ? as well as a drive and path reference. Explicit
* references to a file must also include an extension.
* $RETURNS$
* FILE() returns true (.T.) if there is a match for any file matching the
* <cFilespec> pattern; otherwise, it returns false (.F.).
* $DESCRIPTION$
* FILE() is an environment function that determines whether any file
* matching a file specification pattern is found. FILE() searches the
* specified directory if a path is explicitly specified.
*
* If a path is not specified, FILE() searches the current CA-Clipper
* default directory and then the CA-Clipper path. In no case is the DOS
* path searched. Note also that FILE() does not recognize hidden or
* system files in its search.
* $EXAMPLES$
* ^CFE In this example FILE() attempts to find Sales.dbf in other
* than the current CA-Clipper default:
*
* ? FILE("Sales.dbf") // Result: .F.
* ? FILE("\APPS\DBF\Sales.dbf") // Result: .T.
* //
* SET PATH TO \APPS\DBF
* ? FILE("Sales.dbf") // Result: .T.
* //
* SET PATH TO
* SET DEFAULT TO \APPS\DBF\
* ? FILE("Sales.dbf") // Result: .T.
* ? FILE("*.dbf") // Result: .T.
* $TESTS$
*
* $STATUS$
* R
* $COMPLIANCE$
* This function is CA-Clipper compatible
* $SEEALSO$
*
* $INCLUDE$
*
* $END$
*/
HARBOUR HB_FILE( void )
{
hb_retl( ISCHAR( 1 ) ? hb_fsFile( ( BYTE * ) hb_parc( 1 ) ) : FALSE );
}
/* $DOC$
* $FUNCNAME$
* FREADSTR()
* $CATEGORY$
* Low Level
* $ONELINER$
* Read characters from a binary file
* $SYNTAX$
* FREADSTR(<nHandle>, <nBytes>) --> cString
* $ARGUMENTS$
* <nHandle> is the file handle obtained from FOPEN(), FCREATE(), or
* predefined by DOS.
*
* <nBytes> is the number of bytes to read, beginning at the current
* DOS file pointer position.
* $RETURNS$
* FREADSTR() returns a character string with any size including
* strings greather then 64K. A return value ("") indicates an
* error or end of file.
* $DESCRIPTION$
* FREADSTR() is a low-level file function that reads characters from an
* open binary file beginning with the current DOS file pointer position.
* Characters are read up to <nBytes> or until a null character (CHR(0)) is
* encountered. All characters are read including control characters
* except for CHR(0). The file pointer is then moved forward <nBytes>. If
* <nBytes> is greater than the number of bytes from the pointer position
* to the end of the file, the file pointer is positioned to the last byte
* in the file.
*
* Warning! This function allows low-level access to DOS files and
* devices. It should be used with extreme care and requires a thorough
* knowledge of the operating system.
* $EXAMPLES$
* ^CFE This example displays the ASCII values of the first 16 bytes
* of a text file:
*
* #include "Fileio.ch"
* //
* nHandle := FOPEN("New.txt", FC_NORMAL)
* IF FERROR() != 0
* ? "File open error:", FERROR()
* ELSE
* cString := FREADSTR(nHandle, 16)
* ? cString
* FCLOSE(nHandle)
* ENDIF
* $TESTS$
*
* $STATUS$
* R
* $COMPLIANCE$
* This function is not CA-Clipper compilant since can read
* strings greather the 65K
* $SEEALSO$
* BIN2I() BIN2L() BIN2W() FERROR() FREAD() FSEEK()
* $INCLUDE$
*
* $END$
*/
HARBOUR HB_FREADSTR( void )
{
@@ -1714,3 +2462,121 @@ HARBOUR HB_FSETDEVMOD( void )
}
#endif
/* HARBOUR COMMAND THAT ARE PREPROCESSED IN FUNTION */
/* $DOC$
* $FUNCNAME$
* RENAME
* $CATEGORY$
* Command
* $ONELINER$
* Change the name of a file
* $SYNTAX$
* RENAME <xcOldFile> TO <xcNewFile>
*
* $ARGUMENTS$
* <xcOldFile> is the name of the file to rename including an extension
* and optionally preceded by a drive and/or path designator. <xcOldFile>
* can be specified as a literal string or a character expression enclosed
* in parentheses.
*
* TO <xcNewFile> specifies the new filename including extension and
* optionally prefaced by a drive and/or path designator. <xcNewFile> can
* be specified as a literal string or a character expression enclosed in
* parentheses.
*
* $RETURNS$
* $DESCRIPTION$
* RENAME is a file command that changes the name of a specified file to a
* new name. If the source directory is different from the target
* directory, the file moves to the new directory. RENAME does not use SET
* DEFAULT and SET PATH to locate <xcOldFile>. Instead, the <xcOldFile> is
* renamed only if it is located in the current DOS directory or in the
* specified path.
*
* In the instance that either <xcNewFile> exists or is currently open,
* RENAME does nothing. To trap this condition as an error, use the FILE()
* function before executing the command. See the example below.
*
* Warning! Files must be CLOSEd before renaming. Attempting to
* rename an open file will produce unpredictable results. When a database
* file is RENAMEd, remember that any associated memo (.dbt) file must also
* be RENAMEd. Failure to do so may compromise the integrity of your
* program.
*
* $EXAMPLES$
* ^CFE This example renames a file, checking for the existence of the
* target file before beginning the RENAME operation:
*
* xcOldFile := "OldFile.txt"
* xcNewFile := "NewFile.txt"
* IF !FILE(xcNewFile)
* RENAME (xcOldFile) TO (xcNewFile)
* ELSE
* ? "File already exists"
* ENDIF
* $TESTS$
*
* $STATUS$
* R
* $COMPLIANCE$
* This command is CA-Clipper compatible
* $SEEALSO$
* CURDIR() 'ERASE' FILE() FERASE() FRENAME()
* $INCLUDE$
*
* $END$
*/
/* $DOC$
* $FUNCNAME$
* ERASE
* $CATEGORY$
* Comamnd
* $ONELINER$
* Remove a file from disk
* $SYNTAX$
*
* DELETE FILE | ERASE <xcFile>
*
* $ARGUMENTS$
*
* <xcFile> is the name of the file to be deleted from disk and can be
* specified either as a literal filename or as a character expression
* enclosed in parentheses. You must specify the filename, including the
* extension, and it may optionally be preceded by a drive and/or path
* specification.
* $RETURNS$
* $DESCRIPTION$
*
* DELETE FILE, a synonym for ERASE, is a file command that removes the
* specified file from disk. SET DEFAULT and SET PATH do not affect DELETE
* FILE. The file is deleted from disk only if found in the current DOS
* directory or in the directory explicitly specified as part of the
* filename.
*
* Warning! Files must be CLOSEd before deleting them.
*
* $EXAMPLES$
*
* ^CFE This example removes a specified file from disk then tests to
* see if the file was in fact removed:
*
* ? FILE("Temp.dbf") // Result: .T.
* DELETE FILE Temp.dbf
* ? FILE("Temp.dbf") // Result: .F.
*
*
* $TESTS$
*
* $STATUS$
* R
* $COMPLIANCE$
* This command is CA-Clipper compatible
* $SEEALSO$
* CURDIR() FILE()
* $INCLUDE$
*
* $END$
*/

View File

@@ -35,32 +35,32 @@
/* $DOC$
* $FUNCNAME$
* HARDCR()
* HARDCR()
* $CATEGORY$
* STRINGS
* STRINGS
* $ONELINER$
* Converts soft carriage pair chr(141)/chr(10) into hard carriage chr(13)
* Globaly replace all soft cariages returns with hard cariages returs
* $SYNTAX$
* HARDCR( <cString> ) --> <cConvertedString>
* HARDCR( <cString> ) --> <cConvertedString>
* $ARGUMENTS$
* <cString> is a string of chars to convert.
* <cString> is a string of chars to convert.
* $RETURNS$
* Trasformed string.
* Trasformed string.
* $DESCRIPTION$
* Returns a string/memo with soft carriages chars converted to
* hard carraige char.
* Returns a string/memo with soft carriages chars converted to
* hard carraige char.
* $EXAMPLES$
* ? HARDCR( Data->CNOTES )
* ? HARDCR( Data->CNOTES )
* $TESTS$
* @ 1, 1 SAY HARDCR( Data->CNOTES )
* will display converted string starting on row two, column two of the
* current device.
* @ 1, 1 SAY HARDCR( Data->CNOTES )
* will display converted string starting on row two, column two of the
* current device.
* $STATUS$
* R
* R
* $COMPLIANCE$
* HARDCR() is fully CA-Clipper compliant.
* HARDCR() is fully CA-Clipper compliant.
* $SEEALSO$
* MEMOTRAN() STRTRAN()
* MEMOTRAN() STRTRAN()
* $END$
*/

View File

@@ -1162,7 +1162,7 @@ HARBOUR HB___MVXRELEASE( void )
* $CATEGORY$
* Variable Management
* $ONELINER$
* This function releases PRIVATE variables created in current procedure
* This function releases PRIVATE variables
* $SYNTAX$
* __MVRELEASE( <skeleton>, <include_exclude_flag> )
* $ARGUMENTS$
@@ -1233,12 +1233,15 @@ HARBOUR HB___MVRELEASE( void )
* <cVarName> = a string with a variable name to check
* $RETURNS$
* The symbolic values are defined in include/hbmemvar.ch
* HB_MV_NOT_FOUND =variable is not declared (not found in symbol table)
* HB_MV_UNKNOWN =if variable doesn't exist (but found in symbol table)
* HB_MV_ERROR =if information cannot be obtained (memory error or argument error)
* HB_MV_NOT_FOUND =variable is not declared (not found in symbol table)
* HB_MV_UNKNOWN =if variable doesn't exist (but found in symbol table)
* HB_MV_ERROR =if information cannot be obtained (memory error
* or argument error)
* HB_MV_PUBLIC =for public variables
* HB_MV_PRIVATE_GLOBAL =for private variables declared outside of current function/procedure
* HB_MV_PRIVATE_LOCAL =for private variables declared in current function/procedure
* HB_MV_PRIVATE_GLOBAL =for private variables declared outside of current
* function/procedure
* HB_MV_PRIVATE_LOCAL =for private variables declared in current
* function/procedure
* $DESCRIPTION$
*
* $EXAMPLES$
@@ -1356,9 +1359,9 @@ HARBOUR HB___MVCLEAR( void )
* It also returns the name of a variable if optional third argument
* is passed by reference.
*
* If requested variable doesn't exist (requested position is greater
* then the number of defined variables) then NIL value is returned
* and variable name is set to "?"
* If requested variable doesn't exist (requested position is
* greater then the number of defined variables) then NIL value is
* returned and variable name is set to "?"
*
* The dynamic symbols table is used to find a PUBLIC variable then
* the PUBLIC variables are always sorted alphabetically. The PRIVATE
@@ -1514,7 +1517,8 @@ HARBOUR HB___MVDBGINFO( void )
* The variable is specified by its name passed as the function parameter.
* $EXAMPLES$
* FUNCTION MEMVARBLOCK( cMemvar )
* RETURN {|x| IIF( PCOUNT()==0, __MVGET( cMemvar ), __MVPUT( cMemvar, x ) ) }
* RETURN {|x| IIF( PCOUNT()==0, __MVGET( cMemvar ),;
* __MVPUT( cMemvar, x ) ) }
* $STATUS$
*
* $COMPLIANCE$
@@ -1611,7 +1615,8 @@ HARBOUR HB___MVGET( void )
* If a value is not specified then the NIL is assumed
* $EXAMPLES$
* FUNCTION MEMVARBLOCK( cMemvar )
* RETURN {|x| IIF( PCOUNT()==0, __MVGET( cMemvar ), __MVPUT( cMemvar, x ) ) }
* RETURN {|x| IIF( PCOUNT()==0, __MVGET( cMemvar ),;
* __MVPUT( cMemvar, x ) ) }
* $STATUS$
*
* $COMPLIANCE$

View File

@@ -684,8 +684,7 @@ return oObject
* $CATEGORY$
* Object manipulation
* $ONELINER$
* Modify (replace) an INLINE method in an already
* existing class
* Modify (replace) an INLINE method in an already existing class
* $SYNTAX$
* __objModInline( <oObject>, <cInlineName>, <bInline> ) --> oObject
* $ARGUMENTS$

View File

@@ -189,38 +189,37 @@ return NIL //bReturn
/* $DOC$
* $FUNCNAME$
* HB_SETKEYSAVE()
* HB_SETKEYSAVE()
* $CATEGORY$
* Events
* Events
* $ONELINER$
* Returns a copy of internal set-key list,
* optionally overwriting
* Returns a copy of internal set-key list, optionally overwriting
* $SYNTAX$
* HB_SETKEYSAVE( [ <OldKeys> ] )
* HB_SETKEYSAVE( [ <OldKeys> ] )
* $ARGUMENTS$
* <OldKeys> is an optional set-key list from a previous call to
* HB_SetKeySave(), or NIL to clear current set-key list
* <OldKeys> is an optional set-key list from a previous call to
* HB_SetKeySave(), or NIL to clear current set-key list
* $RETURNS$
* Current set-key list
* Current set-key list
* $DESCRIPTION$
* HB_SetKeySave() is designed to act like the set() function which
* returns the current state of an environment setting, and optionally
* assigning a new value. In this case, the "environment setting" is the
* internal set-key list, and the optional new value is either a value
* returned from a previous call to SetKeySave() - to restore that list,
* or the value of NIL to clear the current list.
* HB_SetKeySave() is designed to act like the set() function which
* returns the current state of an environment setting, and optionally
* assigning a new value. In this case, the "environment setting" is the
* internal set-key list, and the optional new value is either a value
* returned from a previous call to SetKeySave() - to restore that list,
* or the value of NIL to clear the current list.
* $EXAMPLES$
* local aKeys := HB_SetKeySave( NIL ) // removes all current set=keys
* ... // some other processing
* HB_SetKeySave( aKeys )
* local aKeys := HB_SetKeySave( NIL ) // removes all current set=keys
* ... // some other processing
* HB_SetKeySave( aKeys )
* $TESTS$
* None definable
* None definable
* $STATUS$
* R
* R
* $COMPLIANCE$
* HB_SETKEYSAVE() is new.
* HB_SETKEYSAVE() is new.
* $SEEALSO$
* SETKEY()
* SETKEY()
* $END$
*/
Function HB_SetKeySave( OldKeys )

View File

@@ -54,12 +54,12 @@ STATIC s_cOldExtraFile
/* $DOC$
* $FUNCNAME$
* __TextSave()
* __TextSave()
* $CATEGORY$
* Internal
* Internal
* $ONELINER$
* Redirect console output to printer or a file and
* save old settings
* Redirect console output to printer or file and save old settings
*
* $SYNTAX$
* __TextSave( <cFile> ) --> NIL
* $ARGUMENTS$
@@ -80,7 +80,7 @@ STATIC s_cOldExtraFile
* $PLATFORMS$
* $FILES$
* $SEEALSO$
* envirom.ngi:SET() 'SET ALTERNATE' 'SET PRINTER' 'TEXT' __TextRestore()
* envirom.ngo:SET() 'SET ALTERNATE' 'SET PRINTER' 'TEXT' __TextRestore()
* $END$
*/
@@ -122,7 +122,7 @@ PROCEDURE __TextSave( cFile )
* $PLATFORMS$
* $FILES$
* $SEEALSO$
* envirom.ngi:SET() 'SET ALTERNATE' 'SET PRINTER' 'TEXT' __TextSave()
* envirom.ngo:SET() 'SET ALTERNATE' 'SET PRINTER' 'TEXT' __TextSave()
* $END$
*/

View File

@@ -189,7 +189,7 @@ PROCEDURE __XSAVESCREEN()
*/
/* $DOC$
* $FUNCNAME$
* REST SCREEN
* RESTORE SCREEN
* $CATEGORY$
* Command
* $ONELINER$