See changelog 20000407-06:30
This commit is contained in:
@@ -47,12 +47,14 @@
|
||||
* Return Nil
|
||||
* $STATUS$
|
||||
* R
|
||||
* $SEEALSO$
|
||||
* AADD(),ADEL(),AFILL(),AINS()
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-CLIPPER Compliant in all Cases, except that
|
||||
* arrays in Harbour can have an unlimited number of dimensions, while
|
||||
* Clipper has a limit of 4096 array elements.
|
||||
* Clipper has a limit of 4096 array elements.
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* AADD(),ADEL(),AFILL(),AINS()
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -87,6 +89,8 @@
|
||||
* NEXT
|
||||
* $STATUS$
|
||||
* R
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* AINS(),ASIZE()
|
||||
* $END$
|
||||
@@ -123,11 +127,11 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* If HB_COMPAT_C53 is defined, the function generates an Error,
|
||||
* else it will return the array itself.
|
||||
* else it will return the array itself.
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* AADD(),ADEL(),AFILL(),AINS()
|
||||
* $INCLUDE$
|
||||
*
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -154,7 +158,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA Clipper compliant
|
||||
* This function is CA Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* LEN(),ARRAY(),ASIZE(),AADD()
|
||||
* $END$
|
||||
@@ -193,10 +199,10 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* AADD(),ACOPY(),ADEL(),AEVAL(),AFILL(),ASIZE()
|
||||
* $INCLUDE$
|
||||
*
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -223,20 +229,19 @@
|
||||
* will become the fifth subscript position. The length of the array
|
||||
* <aArray> will remain unchanged,as the last element in the array will
|
||||
* become a NIL data type.
|
||||
* $EXAMPLES$
|
||||
|
||||
* $EXAMPLES$
|
||||
* LOCAL aArray
|
||||
* aArray := { "Harbour","is","Power" } // Result: aArray is
|
||||
*
|
||||
* ADEL(aArray, 2) // Result: aArray is
|
||||
|
||||
* ADEL(aArray, 2) // Result: aArray is
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* ACOPY(),AINS(),AFILL()
|
||||
*
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -279,6 +284,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* AADD(),AEVAL(),DBSTRUCT(),DIRECTORY()
|
||||
* $END$
|
||||
@@ -329,6 +336,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is not CA-Clipper compatible. Clipper ASCAN() is affected by the SET EXACT ON/OFF Condition
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* AEVAL()
|
||||
* $END$
|
||||
@@ -372,6 +381,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* EVAL(),DBEVAL()
|
||||
* $END$
|
||||
@@ -431,6 +442,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* ACLONE(),ADEL(),AEVAL(),AFILL(),AINS(),ASORT()
|
||||
* $END$
|
||||
@@ -465,6 +478,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* Clipper will return NIL if the parameter is not an array.
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* ACOPY(),ADEL(),AINS(),ASIZE()
|
||||
* $END$
|
||||
@@ -529,6 +544,8 @@
|
||||
* will be called one more time for the first logical element than
|
||||
* in Clipper. But this is block calling frequency and order differs
|
||||
* from Clipper anyway, since they use different sorting algorithm.
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* ASCAN(),EVAL(),SORT
|
||||
* $END$
|
||||
|
||||
@@ -26,23 +26,23 @@
|
||||
* $ARGUMENTS$
|
||||
* <cBuffer> is a character string that contain 16 bit encoded unsigned
|
||||
* short integer (least significant byte first). The first two bytes
|
||||
* are taken into account, the rest if any are ignored. </par>
|
||||
* are taken into account, the rest if any are ignored.
|
||||
* $RETURNS$
|
||||
* BIN2W() return numeric integer (or 0 if <cBuffer> is not a string). </par>
|
||||
* BIN2W() return numeric integer (or 0 if <cBuffer> is not a string).
|
||||
* $DESCRIPTION$
|
||||
* BIN2W() is one of the low level binary conversion functions, those
|
||||
* functions convert between Harbour numeric and a character
|
||||
* representation of numeric value. BIN2W() take two bytes of encoded
|
||||
* 16 bit unsigned short integer and convert it into standard Harbour
|
||||
* numeric value. </par>
|
||||
* numeric value.
|
||||
|
||||
* You might ask what is the need for such functions, well, first of
|
||||
* all it allow you to read/write information from/to a binary file
|
||||
* (like extracting information from DBF header), it is also a useful
|
||||
* way to share information from source other than Harbour (C for
|
||||
* instance). </par>
|
||||
* instance).
|
||||
|
||||
* BIN2W() is the opposite of W2BIN() </par>
|
||||
* BIN2W() is the opposite of W2BIN()
|
||||
* $EXAMPLES$
|
||||
<fixed>
|
||||
* // Show header length of a DBF
|
||||
@@ -62,7 +62,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* BIN2W() works exactly like CA-Clipper's BIN2W() </par>
|
||||
* BIN2W() works exactly like CA-Clipper's BIN2W()
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* BIN2I(),BIN2L(),BIN2U(),I2BIN(),L2BIN(),W2BIN(),WORD(),U2BIN(),FREAD()
|
||||
* $END$
|
||||
@@ -80,23 +82,23 @@
|
||||
* $ARGUMENTS$
|
||||
* <cBuffer> is a character string that contain 16 bit encoded signed
|
||||
* short integer (least significant byte first). The first two bytes
|
||||
* are taken into account, the rest if any are ignored. </par>
|
||||
* are taken into account, the rest if any are ignored.
|
||||
* $RETURNS$
|
||||
* BIN2I() return numeric integer (or 0 if <cBuffer> is not a string). </par>
|
||||
* BIN2I() return numeric integer (or 0 if <cBuffer> is not a string).
|
||||
* $DESCRIPTION$
|
||||
* BIN2I() is one of the low level binary conversion functions, those
|
||||
* functions convert between Harbour numeric and a character
|
||||
* representation of numeric value. BIN2I() take two bytes of encoded
|
||||
* 16 bit signed short integer and convert it into standard Harbour
|
||||
* numeric value. </par>
|
||||
* numeric value.
|
||||
|
||||
* You might ask what is the need for such functions, well, first of
|
||||
* all it allow you to read/write information from/to a binary file
|
||||
* (like extracting information from DBF header), it is also a useful
|
||||
* way to share information from source other than Harbour (C for
|
||||
* instance). </par>
|
||||
* instance).
|
||||
|
||||
* BIN2I() is the opposite of I2BIN() </par>
|
||||
* BIN2I() is the opposite of I2BIN()
|
||||
* $EXAMPLES$
|
||||
<fixed>
|
||||
* // Show DBF last update date
|
||||
@@ -119,7 +121,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* BIN2I() works exactly like CA-Clipper's BIN2I() </par>
|
||||
* BIN2I() works exactly like CA-Clipper's BIN2I()
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* BIN2L(),BIN2U(),BIN2W(),I2BIN(),L2BIN(),W2BIN(),WORD(),U2BIN(),FREAD()
|
||||
* $END$
|
||||
@@ -137,23 +141,23 @@
|
||||
* $ARGUMENTS$
|
||||
* <cBuffer> is a character string that contain 32 bit encoded signed
|
||||
* long integer (least significant byte first). The first four bytes
|
||||
* are taken into account, the rest if any are ignored. </par>
|
||||
* are taken into account, the rest if any are ignored.
|
||||
* $RETURNS$
|
||||
* BIN2L() return numeric integer (or 0 if <cBuffer> is not a string). </par>
|
||||
* BIN2L() return numeric integer (or 0 if <cBuffer> is not a string).
|
||||
* $DESCRIPTION$
|
||||
* BIN2L() is one of the low level binary conversion functions, those
|
||||
* functions convert between Harbour numeric and a character
|
||||
* representation of numeric value. BIN2L() take four bytes of encoded
|
||||
* 32 bit signed long integer and convert it into standard Harbour
|
||||
* numeric value. </par>
|
||||
* numeric value.
|
||||
|
||||
* You might ask what is the need for such functions, well, first of
|
||||
* all it allow you to read/write information from/to a binary file
|
||||
* (like extracting information from DBF header), it is also a useful
|
||||
* way to share information from source other than Harbour (C for
|
||||
* instance). </par>
|
||||
* instance).
|
||||
|
||||
* BIN2L() is the opposite of L2BIN() </par>
|
||||
* BIN2L() is the opposite of L2BIN()
|
||||
* $EXAMPLES$
|
||||
<fixed>
|
||||
* // Show number of records in DBF
|
||||
@@ -173,7 +177,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* BIN2L() works exactly like CA-Clipper's BIN2L() </par>
|
||||
* BIN2L() works exactly like CA-Clipper's BIN2L()
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* BIN2I(),BIN2U(),BIN2W(),I2BIN(),L2BIN(),W2BIN(),WORD(),U2BIN(),FREAD()
|
||||
* $END$
|
||||
@@ -191,23 +197,23 @@
|
||||
* $ARGUMENTS$
|
||||
* <cBuffer> is a character string that contain 32 bit encoded unsigned
|
||||
* long integer (least significant byte first). The first four bytes
|
||||
* are taken into account, the rest if any are ignored. </par>
|
||||
* are taken into account, the rest if any are ignored.
|
||||
* $RETURNS$
|
||||
* BIN2U() return numeric integer (or 0 if <cBuffer> is not a string). </par>
|
||||
* BIN2U() return numeric integer (or 0 if <cBuffer> is not a string).
|
||||
* $DESCRIPTION$
|
||||
* BIN2U() is one of the low level binary conversion functions, those
|
||||
* functions convert between Harbour numeric and a character
|
||||
* representation of numeric value. BIN2U() take four bytes of encoded
|
||||
* 32 bit unsigned long integer and convert it into standard Harbour
|
||||
* numeric value. </par>
|
||||
* numeric value.
|
||||
|
||||
* You might ask what is the need for such functions, well, first of
|
||||
* all it allow you to read/write information from/to a binary file
|
||||
* (like extracting information from DBF header), it is also a useful
|
||||
* way to share information from source other than Harbour (C for
|
||||
* instance). </par>
|
||||
* instance).
|
||||
|
||||
* BIN2U() is the opposite of U2BIN() </par>
|
||||
* BIN2U() is the opposite of U2BIN()
|
||||
* $EXAMPLES$
|
||||
<fixed>
|
||||
* // Show number of records in DBF
|
||||
@@ -228,9 +234,11 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* BIN2U() is an XBase++ compatibility function and does not exist
|
||||
* as a standard CA-Clipper 5.x function. </par>
|
||||
* as a standard CA-Clipper 5.x function.
|
||||
* This function is only visible if source/rtl/binnum.c was compiled
|
||||
* with the HB_COMPAT_XPP flag. </par>
|
||||
* with the HB_COMPAT_XPP flag.
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* BIN2I(),BIN2L(),BIN2W(),I2BIN(),L2BIN(),W2BIN(),WORD(),U2BIN(),FREAD()
|
||||
* $END$
|
||||
@@ -246,24 +254,24 @@
|
||||
* $SYNTAX$
|
||||
* I2BIN( <nNumber> ) --> cBuffer
|
||||
* $ARGUMENTS$
|
||||
* <nNumber> is a numeric value to convert (decimal digits are ignored). </par>
|
||||
* <nNumber> is a numeric value to convert (decimal digits are ignored).
|
||||
* $RETURNS$
|
||||
* I2BIN() return two bytes character string that contain 16 bit
|
||||
* encoded signed short integer (least significant byte first). </par>
|
||||
* encoded signed short integer (least significant byte first).
|
||||
* $DESCRIPTION$
|
||||
* I2BIN() is one of the low level binary conversion functions, those
|
||||
* functions convert between Harbour numeric and a character
|
||||
* representation of numeric value. I2BIN() take a numeric integer
|
||||
* value and convert it into two bytes of encoded 16 bit signed short
|
||||
* integer. </par>
|
||||
* integer.
|
||||
|
||||
* You might ask what is the need for such functions, well, first of
|
||||
* all it allow you to read/write information from/to a binary file
|
||||
* (like extracting information from DBF header), it is also a useful
|
||||
* way to share information from source other than Harbour (C for
|
||||
* instance). </par>
|
||||
* instance).
|
||||
|
||||
* I2BIN() is the opposite of BIN2I() </par>
|
||||
* I2BIN() is the opposite of BIN2I()
|
||||
* $EXAMPLES$
|
||||
<fixed>
|
||||
* // Update DBF "last update" date
|
||||
@@ -294,7 +302,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* I2BIN() works exactly like CA-Clipper's I2BIN() </par>
|
||||
* I2BIN() works exactly like CA-Clipper's I2BIN()
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* BIN2I,BIN2L(),BIN2U(),BIN2W(),L2BIN(),W2BIN(),WORD(),U2BIN(),FWRITE()
|
||||
* $END$
|
||||
@@ -310,31 +320,33 @@
|
||||
* $SYNTAX$
|
||||
* W2BIN( <nNumber> ) --> cBuffer
|
||||
* $ARGUMENTS$
|
||||
* <nNumber> is a numeric value to convert (decimal digits are ignored). </par>
|
||||
* <nNumber> is a numeric value to convert (decimal digits are ignored).
|
||||
* $RETURNS$
|
||||
* W2BIN() return two bytes character string that contain 16 bit
|
||||
* encoded unsigned short integer (least significant byte first). </par>
|
||||
* encoded unsigned short integer (least significant byte first).
|
||||
* $DESCRIPTION$
|
||||
* W2BIN() is one of the low level binary conversion functions, those
|
||||
* functions convert between Harbour numeric and a character
|
||||
* representation of numeric value. W2BIN() take a numeric integer
|
||||
* value and convert it into two bytes of encoded 16 bit unsigned short
|
||||
* integer. </par>
|
||||
* integer.
|
||||
|
||||
* You might ask what is the need for such functions, well, first of
|
||||
* all it allow you to read/write information from/to a binary file
|
||||
* (like extracting information from DBF header), it is also a useful
|
||||
* way to share information from source other than Harbour (C for
|
||||
* instance). </par>
|
||||
* instance).
|
||||
|
||||
* W2BIN() is the opposite of BIN2W() </par>
|
||||
* W2BIN() is the opposite of BIN2W()
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* W2BIN() is an XBase++ compatibility function and does not exist
|
||||
* as a standard CA-Clipper 5.x function. </par>
|
||||
* as a standard CA-Clipper 5.x function.
|
||||
* This function is only visible if source/rtl/binnum.c was compiled
|
||||
* with the HB_COMPAT_XPP flag. </par>
|
||||
* with the HB_COMPAT_XPP flag.
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* BIN2I,BIN2L(),BIN2U(),BIN2W(),I2BIN(),L2BIN(),WORD(),U2BIN(),FWRITE()
|
||||
* $END$
|
||||
@@ -350,28 +362,30 @@
|
||||
* $SYNTAX$
|
||||
* L2BIN( <nNumber> ) --> cBuffer
|
||||
* $ARGUMENTS$
|
||||
* <nNumber> is a numeric value to convert (decimal digits are ignored). </par>
|
||||
* <nNumber> is a numeric value to convert (decimal digits are ignored).
|
||||
* $RETURNS$
|
||||
* L2BIN() return four bytes character string that contain 32 bit
|
||||
* encoded signed long integer (least significant byte first). </par>
|
||||
* encoded signed long integer (least significant byte first).
|
||||
* $DESCRIPTION$
|
||||
* L2BIN() is one of the low level binary conversion functions, those
|
||||
* functions convert between Harbour numeric and a character
|
||||
* representation of numeric value. L2BIN() take a numeric integer
|
||||
* value and convert it into four bytes of encoded 32 bit signed long
|
||||
* integer. </par>
|
||||
* integer.
|
||||
|
||||
* You might ask what is the need for such functions, well, first of
|
||||
* all it allow you to read/write information from/to a binary file
|
||||
* (like extracting information from DBF header), it is also a useful
|
||||
* way to share information from source other than Harbour (C for
|
||||
* instance). </par>
|
||||
* instance).
|
||||
|
||||
* L2BIN() is the opposite of BIN2L() </par>
|
||||
* L2BIN() is the opposite of BIN2L()
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* L2BIN() works exactly like CA-Clipper's L2BIN() </par>
|
||||
* L2BIN() works exactly like CA-Clipper's L2BIN()
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* BIN2I,BIN2L(),BIN2U(),BIN2W(),I2BIN(),W2BIN(),WORD(),U2BIN(),FWRITE()
|
||||
* $END$
|
||||
@@ -387,31 +401,33 @@
|
||||
* $SYNTAX$
|
||||
* U2BIN( <nNumber> ) --> cBuffer
|
||||
* $ARGUMENTS$
|
||||
* <nNumber> is a numeric value to convert (decimal digits are ignored). </par>
|
||||
* <nNumber> is a numeric value to convert (decimal digits are ignored).
|
||||
* $RETURNS$
|
||||
* U2BIN() return four bytes character string that contain 32 bit
|
||||
* encoded unsigned long integer (least significant byte first). </par>
|
||||
* encoded unsigned long integer (least significant byte first).
|
||||
* $DESCRIPTION$
|
||||
* U2BIN() is one of the low level binary conversion functions, those
|
||||
* functions convert between Harbour numeric and a character
|
||||
* representation of numeric value. U2BIN() take a numeric integer
|
||||
* value and convert it into four bytes of encoded 32 bit unsigned long
|
||||
* integer. </par>
|
||||
* integer.
|
||||
|
||||
* You might ask what is the need for such functions, well, first of
|
||||
* all it allow you to read/write information from/to a binary file
|
||||
* (like extracting information from DBF header), it is also a useful
|
||||
* way to share information from source other than Harbour (C for
|
||||
* instance). </par>
|
||||
* instance).
|
||||
|
||||
* U2BIN() is the opposite of BIN2U() </par>
|
||||
* U2BIN() is the opposite of BIN2U()
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* U2BIN() is an XBase++ compatibility function and does not exist
|
||||
* as a standard CA-Clipper 5.x function. </par>
|
||||
* as a standard CA-Clipper 5.x function.
|
||||
* This function is only visible if source/rtl/binnum.c was compiled
|
||||
* with the HB_COMPAT_XPP flag. </par>
|
||||
* with the HB_COMPAT_XPP flag.
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* BIN2I,BIN2L(),BIN2U(),BIN2W(),I2BIN(),L2BIN(),W2BIN(),WORD(),FWRITE()
|
||||
* $END$
|
||||
@@ -427,18 +443,20 @@
|
||||
* $SYNTAX$
|
||||
* WORD( <nDouble> ) --> <nInteger>
|
||||
* $ARGUMENTS$
|
||||
* <nDouble> is a numeric double value. </par>
|
||||
* <nDouble> is a numeric double value.
|
||||
* $RETURNS$
|
||||
* WORD() return an integer in the range +-32767 </par>
|
||||
* WORD() return an integer in the range +-32767
|
||||
* $DESCRIPTION$
|
||||
* This function converts double values to integers to use
|
||||
* within the CALL command </par>
|
||||
* within the CALL command
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* The Clipper NG states that WORD() will only work when used in CALL
|
||||
* commands parameter list, otherwise it will return NIL, in Harbour
|
||||
* it will work anywhere. </par>
|
||||
* it will work anywhere.
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* CALL
|
||||
* $END$
|
||||
|
||||
@@ -32,21 +32,21 @@
|
||||
* DBEDIT( [<nTop>], [<nLeft>], [<nBottom>], [<nRight>], [<acColumns>], [<xUserFunc>], [<xColumnSayPictures>], [<xColumnHeaders>], [<xHeadingSeparators>], [<xColumnSeparators>], [<xFootingSeparators>], [<xColumnFootings>] ) --> lOk
|
||||
* $ARGUMENTS$
|
||||
* <nTop> coordinate for top row display. <nTop> could range from 0
|
||||
* to MAXROW(), default is 0. </par>
|
||||
* to MAXROW(), default is 0.
|
||||
*
|
||||
* <nLeft> coordinate for left column display. <nLeft> could range
|
||||
* from 0 to MAXCOL(), default is 0. </par>
|
||||
* from 0 to MAXCOL(), default is 0.
|
||||
*
|
||||
* <nBottom> coordinate for bottom row display. <nBottom> could range
|
||||
* from 0 to MAXROW(), default is MAXROW(). </par>
|
||||
* from 0 to MAXROW(), default is MAXROW().
|
||||
*
|
||||
* <nRight> coordinate for right column display. <nRight> could range
|
||||
* from 0 to MAXCOL(), default is MAXCOL(). </par>
|
||||
* from 0 to MAXCOL(), default is MAXCOL().
|
||||
*
|
||||
* <acColumns> is an array of character expressions that contain
|
||||
* database fields names or expressions to display in each column.
|
||||
* If not specified, the default is to display all fields from the
|
||||
* database in the current work area. </par>
|
||||
* database in the current work area.
|
||||
*
|
||||
* <xUserFunc> is a name of a user defined function or a code block
|
||||
* that would be called every time unrecognized key is been pressed or
|
||||
@@ -56,14 +56,14 @@
|
||||
* parentheses. Both the user define function or the code block should
|
||||
* accept two parameters: nMode, nCurrentColumn. Both should return
|
||||
* a numeric value that correspond to one of the expected return codes
|
||||
* (see table below for a list of nMode and return codes). </par>
|
||||
* (see table below for a list of nMode and return codes).
|
||||
*
|
||||
* <xColumnSayPictures> is an optional picture. If <xColumnSayPictures>
|
||||
* is a character string, all columns would used this value as a
|
||||
* picture string. If <xColumnSayPictures> is an array, each element
|
||||
* should be a character string that correspond to a picture string
|
||||
* for the column with the same index. Look at the help for @...SAY
|
||||
* to get more information about picture values. </par>
|
||||
* to get more information about picture values.
|
||||
*
|
||||
* <xColumnHeaders> contain the header titles for each column, if this
|
||||
* is a character string, all columns would have that same header, if
|
||||
@@ -71,70 +71,78 @@
|
||||
* the header title for one column. Header may be split to more than
|
||||
* one line by placing semicolon (;) in places where you want to break
|
||||
* line. If omitted, the default value for each column header is taken
|
||||
* from <acColumns> or field name if <acColumns> was not specified. </par>
|
||||
* from <acColumns> or field name if <acColumns> was not specified.
|
||||
*
|
||||
* <xHeadingSeparators> is an array that contain characters that draw
|
||||
* the lines separating the headers and the fields data. Instead of an
|
||||
* array you can use a character string that would be used to display
|
||||
* the same line for all fields. Default value is a double line. </par>
|
||||
* the same line for all fields. Default value is a double line.
|
||||
*
|
||||
* <xColumnSeparators> is an array that contain characters that draw
|
||||
* the lines separating displayed columns. Instead of an array you can
|
||||
* use a character string that would be used to display the same line
|
||||
* for all fields. Default value is a single line. </par>
|
||||
* for all fields. Default value is a single line.
|
||||
*
|
||||
* <xFootingSeparators> is an array that contain characters that draw
|
||||
* the lines separating the fields data area and the footing area.
|
||||
* Instead of an array you can use a character string that would be
|
||||
* used to display the same line for all footers. Default is to have to
|
||||
* no footing separators. </par>
|
||||
* no footing separators.
|
||||
*
|
||||
* <xColumnFootings> contain the footing to be displayed at the bottom
|
||||
* of each column, if this is a character string, all columns would
|
||||
* have that same footer, if this is an array, each element is a
|
||||
* character string that contain the footer for one column. Footer may
|
||||
* be split to more than one line by placing semicolon (;) in places
|
||||
* where you want to break line. If omitted, no footer are displayed. </par>
|
||||
* where you want to break line. If omitted, no footer are displayed.
|
||||
* $RETURNS$
|
||||
* DBEDIT() return .F. if there is no database in use or if the number
|
||||
* of columns to display is zero, else DBEDIT() return .T. </par>
|
||||
* of columns to display is zero, else DBEDIT() return .T.
|
||||
* $DESCRIPTION$
|
||||
* DBEDIT() display and edit records from one or more work areas in
|
||||
* a grid on screen. Each column is defined by element from <acColumns>
|
||||
* and is the equivalent of one field. Each row is equivalent of one
|
||||
* database record. </par>
|
||||
* database record.
|
||||
|
||||
* Following are active keys that handled by DBEDIT():
|
||||
* ---------------------------------------------------
|
||||
|
||||
* Following are active keys that handled by DBEDIT(): </par>
|
||||
* --------------------------------------------------- </par>
|
||||
* <table>
|
||||
* Left - Move one column to the left (previous field)
|
||||
* Right - Move one column to the right (next field)
|
||||
* Up - Move up one row (previous record)
|
||||
* Down - Move down one row (next record)
|
||||
* Page-Up - Move to the previous screen
|
||||
* Page-Down - Move to the next screen
|
||||
* Ctrl Page-Up - Move to the top of the file
|
||||
* Ctrl Page-Down - Move to the end of the file
|
||||
* Home - Move to the leftmost visible column
|
||||
* End - Move to the rightmost visible column
|
||||
* Ctrl Left - Pan one column to the left
|
||||
* Ctrl Right - Pan one column to the right
|
||||
* Ctrl Home - Move to the leftmost column
|
||||
* Ctrl End - Move to the rightmost column
|
||||
* Key Meaning
|
||||
*
|
||||
* Left Move one column to the left (previous field)
|
||||
* Right Move one column to the right (next field)
|
||||
* Up Move up one row (previous record)
|
||||
* Down Move down one row (next record)
|
||||
* Page-Up Move to the previous screen
|
||||
* Page-Down Move to the next screen
|
||||
* Ctrl Page-Up Move to the top of the file
|
||||
* Ctrl Page-Down Move to the end of the file
|
||||
* Home Move to the leftmost visible column
|
||||
* End Move to the rightmost visible column
|
||||
* Ctrl Left Pan one column to the left
|
||||
* Ctrl Right Pan one column to the right
|
||||
* Ctrl Home Move to the leftmost column
|
||||
* Ctrl End Move to the rightmost column
|
||||
* </table>
|
||||
* When <xUserFunc> is omitted, two more keys are active: </par>
|
||||
|
||||
* When <xUserFunc> is omitted, two more keys are active:
|
||||
|
||||
* <table>
|
||||
* Esc - Terminate BROWSE()
|
||||
* Enter - Terminate BROWSE()
|
||||
* Esc Terminate BROWSE()
|
||||
* Enter Terminate BROWSE()
|
||||
* </table>
|
||||
* When DBEDIT() execute <xUserFunc> it pass the following arguments:
|
||||
* nMode and the index of current record in <acColumns>. If <acColumns>
|
||||
* is omitted, the index number is the FIELD() number of the open
|
||||
* database structure. </par>
|
||||
* database structure.
|
||||
|
||||
* DBEDIT() nMode could be one of the following:
|
||||
* ---------------------------------------------
|
||||
|
||||
* DBEDIT() nMode could be one of the following: </par>
|
||||
* --------------------------------------------- </par>
|
||||
* <table>
|
||||
* Dbedit.ch Meaning
|
||||
*
|
||||
* DE_IDLE DBEDIT() is idle, all movement keys have been handled.
|
||||
* DE_HITTOP Attempt to cursor past top of file.
|
||||
* DE_HITBOTTOM Attempt to cursor past bottom of file.
|
||||
@@ -142,22 +150,25 @@
|
||||
* DE_EXCEPT Key exception.
|
||||
* </table>
|
||||
* The user define function or code block must return a value that tell
|
||||
* DBEDIT() what to do next. </par>
|
||||
* DBEDIT() what to do next.
|
||||
|
||||
* User function return codes:
|
||||
* ---------------------------
|
||||
|
||||
* User function return codes: </par>
|
||||
* --------------------------- </par>
|
||||
* <table>
|
||||
* DE_ABORT Abort DBEDIT().
|
||||
* DE_CONT Continue DBEDIT() as is.
|
||||
* DE_REFRESH Force reread/redisplay of all data rows.
|
||||
* Dbedit.ch Value Meaning
|
||||
*
|
||||
* DE_ABORT 0 Abort DBEDIT().
|
||||
* DE_CONT 1 Continue DBEDIT() as is.
|
||||
* DE_REFRESH 2 Force reread/redisplay of all data rows.
|
||||
* </table>
|
||||
* The user function is called once in each of the following cases: </par>
|
||||
* - The database is empty. </par>
|
||||
* - The user try to move past top of file or past bottom file. </par>
|
||||
* - Key exception, the uses had pressed a key that is not handled by DBEDIT(). </par>
|
||||
* - The keyboard buffer is empty or a screen refresh had just occurred </par>
|
||||
* The user function is called once in each of the following cases:
|
||||
* - The database is empty.
|
||||
* - The user try to move past top of file or past bottom file.
|
||||
* - Key exception, the uses had pressed a key that is not handled by DBEDIT().
|
||||
* - The keyboard buffer is empty or a screen refresh had just occurred
|
||||
* DBEDIT() is a compatibility function, it is superseded by the
|
||||
* TBrowse class and there for not recommended for new applications. </par>
|
||||
* TBrowse class and there for not recommended for new applications.
|
||||
* $EXAMPLES$
|
||||
<fixed>
|
||||
* // Browse a file using default values
|
||||
@@ -168,23 +179,25 @@
|
||||
* S
|
||||
* $COMPLIANCE$
|
||||
* <xUserFunc> can take a code block value, this is a Harbour
|
||||
* extension. </par>
|
||||
* extension.
|
||||
|
||||
* CA-Clipper will throw an error if there's no database open, Harbour
|
||||
* would return .F. </par>
|
||||
* would return .F.
|
||||
|
||||
* CA-Clipper is buggy and will throw an error if the number of columns
|
||||
* zero, Harbour would return .F. </par>
|
||||
* zero, Harbour would return .F.
|
||||
|
||||
* The CA-Clipper 5.2 NG state that the return value is NIL, this is
|
||||
* wrong and should be read logical. </par>
|
||||
* wrong and should be read logical.
|
||||
|
||||
* There is an undocumented result code (3) from the user defined
|
||||
* function in Clipper (both 87 and 5.x). This is an Append Mode which:
|
||||
* "split the screen to allow data to be appended in windowed area".
|
||||
* This mode is not supported by Harbour. </par>
|
||||
* This mode is not supported by Harbour.
|
||||
* $FILES$
|
||||
* Header files are dbedit.ch, inkey.ch </par>
|
||||
* Header files are dbedit.ch, inkey.ch
|
||||
* Library is rtl.lib
|
||||
|
||||
* $SEEALSO$
|
||||
* @...SAY,BROWSE(),TBrowse class,TRANSFORM()
|
||||
* $END$
|
||||
@@ -200,48 +213,52 @@
|
||||
* $SYNTAX$
|
||||
* BROWSE( [<nTop>, <nLeft>, <nBottom>, <nRight>] ) --> lOk
|
||||
* $ARGUMENTS$
|
||||
* <nTop> coordinate for top row display. </par>
|
||||
* <nTop> coordinate for top row display.
|
||||
*
|
||||
* <nLeft> coordinate for left column display. </par>
|
||||
* <nLeft> coordinate for left column display.
|
||||
*
|
||||
* <nBottom> coordinate for bottom row display. </par>
|
||||
* <nBottom> coordinate for bottom row display.
|
||||
*
|
||||
* <nRight> coordinate for right column display. </par>
|
||||
* <nRight> coordinate for right column display.
|
||||
* $RETURNS$
|
||||
* BROWSE() return .F. if there is no database open in this work area,
|
||||
* else it return .T. </par>
|
||||
* else it return .T.
|
||||
* $DESCRIPTION$
|
||||
* BROWSE() is a general purpose database browser, without any
|
||||
* thinking you can browse a file using the following keys: </par>
|
||||
* thinking you can browse a file using the following keys:
|
||||
*
|
||||
* <table>
|
||||
* Left - Move one column to the left (previous field)
|
||||
* Right - Move one column to the right (next field)
|
||||
* Up - Move up one row (previous record)
|
||||
* Down - Move down one row (next record)
|
||||
* Page-Up - Move to the previous screen
|
||||
* Page-Down - Move to the next screen
|
||||
* Ctrl Page-Up - Move to the top of the file
|
||||
* Ctrl Page-Down - Move to the end of the file
|
||||
* Home - Move to the leftmost visible column
|
||||
* End - Move to the rightmost visible column
|
||||
* Ctrl Left - Pan one column to the left
|
||||
* Ctrl Right - Pan one column to the right
|
||||
* Ctrl Home - Move to the leftmost column
|
||||
* Ctrl End - Move to the rightmost column
|
||||
* Esc - Terminate BROWSE()
|
||||
* Key Meaning
|
||||
*
|
||||
* Left Move one column to the left (previous field)
|
||||
* Right Move one column to the right (next field)
|
||||
* Up Move up one row (previous record)
|
||||
* Down Move down one row (next record)
|
||||
* Page-Up Move to the previous screen
|
||||
* Page-Down Move to the next screen
|
||||
* Ctrl Page-Up Move to the top of the file
|
||||
* Ctrl Page-Down Move to the end of the file
|
||||
* Home Move to the leftmost visible column
|
||||
* End Move to the rightmost visible column
|
||||
* Ctrl Left Pan one column to the left
|
||||
* Ctrl Right Pan one column to the right
|
||||
* Ctrl Home Move to the leftmost column
|
||||
* Ctrl End Move to the rightmost column
|
||||
* Esc Terminate BROWSE()
|
||||
* </table>
|
||||
* On top of the screen you see a status line with the following
|
||||
* indication: </par>
|
||||
<table>
|
||||
* Record ###/### - Current record number / Total number of records.
|
||||
* <none> - There are no records, the file is empty.
|
||||
* <new> - You are in append mode at the bottom of file.
|
||||
* <Deleted> - Current record is deleted.
|
||||
* <bof> - You are at the top of file.
|
||||
* indication:
|
||||
*
|
||||
* <table>
|
||||
* Record ###/### Current record number / Total number of records.
|
||||
* <none> There are no records, the file is empty.
|
||||
* <new> You are in append mode at the bottom of file.
|
||||
* <Deleted> Current record is deleted.
|
||||
* <bof> You are at the top of file.
|
||||
* </table>
|
||||
* You should pass whole four valid coordinate, if less than four
|
||||
* parameters are passed to BROWSE() the coordinate are default to:
|
||||
* 1, 0, MAXROW(), MAXCOL(). </par>
|
||||
* 1, 0, MAXROW(), MAXCOL().
|
||||
* $EXAMPLES$
|
||||
<fixed>
|
||||
* // this one shows you how to browse around
|
||||
@@ -250,6 +267,8 @@
|
||||
</fixed>
|
||||
* $STATUS$
|
||||
* S
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* DBEDIT()*,TBrowse class
|
||||
* $END$
|
||||
@@ -265,22 +284,22 @@
|
||||
* $SYNTAX$
|
||||
* TBrowseDB( [<nTop>], [<nLeft>], [<nBottom>], [<nRight>] ) --> oBrowse
|
||||
* $ARGUMENTS$
|
||||
* <nTop> coordinate for top row display. </par>
|
||||
* <nTop> coordinate for top row display.
|
||||
*
|
||||
* <nLeft> coordinate for left column display. </par>
|
||||
* <nLeft> coordinate for left column display.
|
||||
*
|
||||
* <nBottom> coordinate for bottom row display. </par>
|
||||
* <nBottom> coordinate for bottom row display.
|
||||
*
|
||||
* <nRight> coordinate for right column display. </par>
|
||||
* <nRight> coordinate for right column display.
|
||||
* $RETURNS$
|
||||
* TBrowseDB() return new TBrowse object with the specified coordinate
|
||||
* and a default :SkipBlock, :GoTopBlock and :GoBottomBlock to browse
|
||||
* a database file. </par>
|
||||
* a database file.
|
||||
* $DESCRIPTION$
|
||||
* TBrowseDB() is a quick way to create a TBrowse object along with
|
||||
* the minimal support needed to browse a database. Note that the
|
||||
* returned TBrowse object contain no TBColumn objects and you need
|
||||
* to add column for each field by your self. </par>
|
||||
* to add column for each field by your self.
|
||||
* $EXAMPLES$
|
||||
<fixed>
|
||||
* for a good example, look at the source code for BROWSE() function
|
||||
@@ -289,7 +308,9 @@
|
||||
* $STATUS$
|
||||
* S
|
||||
* $COMPLIANCE$
|
||||
* TBrowseDB() works exactly like CA-Clipper's TBrowseDB(). </par>
|
||||
* TBrowseDB() works exactly like CA-Clipper's TBrowseDB().
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* BROWSE(),TBColumn class,TBrowse class,TBrowseNew()
|
||||
* $END$
|
||||
@@ -308,13 +329,13 @@
|
||||
* <nRecs> is the number of records to skip relative to current record.
|
||||
* Positive number would try to move the record pointer forward, while
|
||||
* a negative number would try to move the record pointer back <nRecs>
|
||||
* records. </par>
|
||||
* records.
|
||||
* $RETURNS$
|
||||
* dbSkipper() return the number of actual record skipped. </par>
|
||||
* dbSkipper() return the number of actual record skipped.
|
||||
* $DESCRIPTION$
|
||||
* dbSkipper() is a helper function used in browse mechanism to skip
|
||||
* a number of records while giving the caller indication about the
|
||||
* actual records skipped. </par>
|
||||
* actual records skipped.
|
||||
* $EXAMPLES$
|
||||
<fixed>
|
||||
* // open a file and find if we've got enough records in it
|
||||
@@ -330,10 +351,12 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* dbSkipper() is an XBase++ compatibility function and does not exist
|
||||
* as a standard CA-Clipper 5.x function. </par>
|
||||
* as a standard CA-Clipper 5.x function.
|
||||
|
||||
* This function is only visible if source/rtl/browdb.prg was compiled
|
||||
* with the HB_COMPAT_XPP flag. </par>
|
||||
* with the HB_COMPAT_XPP flag.
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* DBSKIP(),SKIP
|
||||
* $END$
|
||||
|
||||
@@ -25,23 +25,24 @@
|
||||
* $ARGUMENTS$
|
||||
* <ClassName> Name of the class to define. By tradition, Harbour
|
||||
* classes start with "T" to avoid collisions with user-
|
||||
* created classes. </par>
|
||||
* <SuperClass> The Parent class to use for inheritance </par>
|
||||
* created classes.
|
||||
|
||||
* <SuperClass> The Parent class to use for inheritance
|
||||
* $DESCRIPTION$
|
||||
* CLASS creates a class from which you can create objects.
|
||||
* Each Class is defined in a separate .PRG file dedicated to that
|
||||
* purpose. You cannot create more than one class in a .PRG.
|
||||
* After the CLASS command begins the definition, the DATA
|
||||
* elements (also known as instance variables) and METHODS of the
|
||||
* class are named. </par>
|
||||
* class are named.
|
||||
*
|
||||
* Classes can inherit from a single <SuperClass>, but the chain of
|
||||
* inheritance can extend to many levels. </par>
|
||||
* inheritance can extend to many levels.
|
||||
*
|
||||
* A program uses a Class by calling the Class Constructor, the
|
||||
* New() method, to create an object. That object is usually assigned
|
||||
* to a variable, which is used to access the DATA elements and
|
||||
* methods. </par>
|
||||
* methods.
|
||||
* $EXAMPLES$
|
||||
<fixed>
|
||||
* CLASS TBColumn
|
||||
@@ -65,9 +66,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* CLASS is a Harbour extension. </par>
|
||||
* CLASS is a Harbour extension.
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $SEEALSO$
|
||||
* TClass(),Object Oriented Programming,DATA,METHOD
|
||||
* $END$
|
||||
@@ -83,23 +84,25 @@
|
||||
* $SYNTAX$
|
||||
* DATA <DataName1> [,<DataNameN>] [ AS <type> ] [ INIT <uValue> ]
|
||||
* $ARGUMENTS$
|
||||
* <DataName1> Name of the DATA </par>
|
||||
* <DataName1> Name of the DATA
|
||||
|
||||
* <type> Optional data type specification from the following:
|
||||
* Character, Numeric, Date, Logical, Codeblock, Nil </par>
|
||||
* <uValue> Optional initial value when creating a new object </par>
|
||||
* Character, Numeric, Date, Logical, Codeblock, Nil
|
||||
|
||||
* <uValue> Optional initial value when creating a new object
|
||||
* $DESCRIPTION$
|
||||
* DATA elements can also be thought of as the "properties" of an
|
||||
* object. They can be of any data type, including codeblock.
|
||||
* Once an object has been created, the DATA elements are referenced
|
||||
* with the colon (:) as in MyObject:Heading := "Last name".
|
||||
* Usually a class also defines methods to manipulate the DATA. </par>
|
||||
* Usually a class also defines methods to manipulate the DATA.
|
||||
*
|
||||
* You can use the "AS <type>" clause to enforce that the DATA is
|
||||
* maintained as a certain type. Otherwise it will take on the type of
|
||||
* whatever value is first assigned to it. </par>
|
||||
* whatever value is first assigned to it.
|
||||
*
|
||||
* Use the "INIT <uValue>" clause to initialize that DATA to <uValue>
|
||||
* whenever a new object is created. </par>
|
||||
* whenever a new object is created.
|
||||
* $EXAMPLES$
|
||||
<fixed>
|
||||
* CLASS TBColumn
|
||||
@@ -123,9 +126,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* DATA is a Harbour extension. </par>
|
||||
* DATA is a Harbour extension.
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $SEEALSO$
|
||||
* Object Oriented Programming,CLASS,METHOD,CLASSDATA
|
||||
* $END$
|
||||
@@ -139,24 +142,27 @@
|
||||
* $ONELINER$
|
||||
* Define a CLASSDATA variable for a class (NOT for an Object!)
|
||||
* $SYNTAX$
|
||||
* CLASSDATA <DataName1> [,<DataNameN>] [ AS <type> ] [ INIT <uValue> ] </par>
|
||||
* CLASSDATA <DataName1> [,<DataNameN>] [ AS <type> ] [ INIT <uValue> ]
|
||||
* $ARGUMENTS$
|
||||
* <DataName1> Name of the DATA </par>
|
||||
* <DataName1> Name of the DATA
|
||||
|
||||
* <type> Optional data type specification from the following:
|
||||
* Character, Numeric, Date, Logical, Codeblock, Nil </par>
|
||||
* <uValue> Optional initial value at program startup </par>
|
||||
* Character, Numeric, Date, Logical, Codeblock, Nil
|
||||
|
||||
* <uValue> Optional initial value at program startup
|
||||
* $DESCRIPTION$
|
||||
* CLASSDATA variables can also be thought of as the "properties" of an
|
||||
* entire class. Each CLASSDATA exists only once, no matter how many
|
||||
* objects are created. A common usage is for a counter that is
|
||||
* incremented whenever an object is created and decremented when one
|
||||
* is destroyed, thus monitoring the number of objects in existance
|
||||
* for this class. </par>
|
||||
* for this class.
|
||||
*
|
||||
* You can use the "AS <type>" clause to enforce that the CLASSDATA is
|
||||
* maintained as a certain type. Otherwise it will take on the type of
|
||||
* whatever value is first assigned to it. </par>
|
||||
* whatever value is first assigned to it.
|
||||
* Use the "INIT <uValue>" clause to initialize that DATA to <uValue>
|
||||
* whenever the class is first used. </par>
|
||||
* whenever the class is first used.
|
||||
* $EXAMPLES$
|
||||
<fixed>
|
||||
* CLASS TWindow
|
||||
@@ -167,9 +173,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* CLASSDATA is a Harbour extension. </par>
|
||||
* CLASSDATA is a Harbour extension.
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $SEEALSO$
|
||||
* Object Oriented Programming,CLASS,METHOD,DATA
|
||||
* $END$
|
||||
@@ -192,26 +198,27 @@
|
||||
* METHOD <MethodName>( [<param>] ) OPERATOR <op>
|
||||
* METHOD <MethodName>( [<params,...>] ) CLASS <ClassName>
|
||||
* $ARGUMENTS$
|
||||
* <MethodName> Name of the method to define </par>
|
||||
* <params,...> Optional parameter list </par>
|
||||
* <MethodName> Name of the method to define
|
||||
|
||||
* <params,...> Optional parameter list
|
||||
* $DESCRIPTION$
|
||||
* Methods are "class functions" which do the work of the class.
|
||||
* All methods must be defined in the class header between the
|
||||
* CLASS and ENDCLASS commands. If the body of a method is not fully
|
||||
* defined here, the full body is written below the ENDCLASS command
|
||||
* using this syntax: </par>
|
||||
* using this syntax:
|
||||
*
|
||||
* METHOD <MethodName>( [<params,...>] ) CLASS <ClassName> </par>
|
||||
* METHOD <MethodName>( [<params,...>] ) CLASS <ClassName>
|
||||
*
|
||||
* Methods can reference the current object with the keyword "Self:" or
|
||||
* its shorthand version "::". </par>
|
||||
* its shorthand version "::".
|
||||
*
|
||||
* CLAUSES: </par>
|
||||
* CLAUSES:
|
||||
*
|
||||
* CONSTRUCTOR Defines a special method Class Constructor method,
|
||||
* used to create objects. This is usually the
|
||||
* New() method. Constructors always return the new
|
||||
* object. </par>
|
||||
* object.
|
||||
*
|
||||
* INLINE Fast and easy to code, INLINE lets you define the
|
||||
* code for the method immediately within the definition
|
||||
@@ -219,31 +226,31 @@
|
||||
* must be fully defined after the ENDCLASS command.
|
||||
* The <Code,...> following INLINE receives a parameter
|
||||
* of Self. If you need to receive more parameters, use
|
||||
* the BLOCK clause instead. </par>
|
||||
* the BLOCK clause instead.
|
||||
*
|
||||
* BLOCK Use this clause when you want to declare fast 'inline'
|
||||
* methods that need parameters. The first parameter to
|
||||
* <CodeBlock> must be Self, as in: </par>
|
||||
* <CodeBlock> must be Self, as in:
|
||||
*
|
||||
* METHOD <MethodName> BLOCK {|Self,<arg1>,<arg2>, ...,<argN>|...} </par>
|
||||
* METHOD <MethodName> BLOCK {|Self,<arg1>,<arg2>, ...,<argN>|...}
|
||||
*
|
||||
* EXTERN If an external function does what the method needs,
|
||||
* use this clause to make an optimized call to that
|
||||
* function directly. </par>
|
||||
* function directly.
|
||||
*
|
||||
* SETGET For calculated Data. The name of the method can be
|
||||
* manipulated like a Data element to Set or Get a value. </par>
|
||||
* manipulated like a Data element to Set or Get a value.
|
||||
*
|
||||
* VIRTUAL Methods that do nothing. Useful for Base classes where
|
||||
* the child class will define the method's behavior, or
|
||||
* when you are first creating and testing a Class. </par>
|
||||
* when you are first creating and testing a Class.
|
||||
*
|
||||
* OPERATOR Operator Overloading for classes.
|
||||
* See example Tests/TestOp.prg for details. </par>
|
||||
* See example Tests/TestOp.prg for details.
|
||||
*
|
||||
* CLASS <ClassName> </par>
|
||||
* CLASS <ClassName>
|
||||
* Use this syntax only for defining a full method after
|
||||
* the ENDCLASS command. </par>
|
||||
* the ENDCLASS command.
|
||||
* $EXAMPLES$
|
||||
<fixed>
|
||||
* CLASS TWindow
|
||||
@@ -270,9 +277,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* METHOD is a Harbour extension. </par>
|
||||
* METHOD is a Harbour extension.
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $SEEALSO$
|
||||
* TClass(),Object Oriented Programming,DATA,CLASS
|
||||
* $END$
|
||||
@@ -289,27 +296,29 @@
|
||||
* MESSAGE <MessageName> METHOD <MethodName>( [<params,...>] )
|
||||
* MESSAGE <MessageName>() METHOD <MethodName>( [<params,...>] )
|
||||
* $ARGUMENTS$
|
||||
* <MessageName> The pseudo-method name to define </par>
|
||||
* <MessageName> The pseudo-method name to define
|
||||
|
||||
* <MethodName> The method to create and call when <MessageName>
|
||||
* is invoked. </par>
|
||||
* <params,...> Optional parameter list for the method </par>
|
||||
* is invoked.
|
||||
|
||||
* <params,...> Optional parameter list for the method
|
||||
* $DESCRIPTION$
|
||||
* The MESSAGE command is a seldom-used feature that lets you re-route
|
||||
* a call to a method with a different name. This can be necessary if
|
||||
* a method name conflicts with a public function that needs to be
|
||||
* called from within the class methods. </par>
|
||||
* called from within the class methods.
|
||||
*
|
||||
* For example, your app may have a public function called BeginPaint()
|
||||
* that is used in painting windows. It would also be natural to have a
|
||||
* Window class method called :BeginPaint() that the application can
|
||||
* call. But within the class method you would not be able to call the
|
||||
* public function because internally methods are based on static
|
||||
* functions (which hide public functions of the same name). </par>
|
||||
* functions (which hide public functions of the same name).
|
||||
*
|
||||
* The MESSAGE command lets you create the true method with a different
|
||||
* name (::xBeginPaint()), yet still allow the ::BeginPaint() syntax
|
||||
* to call ::xBeginPaint(). This is then free to call the public
|
||||
* function BeginPaint(). </par>
|
||||
* function BeginPaint().
|
||||
* $EXAMPLES$
|
||||
<fixed>
|
||||
* CLASS TWindow
|
||||
@@ -321,9 +330,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* MESSAGE is a Harbour extension. </par>
|
||||
* MESSAGE is a Harbour extension.
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $SEEALSO$
|
||||
* METHOD,DATA,CLASS,Object Oriented Programming
|
||||
* $END$
|
||||
@@ -339,11 +348,12 @@
|
||||
* $SYNTAX$
|
||||
* ERROR HANDLER <MethodName>( [<params,...>] )
|
||||
* $ARGUMENTS$
|
||||
* <MethodName> Name of the method to define </par>
|
||||
* <params,...> Optional parameter list </par>
|
||||
* <MethodName> Name of the method to define
|
||||
|
||||
* <params,...> Optional parameter list
|
||||
* $DESCRIPTION$
|
||||
* ERROR HANDLER names the method that should handle errors for the
|
||||
* class being defined. </par>
|
||||
* class being defined.
|
||||
* $EXAMPLES$
|
||||
<fixed>
|
||||
* CLASS TWindow
|
||||
@@ -353,9 +363,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* ERROR HANDLER is a Harbour extension. </par>
|
||||
* ERROR HANDLER is a Harbour extension.
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $SEEALSO$
|
||||
* Object Oriented Programming,ON ERROR,CLASS,METHOD,DATA
|
||||
* $END$
|
||||
@@ -371,12 +381,13 @@
|
||||
* $SYNTAX$
|
||||
* ON ERROR <MethodName>( [<params,...>] )
|
||||
* $ARGUMENTS$
|
||||
* <MethodName> Name of the method to define </par>
|
||||
* <params,...> Optional parameter list </par>
|
||||
* <MethodName> Name of the method to define
|
||||
|
||||
* <params,...> Optional parameter list
|
||||
* $DESCRIPTION$
|
||||
* ON ERROR is a synonym for ERROR HANDLER.
|
||||
* It names the method that should handle errors for the
|
||||
* class being defined. </par>
|
||||
* class being defined.
|
||||
* $EXAMPLES$
|
||||
<fixed>
|
||||
* CLASS TWindow
|
||||
@@ -386,9 +397,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* ON ERROR is a Harbour extension. </par>
|
||||
* ON ERROR is a Harbour extension.
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $SEEALSO$
|
||||
* Object Oriented Programming,ERROR HANDLER,CLASS,METHOD,DATA
|
||||
* $END$
|
||||
@@ -404,8 +415,8 @@
|
||||
* $SYNTAX$
|
||||
* ENDCLASS
|
||||
* $DESCRIPTION$
|
||||
* ENDCLASS marks the end of a class declaration. </par>
|
||||
* It is usually followed by the class methods that are not INLINE. </par>
|
||||
* ENDCLASS marks the end of a class declaration.
|
||||
* It is usually followed by the class methods that are not INLINE.
|
||||
* $EXAMPLES$
|
||||
<fixed>
|
||||
* CLASS TWindow
|
||||
@@ -415,9 +426,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* ON ERROR is a Harbour extension. </par>
|
||||
* ON ERROR is a Harbour extension.
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $SEEALSO$
|
||||
* Object Oriented Programming,CLASS,METHOD,DATA
|
||||
* $END$
|
||||
|
||||
@@ -43,6 +43,8 @@
|
||||
* This function is Ca-Clipper compliant.
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* DAY(),DOW(),DATE(),CMONTH()
|
||||
* $END$
|
||||
@@ -77,6 +79,8 @@
|
||||
* This function is Ca-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* CDOW(),DATE(),MONTH(),YEAR(),DOW(),DTOC()
|
||||
* $END$
|
||||
@@ -107,6 +111,8 @@
|
||||
* This function is Ca-Clipper Compliant
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* CTOD(),DTOS(),DTOC(),DAY(),MONTH(),CMONTH()
|
||||
* $END$
|
||||
@@ -140,6 +146,8 @@
|
||||
* This function is Ca-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* SET DATE,DATE(),DTOS()
|
||||
* $END$
|
||||
@@ -170,6 +178,8 @@
|
||||
* This function is Ca-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* CTOD(),DTOS(),DTOC(),DATE(),MONTH(),CMONTH()
|
||||
* $END$
|
||||
@@ -200,6 +210,8 @@
|
||||
* This function is Ca-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* SECONDS(),SECS(),ELAPTIME()
|
||||
* $END$
|
||||
@@ -230,6 +242,8 @@
|
||||
* This function is Ca-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* DTOC(),CDOW(),DATE(),DTOS(),DAY()
|
||||
* $END$
|
||||
@@ -262,6 +276,8 @@
|
||||
* This function is Ca-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* SET DATE,DATE(),DTOS()
|
||||
* $END$
|
||||
@@ -292,6 +308,8 @@
|
||||
* This function is Ca-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* DTOC(),DATE(),DTOS()
|
||||
* $END$
|
||||
@@ -329,6 +347,8 @@
|
||||
* This function is Ca-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* SECS(),SECONDS(),TIME(),DAY()
|
||||
* $END$
|
||||
@@ -360,6 +380,8 @@
|
||||
* This function is Ca-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* CDOW(),DOW(),YEAR(),CMONTH()
|
||||
* $END$
|
||||
@@ -392,6 +414,8 @@
|
||||
* This function is Ca-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* TIME()
|
||||
* $END$
|
||||
@@ -422,6 +446,8 @@
|
||||
* This function is Ca-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* SECONDS(),ELAPTIME(),TIME()
|
||||
* $END$
|
||||
@@ -451,6 +477,8 @@
|
||||
* This function is Ca-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* DATE(),SECONDS()
|
||||
* $END$
|
||||
@@ -485,6 +513,8 @@
|
||||
* This function is Ca-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is rtl.lib
|
||||
* $SEEALSO$
|
||||
* DAY(),MONTH()
|
||||
* $END$
|
||||
|
||||
@@ -54,13 +54,14 @@
|
||||
* USE TEST
|
||||
* aList := { "NAME" }
|
||||
* __dbCopyStruct( "OnlyName.DBF", aList )
|
||||
* $TESTS$
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __dbCopyStruct() works exactly like CA-Clipper's __dbCopyStruct()
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* COPY STRUCTURE,COPY STRUCTURE EXTENDED,DBCREATE(),DBSTRUCT(),__dbCopyXStruct(),__dbCreate(),__dbStructFilter()
|
||||
* $END$
|
||||
@@ -101,13 +102,12 @@
|
||||
* // Create a new file that contain part of the original structure
|
||||
* USE TEST
|
||||
* COPY STRUCTURE TO SomePart FIELDS name, address
|
||||
* $TESTS$
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* COPY STRUCTURE works exactly as in CA-Clipper
|
||||
* $PLATFORMS$
|
||||
* $FILES$
|
||||
* All
|
||||
* $SEEALSO$
|
||||
* COPY STRUCTURE EXTENDED,DBCREATE(),DBSTRUCT(),__dbCopyStruct(),__dbCopyXStruct(),__dbCreate(),__dbStructFilter()
|
||||
* $END$
|
||||
@@ -134,7 +134,8 @@
|
||||
* pre-defined structure (also called "structure extended file"):
|
||||
*
|
||||
* <table>
|
||||
* <color:red>Field name Type Length Decimals </color>
|
||||
* Field name Type Length Decimals
|
||||
*
|
||||
* FIELD_NAME C 10 0
|
||||
* FIELD_TYPE C 1 0
|
||||
* FIELD_LEN N 3 0
|
||||
@@ -179,7 +180,9 @@
|
||||
* $COMPLIANCE$
|
||||
* __dbCopyXStruct() works exactly like CA-Clipper's __dbCopyXStruct()
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* COPY STRUCTURE,COPY STRUCTURE EXTENDED,CREATE,CREATE FROM,DBCREATE(),DBSTRUCT(),__dbCopyStruct(),__dbCreate()
|
||||
* $END$
|
||||
@@ -204,7 +207,8 @@
|
||||
* a pre-defined structure (also called "structure extended file"):
|
||||
*
|
||||
* <table>
|
||||
* <color:red>Field name Type Length Decimals </color>
|
||||
* Field name Type Length Decimals
|
||||
*
|
||||
* FIELD_NAME C 10 0
|
||||
* FIELD_TYPE C 1 0
|
||||
* FIELD_LEN N 3 0
|
||||
@@ -243,13 +247,12 @@
|
||||
* COPY STRUCTURE EXTENDED TO TestStru
|
||||
* USE TestStru
|
||||
* LIST
|
||||
* $TESTS$
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* COPY STRUCTURE EXTENDED works exactly as in CA-Clipper
|
||||
* $PLATFORMS$
|
||||
* $FILES$
|
||||
* All
|
||||
* $SEEALSO$
|
||||
* COPY STRUCTURE,CREATE,CREATE FROM,DBCREATE(),DBSTRUCT(),__dbCopyStruct(),__dbCopyXStruct(),__dbCreate()
|
||||
* $END$
|
||||
@@ -299,8 +302,9 @@
|
||||
* then opened in the current work-area (<lNew> is ignored). The new
|
||||
* file has the following structure:
|
||||
*
|
||||
* <table:4>
|
||||
* <color:red>Field name Type Length Decimals </color>
|
||||
* <table>
|
||||
* Field name Type Length Decimals
|
||||
*
|
||||
* FIELD_NAME C 10 0
|
||||
* FIELD_TYPE C 1 0
|
||||
* FIELD_LEN N 3 0
|
||||
@@ -352,13 +356,14 @@
|
||||
* FIELD->FIELD_DEC := 3 // 1000 / 256 = 3
|
||||
* DBCLOSEAREA()
|
||||
* __dbCreate( "TV_Guide", "template" )
|
||||
* $TESTS$
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __dbCreate() works exactly as in CA-Clipper
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* COPY STRUCTURE,COPY STRUCTURE EXTENDED,CREATE,CREATE FROM,DBCREATE(),DBSTRUCT(),__dbCopyStruct(),__dbCopyXStruct()
|
||||
* $END$
|
||||
@@ -390,9 +395,9 @@
|
||||
* and then open it in the current work-area. The new file has the
|
||||
* following structure:
|
||||
*
|
||||
* <table:4>
|
||||
* <color:red>Field name Type Length Decimals</color>
|
||||
*
|
||||
* <table>
|
||||
* Field name Type Length Decimals
|
||||
*
|
||||
* FIELD_NAME C 10 0
|
||||
* FIELD_TYPE C 1 0
|
||||
* FIELD_LEN N 3 0
|
||||
@@ -423,13 +428,12 @@
|
||||
* FIELD->FIELD_DEC := 3 // 1000 / 256 = 3
|
||||
* CLOSE
|
||||
* CREATE TV_Guide FROM template
|
||||
* $TESTS$
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* CREATE works exactly as in CA-Clipper
|
||||
* $PLATFORMS$
|
||||
* $FILES$
|
||||
* All
|
||||
* $SEEALSO$
|
||||
* COPY STRUCTURE,COPY STRUCTURE EXTENDED,CREATE FROM,DBCREATE(),DBSTRUCT(),__dbCopyStruct(),__dbCopyXStruct(),__dbCreate()
|
||||
* $END$
|
||||
@@ -488,13 +492,12 @@
|
||||
* during compile time and use this mode.
|
||||
* $EXAMPLES$
|
||||
* See example in the CREATE command
|
||||
* $TESTS$
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* CREATE FROM works exactly as in CA-Clipper
|
||||
* $PLATFORMS$
|
||||
* $FILES$
|
||||
* All
|
||||
* $SEEALSO$
|
||||
* COPY STRUCTURE,COPY STRUCTURE EXTENDED,CREATE,DBCREATE(),DBSTRUCT(),__dbCopyStruct(),__dbCopyXStruct(),__dbCreate()
|
||||
* $END$
|
||||
@@ -514,8 +517,9 @@
|
||||
* structure, which is usually the output from DBSTRUCT(), where each
|
||||
* array element has the following structure:
|
||||
*
|
||||
* <table:3>
|
||||
* <color:red>Position Description dbstruct.ch </color>
|
||||
* <table>
|
||||
* Position Description dbstruct.ch
|
||||
*
|
||||
* 1 cFieldName DBS_NAME
|
||||
* 2 cFieldType DBS_TYPE
|
||||
* 3 nFieldLength DBS_LEN
|
||||
@@ -568,7 +572,6 @@
|
||||
* aStruct := DBSTRUCT()
|
||||
* aList := { "NAME" }
|
||||
* DBCREATE( "OnlyName.DBF", __FLEDIT( aStruct, aList ) )
|
||||
* $TESTS$
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
@@ -581,8 +584,10 @@
|
||||
* This function is only visible if source/rdd/dbstrux.prg was compiled
|
||||
* with the HARBOUR_STRICT_CLIPPER_COMPATIBILITY flag.
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Header file is dbstruct.ch
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBCREATE(),DBSTRUCT(),__dbCopyStruct(),__dbStructFilter()
|
||||
* $END$
|
||||
@@ -602,8 +607,9 @@
|
||||
* structure, which is usually the output from DBSTRUCT(), where each
|
||||
* array element has the following structure:
|
||||
*
|
||||
* <table:3>
|
||||
* <color:red>Position Description dbstruct.ch </color>
|
||||
* <table>
|
||||
* Position Description dbstruct.ch
|
||||
*
|
||||
* 1 cFieldName DBS_NAME
|
||||
* 2 cFieldType DBS_TYPE
|
||||
* 3 nFieldLength DBS_LEN
|
||||
@@ -653,7 +659,6 @@
|
||||
* aStruct := DBSTRUCT()
|
||||
* aList := { "NAME" }
|
||||
* DBCREATE( "OnlyName.DBF", __dbStructFilter( aStruct, aList ) )
|
||||
* $TESTS$
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
@@ -661,8 +666,10 @@
|
||||
* undocumented function named __FLEDIT() that does exactly the same.
|
||||
* The new name give better description of what this function do.
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Header file is dbstruct.ch
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBCREATE(),DBSTRUCT(),__dbCopyStruct(),__FLEDIT()*
|
||||
* $END$
|
||||
|
||||
@@ -26,22 +26,22 @@
|
||||
* <cFileMask> File mask to include in the function return. It could
|
||||
* contain path and standard wildcard characters as supported by your
|
||||
* OS (like * and ?). If <cFileMask> contain no path, then SET DEFAULT
|
||||
* path is used to display files in the mask. </par>
|
||||
* path is used to display files in the mask.
|
||||
* $RETURNS$
|
||||
* __Dir() always returns NIL. </par>
|
||||
* __Dir() always returns NIL.
|
||||
* $DESCRIPTION$
|
||||
* If no <cFileMask> is given, __Dir() display information about all
|
||||
* *.dbf in the SET DEFAULT path, this information contain: file name,
|
||||
* number of records, last update date and the size of each file. </par>
|
||||
* number of records, last update date and the size of each file.
|
||||
*
|
||||
* If <cFileMask> is given, __Dir() list all files that match the mask
|
||||
* with the following details: Name, Extension, Size, Date. </par>
|
||||
* with the following details: Name, Extension, Size, Date.
|
||||
*
|
||||
* DIR command is preprocessed into __Dir() function during compile
|
||||
* time. </par>
|
||||
* time.
|
||||
*
|
||||
* __Dir() is a compatibility function, it is superseded by DIRECTORY()
|
||||
* which return all the information in a multidimensional array. </par>
|
||||
* which return all the information in a multidimensional array.
|
||||
* $EXAMPLES$
|
||||
<fixed>
|
||||
* __Dir() // information for all DBF files in current directory
|
||||
@@ -59,12 +59,14 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* DBF information: CA-Clipper display 8.3 file names, Harbour display
|
||||
* the first 15 characters of a long file name if available. </par>
|
||||
* the first 15 characters of a long file name if available.
|
||||
*
|
||||
* File listing: To format file names displayed we use something like:
|
||||
* PadR( Name, 8 ) + " " + PadR( Ext, 3 )
|
||||
* CA-Clipper use 8.3 file name, with Harbour it would probably cut
|
||||
* long file names to feet this template. </par>
|
||||
* long file names to feet this template.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* ADIR(),DIRECTORY(),SET DEFAULT,DIR
|
||||
* $END$
|
||||
@@ -83,20 +85,20 @@
|
||||
* <cFileMask> File mask to include in the function return. It could
|
||||
* contain path and standard wildcard characters as supported by your
|
||||
* OS (like * and ?). If <cFileMask> contain no path, then SET DEFAULT
|
||||
* path is used to display files in the mask. </par>
|
||||
* path is used to display files in the mask.
|
||||
* $DESCRIPTION$
|
||||
* If no <cFileMask> is given, __Dir() display information about all
|
||||
* *.dbf in the SET DEFAULT path, this information contain: file name,
|
||||
* number of records, last update date and the size of each file. </par>
|
||||
* number of records, last update date and the size of each file.
|
||||
*
|
||||
* If <cFileMask> is given, __Dir() list all files that match the mask
|
||||
* with the following details: Name, Extension, Size, Date. </par>
|
||||
* with the following details: Name, Extension, Size, Date.
|
||||
*
|
||||
* DIR command is preprocessed into __Dir() function during compile
|
||||
* time. </par>
|
||||
* time.
|
||||
*
|
||||
* __Dir() is a compatibility function, it is superseded by DIRECTORY()
|
||||
* which return all the information in a multidimensional array. </par>
|
||||
* which return all the information in a multidimensional array.
|
||||
* $EXAMPLES$
|
||||
<fixed>
|
||||
* DIR // information for all DBF files in current directory
|
||||
@@ -114,12 +116,12 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* DBF information: CA-Clipper display 8.3 file names, Harbour display
|
||||
* the first 15 characters of a long file name if available. </par>
|
||||
* the first 15 characters of a long file name if available.
|
||||
*
|
||||
* File listing: To format file names displayed we use something like:
|
||||
* PadR( Name, 8 ) + " " + PadR( Ext, 3 )
|
||||
* CA-Clipper use 8.3 file name, with Harbour it would probably cut
|
||||
* long file names to feet this template. </par>
|
||||
* long file names to feet this template.
|
||||
* $SEEALSO$
|
||||
* ADIR(),DIRECTORY(),SET DEFAULT,__DIR()*
|
||||
* $END$
|
||||
@@ -139,42 +141,42 @@
|
||||
* <cFileMask> File mask to include in the function return. It could
|
||||
* contain path and standard wildcard characters as supported by your
|
||||
* OS (like * and ?). If you omit <cFileMask> or if <cFileMask> contain
|
||||
* no path, then the path from SET DEFAULT is used. </par>
|
||||
* no path, then the path from SET DEFAULT is used.
|
||||
*
|
||||
* <aName> Array to fill with file name of files that meet <cFileMask>.
|
||||
* Each element is a Character string and include the file name and
|
||||
* extension without the path. The name is the long file name as
|
||||
* reported by the OS and not necessarily the 8.3 uppercase name. </par>
|
||||
* reported by the OS and not necessarily the 8.3 uppercase name.
|
||||
*
|
||||
* <aSize> Array to fill with file size of files that meet <cFileMask>.
|
||||
* Each element is a Numeric integer and include the file size in Bytes.
|
||||
* Directories are always zero in size. </par>
|
||||
* Directories are always zero in size.
|
||||
*
|
||||
* <aDate> Array to fill with file last modification date of files that
|
||||
* meet <cFileMask>. Each element is of type Date. </par>
|
||||
* meet <cFileMask>. Each element is of type Date.
|
||||
*
|
||||
* <aTime> Array to fill with file last modification time of files that
|
||||
* meet <cFileMask>. Each element is a Character string in the format
|
||||
* HH:mm:ss. </par>
|
||||
* HH:mm:ss.
|
||||
*
|
||||
* <aAttr> Array to fill with attribute of files that meet <cFileMask>.
|
||||
* Each element is a Character string, see DIRECTORY() for information
|
||||
* about attribute values. If you pass array to <aAttr>, the function
|
||||
* is going to return files with normal, hidden, system and directory
|
||||
* attributes. If <aAttr> is not specified or with type other than
|
||||
* Array, only files with normal attribute would return. </par>
|
||||
* Array, only files with normal attribute would return.
|
||||
* $RETURNS$
|
||||
* ADIR() return the number of file entries that meet <cFileMask> </par>
|
||||
* ADIR() return the number of file entries that meet <cFileMask>
|
||||
* $DESCRIPTION$
|
||||
* ADIR() return the number of files and/or directories that match
|
||||
* a specified skeleton, it also fill a series of given arrays with
|
||||
* the name, size, date, time and attribute of those files. The passed
|
||||
* arrays should pre-initialized to the proper size, see example below.
|
||||
* In order to include hidden, system or directories <aAttr> must be
|
||||
* specified. </par>
|
||||
* specified.
|
||||
*
|
||||
* ADIR() is a compatibility function, it is superseded by DIRECTORY()
|
||||
* which return all the information in a multidimensional array. </par>
|
||||
* which return all the information in a multidimensional array.
|
||||
* $EXAMPLES$
|
||||
<fixed>
|
||||
* LOCAL aName, aSize, aDate, aTime, aAttr, nLen, i
|
||||
@@ -196,7 +198,9 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* <aName> is going to be fill with long file name and not necessarily
|
||||
* the 8.3 uppercase name. </par>
|
||||
* the 8.3 uppercase name.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* ARRAY(),DIRECTORY(),SET DEFAULT
|
||||
* $END$
|
||||
|
||||
@@ -25,31 +25,35 @@
|
||||
* $ARGUMENTS$
|
||||
* <nDrive> The number of the drive you are requesting info on where 1 = A,
|
||||
* 2 = B, etc. For 0 or no parameter, DiskSpace will operate on the current
|
||||
* drive. The default is 0 </par>
|
||||
* <nType> The type of space being requested. The default is HB_DISK_AVAIL. </par>
|
||||
* drive. The default is 0
|
||||
|
||||
* <nType> The type of space being requested. The default is HB_DISK_AVAIL.
|
||||
* $RETURNS$
|
||||
* <nDiskBytes> The number of bytes on the requested disk that match the
|
||||
* requested type. </par>
|
||||
* requested type.
|
||||
* $DESCRIPTION$
|
||||
* By default, this function will return the number of bytes of
|
||||
* free space on the current drive that is available to the user
|
||||
* requesting the information. </par>
|
||||
* requesting the information.
|
||||
*
|
||||
* There are 4 types of information available: </par>
|
||||
* There are 4 types of information available:
|
||||
*
|
||||
* HB_FS_AVAIL The amount of space available to the user making the
|
||||
* request. This value could be less than HB_FS_FREE if
|
||||
* disk quotas are supported by the O/S in use at runtime,
|
||||
* and disk quotas are in effect. Otherwise, the value
|
||||
* will be equal to that returned for HB_FS_FREE. </par>
|
||||
* HB_FS_FREE The actual amount of free diskspace on the drive. </par>
|
||||
* HB_FS_USED The number of bytes in use on the disk. </par>
|
||||
* will be equal to that returned for HB_FS_FREE.
|
||||
|
||||
* HB_FS_FREE The actual amount of free diskspace on the drive.
|
||||
|
||||
* HB_FS_USED The number of bytes in use on the disk.
|
||||
|
||||
* HB_FS_TOTAL The total amount of space allocated for the user if
|
||||
* disk quotas are in effect, otherwise, the actual size
|
||||
* of the drive. </par>
|
||||
* of the drive.
|
||||
*
|
||||
* If information is requested on a disk that is not available, a runtime
|
||||
* error 2018 will be raised. </par>
|
||||
* error 2018 will be raised.
|
||||
* $EXAMPLES$
|
||||
* ? "You can use : " +Str( DiskSpace() ) + " bytes " +;
|
||||
* "Out of a total of " + Str( DiskSpace(0,HB_FS_TOTAL) )
|
||||
@@ -60,7 +64,10 @@
|
||||
* CA-Clipper will return an integer value which limits it's usefulness to
|
||||
* drives less than 2 gigabytes. The Harbour version will return a
|
||||
* floating point value with 0 decimals if the disk is > 2 gigabytes.
|
||||
* <nType> is a Harbour extension. </par>
|
||||
* <nType> is a Harbour extension.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* Header is Fileio.ch
|
||||
* $SEEALSO$
|
||||
* tests\tstdspac.prg
|
||||
* $END$
|
||||
|
||||
@@ -23,17 +23,19 @@
|
||||
* $SYNTAX$
|
||||
* ERRORSYS() --> NIL
|
||||
* $ARGUMENTS$
|
||||
* None. </par>
|
||||
* None.
|
||||
* $RETURNS$
|
||||
* ERRORSYS() always return NIL. </par>
|
||||
* ERRORSYS() always return NIL.
|
||||
* $DESCRIPTION$
|
||||
* ERRORSYS() is called upon startup by Harbour and install the default
|
||||
* error handler. Normally you should not call this function directly,
|
||||
* instead use ERRORBLOCK() to install your own error handler. </par>
|
||||
* instead use ERRORBLOCK() to install your own error handler.
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* ERRORSYS() works exactly like CA-Clipper's ERRORSYS(). </par>
|
||||
* ERRORSYS() works exactly like CA-Clipper's ERRORSYS().
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* ERRORBLOCK(),Error class
|
||||
* $END$
|
||||
|
||||
@@ -27,16 +27,20 @@
|
||||
* $SYNTAX$
|
||||
* FOPEN( <cFile>, [<nMode>] ) --> nHandle
|
||||
* $ARGUMENTS$
|
||||
* <cFile> Name of file to open </par>
|
||||
* <nMode> Dos file open mode </par>
|
||||
* <cFile> Name of file to open
|
||||
|
||||
* <nMode> Dos file open mode
|
||||
* $RETURNS$
|
||||
* <nHandle> a DOS file handle </par>
|
||||
* <nHandle> a DOS file handle
|
||||
* $DESCRIPTION$
|
||||
* This function opens a file expressed as <cFile> and returns a DOS
|
||||
* file handle to be used with other low-level file functions.The
|
||||
* value of <nMode> represents the status of the file to be opened;
|
||||
* the default value is 0. The DOS file open modes are as the follows: </par>
|
||||
* the default value is 0. The DOS file open modes are as the follows:
|
||||
|
||||
* <table>
|
||||
* nMode Meaning
|
||||
*
|
||||
* 0 Read only
|
||||
* 1 Write only
|
||||
* 2 Read/write
|
||||
@@ -57,9 +61,10 @@
|
||||
* the function.Files handles may be in the range of 0 to 65535. The
|
||||
* status of the SET DEFAULT TO and SET PATH TO commands has no effect
|
||||
* on this function.Directory names and paths must be specified along
|
||||
* with the file that is to be opened. </par>
|
||||
* with the file that is to be opened.
|
||||
|
||||
* If an error has occured, see the returns values from FERROR() for
|
||||
* possible reasons for the error. </par>
|
||||
* possible reasons for the error.
|
||||
* $EXAMPLES$
|
||||
|
||||
* IF (nH:=FOPEN('X.TXT',66)<0
|
||||
@@ -69,7 +74,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant </par>
|
||||
* This function is CA-Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* FCREATE(),FERROR(),FCLOSE()
|
||||
* $END$
|
||||
@@ -85,11 +92,11 @@
|
||||
* $SYNTAX$
|
||||
* FCREATE( <cFile>, [<nAttribute>] ) --> nHandle
|
||||
* $ARGUMENTS$
|
||||
* <cFile> is the name of the file to create. </par>
|
||||
* <cFile> is the name of the file to create.
|
||||
*
|
||||
* <nAttribute> Numeric code for the DOS file attribute </par>
|
||||
* <nAttribute> Numeric code for the DOS file attribute
|
||||
* $RETURNS$
|
||||
* <nHandle> Numeric expression </par>
|
||||
* <nHandle> Numeric expression
|
||||
* $DESCRIPTION$
|
||||
* This function creates a new file with a filename of <cFile>. The
|
||||
* default value of <nAttribute> is 0 and is used to set the DOS
|
||||
@@ -97,16 +104,18 @@
|
||||
* The return value will be DOS file handle that is associated
|
||||
* with the new file. This number will be between zero to 65,535,
|
||||
* inclusive. If an error occurs, the return value of this function
|
||||
* will be -1. </par>
|
||||
* will be -1.
|
||||
*
|
||||
* If the file <cFile> already exists, the existing file will be
|
||||
* truncated to a file lenght of 0 bytes. </par>
|
||||
* truncated to a file lenght of 0 bytes.
|
||||
|
||||
* If specified, the folowing table shows the value for <nAttribute>
|
||||
* and their related meaning to the file <cFile> being created by
|
||||
* this Function. </par>
|
||||
* this Function.
|
||||
|
||||
* <table>
|
||||
* <nAttribute> File Attribute
|
||||
*
|
||||
* 0 Normal/Default,Read/Write
|
||||
* 1 Read-only,Attempting to open for output returns an error
|
||||
* 2 Hidden,Excluded from normal DIR search
|
||||
@@ -120,7 +129,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant </par>
|
||||
* This function is CA-Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* FCLOSE(),FOPEN(),FWRITE(),FREAD(),FERROR()
|
||||
* $END$
|
||||
@@ -136,24 +147,26 @@
|
||||
* $SYNTAX$
|
||||
* FREAD( <nHandle>, @<cBuffer>, <nBytes> ) --> nBytes
|
||||
* $ARGUMENTS$
|
||||
* <nHandle> Dos file handle </par>
|
||||
* <cBufferVar> Character expression passed by reference </par>
|
||||
* <nBytes> Number of bytes to read. </par>
|
||||
* <nHandle> Dos file handle
|
||||
|
||||
* <cBufferVar> Character expression passed by reference
|
||||
|
||||
* <nBytes> Number of bytes to read.
|
||||
* $RETURNS$
|
||||
* <nBytes> the number of bytes successfyly read from the file
|
||||
* <nHandle> </par>
|
||||
* <nHandle>
|
||||
* $DESCRIPTION$
|
||||
* This function reads the characters from a DOS file whose file handle
|
||||
* is <nHandle> into it character memory variable expressed as <cBuffer>.
|
||||
* The function returns the number of bytes successfully read into
|
||||
* <cBuffer>. </par>
|
||||
* <cBuffer>.
|
||||
|
||||
* The value of <nHandle> is obtained from either it call to the FOPEN()
|
||||
* or the FCREATE() function. </par>
|
||||
* or the FCREATE() function.
|
||||
|
||||
* The <cBuffer> expression is passed by reference and must be defined
|
||||
* before this function is called. It also must be at least the same
|
||||
* length as <nBytes>. </par>
|
||||
* length as <nBytes>.
|
||||
|
||||
* <nBytes> is the number of bytes to read, starting at the current DOS
|
||||
* file pointer position. If this function is successful in reading
|
||||
@@ -163,7 +176,7 @@
|
||||
* ssive read.The return value is the number of byte successfully read
|
||||
* from the file <nHandle>. If a 0 is returned, or if the number of
|
||||
* bytes read matches neither the length of <cBuffer> nor the specified
|
||||
* value in <nBytes> an end-of-file condition has been reached. </par>
|
||||
* value in <nBytes> an end-of-file condition has been reached.
|
||||
* $EXAMPLES$
|
||||
* cBuffer:=SPACE(500)
|
||||
* IF (nH:=FOPEN('X.TXT))>0
|
||||
@@ -176,7 +189,9 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is not CA-Clipper compliant since may can read
|
||||
* strings greather the 65K depending of platform. </par>
|
||||
* strings greather the 65K depending of platform.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* BIN2I(),BIN2L(),BIN2W(),FERROR(),FWRITE()
|
||||
* $END$
|
||||
@@ -192,29 +207,31 @@
|
||||
* $SYNTAX$
|
||||
* FWRITE( <nHandle>, <cBuffer>, [<nBytes>] ) --> nBytesWritten
|
||||
* $ARGUMENTS$
|
||||
* <nHandle> DOS file handle number. </par>
|
||||
* <cBuffer> Character expression to be written. </par>
|
||||
* <nBytes> The number of bytes to write. </par>
|
||||
* <nHandle> DOS file handle number.
|
||||
|
||||
* <cBuffer> Character expression to be written.
|
||||
|
||||
* <nBytes> The number of bytes to write.
|
||||
* $RETURNS$
|
||||
* <nBytesWritten> the number of bytes successfully written. </par>
|
||||
* <nBytesWritten> the number of bytes successfully written.
|
||||
* $DESCRIPTION$
|
||||
* This function writes the contents of <cBuffer> to the file designated
|
||||
* by its file handle <nHandle>. If used, <nBytes> is the number of
|
||||
* bytes in <cBuffer> to write. </par>
|
||||
* bytes in <cBuffer> to write.
|
||||
|
||||
* The returned value is the number of bytes successfully written to the
|
||||
* DOS file. If the returned value is 0, an error has occurred (unless
|
||||
* this is intended). A successful write occurs when the number returned
|
||||
* by FWRITE() is equal to either LEN( <cBuffer>) or <nBytes>. </par>
|
||||
* by FWRITE() is equal to either LEN( <cBuffer>) or <nBytes>.
|
||||
|
||||
* The value of <cBuffer> is the string or variable to be written to the
|
||||
* open DOS file <nHandle>. </par>
|
||||
* open DOS file <nHandle>.
|
||||
|
||||
* The value of <nBytes> is the number of bytes to write out to the file.
|
||||
* The disk write begins with the current file position in <nHandle>. If
|
||||
* this variable is not used, the entire contents of <cBuffer> is written
|
||||
* to the file. </par>
|
||||
* To truncate a file. a call of FWRITE( nHandle, "", 0 ) is needed. </par>
|
||||
* to the file.
|
||||
* To truncate a file. a call of FWRITE( nHandle, "", 0 ) is needed.
|
||||
* $EXAMPLES$
|
||||
* nHandle:=FCREATE('x.txt')
|
||||
* FOR X:=1 to 10
|
||||
@@ -226,7 +243,9 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is not CA-Clipper compatile since
|
||||
* it can writes strings greather the 64K </par>
|
||||
* it can writes strings greather the 64K
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* FCLOSE(),FCREATE(),FERROR(),FOPEN(),I2BIN(),L2BIN()
|
||||
* $END$
|
||||
@@ -243,12 +262,13 @@
|
||||
* FERROR() --> <nErrorCode>
|
||||
* $RETURNS$
|
||||
* <nErrorCode> Value of the DOS error last encountered by a
|
||||
* low-level file function. </par>
|
||||
* low-level file function.
|
||||
*
|
||||
* FERROR() Return Values </par>
|
||||
* FERROR() Return Values
|
||||
*
|
||||
* Error Meaning </par>
|
||||
* <table>
|
||||
* Error Meaning
|
||||
*
|
||||
* 0 Successful
|
||||
* 2 File not found
|
||||
* 3 Path not found
|
||||
@@ -270,7 +290,7 @@
|
||||
* a value that provides additional informationon the status of
|
||||
* the last low-level file functions's performance.If the FERROR()
|
||||
* function returns a 0, no error was detected.Below is a table
|
||||
* of possibles values returned by the FERROR() function. </par>
|
||||
* of possibles values returned by the FERROR() function.
|
||||
* $EXAMPLES$
|
||||
* #include "Fileio.ch"
|
||||
* //
|
||||
@@ -282,7 +302,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compatible </par>
|
||||
* This function is CA-Clipper compatible
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* FCLOSE(),FERASE(),FOPEN(),FWRITE()
|
||||
* $END$
|
||||
@@ -298,14 +320,14 @@
|
||||
* $SYNTAX$
|
||||
* FCLOSE( <nHandle> ) --> <lSuccess>
|
||||
* $ARGUMENTS$
|
||||
* <nHandle> DOS file handle </par>
|
||||
* <nHandle> DOS file handle
|
||||
* $RETURNS$
|
||||
* <lSuccess> Logical TRUE (.T.) or FALSE (.F.) </par>
|
||||
* <lSuccess> Logical TRUE (.T.) or FALSE (.F.)
|
||||
* $DESCRIPTION$
|
||||
* This function closes an open file with a dos file handle
|
||||
* of <nHandle> and writes the associated DOS buffer to the
|
||||
* disk. The <nHandle> value is derived from the FCREATE()
|
||||
* or FOPEN() function. </par>
|
||||
* or FOPEN() function.
|
||||
* $EXAMPLES$
|
||||
* nHandle:=FOPEN('x.txt')
|
||||
* ? FSEEK(nHandle0,2)
|
||||
@@ -314,7 +336,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant </par>
|
||||
* This function is CA-Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* FOPEN(),FCREATE(),FREAD(),FWRITE(),FERROR()
|
||||
* $END$
|
||||
@@ -330,23 +354,23 @@
|
||||
* $SYNTAX$
|
||||
* FERASE( <cFile> ) --> nSuccess
|
||||
* $ARGUMENTS$
|
||||
* <cFile> Name of file to erase. </par>
|
||||
* <cFile> Name of file to erase.
|
||||
* $RETURNS$
|
||||
* <nSuccess> 0 if successful, -1 if not </par>
|
||||
* <nSuccess> 0 if successful, -1 if not
|
||||
* $DESCRIPTION$
|
||||
* This function deletes the file specified in <cFile> from the disk.
|
||||
* No extensions are assumed. The drive and path my be included in
|
||||
* <cFile>; neither the SET DEFAULT not the SET PATH command controls
|
||||
* the performance of this function.If the drive or path is not used,
|
||||
* the function will look for the file only on the currently selected
|
||||
* direcytory on the logged drive. </par>
|
||||
* direcytory on the logged drive.
|
||||
*
|
||||
* If the function is able to successfully delete the file from the
|
||||
* disk, the value of the function will be 0; otherwise a -1 will
|
||||
* be returned.If not successfu, aditional information may be
|
||||
* obtained by calling the FERROR() function. </par>
|
||||
* obtained by calling the FERROR() function.
|
||||
*
|
||||
* Note: Any file to be removed by FERASE() must still be closed. </par>
|
||||
* Note: Any file to be removed by FERASE() must still be closed.
|
||||
*
|
||||
* $EXAMPLES$
|
||||
* IF (FERASE("TEST.TXT")==0)
|
||||
@@ -358,7 +382,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper Compatible </par>
|
||||
* This function is CA-Clipper Compatible
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* FERROR(),FRENAME()
|
||||
* $END$
|
||||
@@ -374,32 +400,33 @@
|
||||
* $SYNTAX$
|
||||
* FRENAME( <cOldFile>, <cNewFile> ) --> nSuccess
|
||||
* $ARGUMENTS$
|
||||
* <cOldFile> Old filenarne to he changed </par>
|
||||
* <cNewFile> New filename </par>
|
||||
* <cOldFile> Old filenarne to he changed
|
||||
|
||||
* <cNewFile> New filename
|
||||
* $RETURNS$
|
||||
* <nSuccess> If sucessful, a 0 will he returned otherwise,
|
||||
* a -1 will be returned. </par>
|
||||
* a -1 will be returned.
|
||||
* $DESCRIPTION$
|
||||
* This function renames the specified file <cOldFile> to <cNewFile>.
|
||||
* A filename and/or directory name may be specified for either para-
|
||||
* meter. However, if a path is supplied as part of <cNewFile> and
|
||||
* this path is different from either the path specified in <cOldFile>
|
||||
* or (if none is used) the current drive and directory, the function
|
||||
* will not execute successfully. </par>
|
||||
* will not execute successfully.
|
||||
|
||||
* Neither parameter is subject to the control of the SET PATH TO or
|
||||
* SET DEFAULT TO commands. In attempting to locate the file to be
|
||||
* renamed, this function will search the default drive and directory
|
||||
* or the drive and path specified in <cOldFile>. It will not search
|
||||
* directories named by the SET PATH TO and SET DEFAULT TO commands
|
||||
* or by the DOS PATH statement. </par>
|
||||
* or by the DOS PATH statement.
|
||||
|
||||
* If the file specified in <cNewFile> exists or the file is open,
|
||||
* the function will be unable to rename the file.If the function
|
||||
* is unable to complete its operation,it will return a value of -1.
|
||||
* If it is able to rename the file, the return value for the function
|
||||
* will be 0.A call to FERROR() function will give additional infor-
|
||||
* mation about any error found. </par>
|
||||
* mation about any error found.
|
||||
* $EXAMPLES$
|
||||
* nResult:=FRENAME("x.txt","x1.txt")
|
||||
* IF nResult <0
|
||||
@@ -409,7 +436,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant </par>
|
||||
* This function is CA-Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* ERASE,FERASE(),FERROR(),FILE(),RENAME
|
||||
* $END$
|
||||
@@ -425,35 +454,39 @@
|
||||
* $SYNTAX$
|
||||
* FSEEK( <nHandle>, <nOffset>, [<nOrigin>] ) --> nPosition
|
||||
* $ARGUMENTS$
|
||||
* <nHandle> DOS file handle. </par>
|
||||
* <nOffset> The number of bytes to move. </par>
|
||||
* <nOrigin> The relative position in the file. </par>
|
||||
* <nHandle> DOS file handle.
|
||||
|
||||
* <nOffset> The number of bytes to move.
|
||||
|
||||
* <nOrigin> The relative position in the file.
|
||||
* $RETURNS$
|
||||
* <nPosition> the current position relative to begin-of-file </par>
|
||||
* <nPosition> the current position relative to begin-of-file
|
||||
* $DESCRIPTION$
|
||||
* This function sets the file pointer in the file whose DOS file
|
||||
* handle is <nHandle> and moves the file pointer by <expN2> bytes
|
||||
* from the file position designated by <nOrigin>. The returned value
|
||||
* is the relative position of the file pointer to the beginning-of-file
|
||||
* marker once the operation has been completed. </par>
|
||||
* marker once the operation has been completed.
|
||||
|
||||
* <nHandle> is the file handle number. It is obtained from the FOPEN()
|
||||
* or FCREATE() function. </par>
|
||||
* or FCREATE() function.
|
||||
|
||||
* The value of <nOffSet> is the number of bytes to move the file pointer
|
||||
* from the position determined by <nOrigin>.The value of <nOffset> may
|
||||
* be a negative number, suggesting backward movement. </par>
|
||||
* be a negative number, suggesting backward movement.
|
||||
|
||||
* The value of <nOrigin> designates the starting point from which the
|
||||
* file pointer should he moved, as shown in the following table: </par>
|
||||
* file pointer should he moved, as shown in the following table:
|
||||
|
||||
* <table>
|
||||
* <nOrigin> File position
|
||||
*
|
||||
* 0 Beginning of file
|
||||
* 1 Current file pointer position
|
||||
* 2 End of file
|
||||
* </table>
|
||||
* If a value is not provided for <nOrigin>, it defaults to 0 and
|
||||
* moves the file pointer from the beginning of the file. </par>
|
||||
* moves the file pointer from the beginning of the file.
|
||||
* $EXAMPLES$
|
||||
* // here is a function that read one text line from an open file
|
||||
*
|
||||
@@ -479,11 +512,12 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant. </par>
|
||||
* This function is CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* Header is Fileio.ch
|
||||
* $SEEALSO$
|
||||
* FCREATE(),FERROR(),FOPEN(),FREAD(),FREADSTR(),FWRITE()
|
||||
* $INCLUDE$
|
||||
* Fileio.ch
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -497,20 +531,20 @@
|
||||
* $SYNTAX$
|
||||
* FILE( <cFileSpec> ) --> lExists
|
||||
* $ARGUMENTS$
|
||||
* <cFileSpec> Dos Skeleton or file name to find. </par>
|
||||
* <cFileSpec> Dos Skeleton or file name to find.
|
||||
* $RETURNS$
|
||||
* <lExists> a logical true (.T.) if the file exists or logical
|
||||
* false (.F.). </par>
|
||||
* false (.F.).
|
||||
* $DESCRIPTION$
|
||||
* This function return a logical true (.T.) if the given filename
|
||||
* <cFileSpec> exist. </par>
|
||||
* <cFileSpec> exist.
|
||||
|
||||
* Dos skeletons symbols may be used in the filename in <cFileSpec>,
|
||||
* as may the drive and/or path name. If a drive are not explicity
|
||||
* specified,FILE() will first search the current drive and directory,
|
||||
* and will look for the file in the directories specified by SET PATH
|
||||
* TO and SET DEFAULT TO commands.However, this command does not look
|
||||
* at the values in the DOS PATH command. </par>
|
||||
* at the values in the DOS PATH command.
|
||||
* $EXAMPLES$
|
||||
* ? file('c:\harbour\doc\compiler.txt")
|
||||
* ? file('c:/harbour/doc/subcodes.txt")
|
||||
@@ -518,7 +552,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compatible. </par>
|
||||
* This function is CA-Clipper compatible.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* SET PATH,SET DEFAULT,SET()
|
||||
* $END$
|
||||
@@ -534,29 +570,29 @@
|
||||
* $SYNTAX$
|
||||
* FREADSTR(<nHandle>, <nBytes>) --> cString
|
||||
* $ARGUMENTS$
|
||||
* <nHandle> DOS file handle number. </par>
|
||||
* <nHandle> DOS file handle number.
|
||||
*
|
||||
* <nBytes> Number of bytes to read. </par>
|
||||
* <nBytes> Number of bytes to read.
|
||||
* $RETURNS$
|
||||
* <cString> an characted expression </par>
|
||||
* <cString> an characted expression
|
||||
* $DESCRIPTION$
|
||||
* This function returns a character string of <nBytes> bytes from a
|
||||
* file whose DOS file handle is <nHandle>. </par>
|
||||
* file whose DOS file handle is <nHandle>.
|
||||
|
||||
* The value of the file handle <nHandle> is obtained from either the
|
||||
* FOPEN() or FCREATE() functions. </par>
|
||||
* FOPEN() or FCREATE() functions.
|
||||
|
||||
* The value of <nBytes> is the number of bytes to read from the file.
|
||||
* The returned string will be the number of characters specified in
|
||||
* <nBytes> or the number of bytes read before an end-of-file charac-
|
||||
* ter (ASCII 26) is found. </par>
|
||||
* ter (ASCII 26) is found.
|
||||
|
||||
* NOTE This function is similar to the FREAD() function, except that
|
||||
* it will not read binary characters that may he required as part of
|
||||
* a header of a file construct. Characters Such as CHR(0) and CHR(26)
|
||||
* may keep this function from performing its intended operation. In this
|
||||
* event, the FREAD() function should he used in place of the FREADSTR()
|
||||
* function. </par>
|
||||
* function.
|
||||
* $EXAMPLES$
|
||||
* IF ( nH := FOPEN("x.txt") ) > 0
|
||||
* cStr := Freadstr(nH,100)
|
||||
@@ -568,7 +604,9 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is not CA-Clipper compliant since may read
|
||||
* strings greather the 65K depending of platform. </par>
|
||||
* strings greather the 65K depending of platform.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* BIN2I(),BIN2L(),BIN2W(),FERROR(),FREAD(),FSEEK()
|
||||
* $END$
|
||||
@@ -584,26 +622,29 @@
|
||||
* $ONELINER$
|
||||
* Changes the name of a specified file
|
||||
* $SYNTAX$
|
||||
* RENAME <cOldFile> TO <cNewFile> </par>
|
||||
* RENAME <cOldFile> TO <cNewFile>
|
||||
* $ARGUMENTS$
|
||||
* <cOldFile> Old filename </par>
|
||||
* <cNewFile> New Filename </par>
|
||||
* <cOldFile> Old filename
|
||||
|
||||
* <cNewFile> New Filename
|
||||
* $DESCRIPTION$
|
||||
* This command changes the name of <cOldFile> to <cNewFile>.Both
|
||||
* <cOldFile> and <cNewFile> must include a file extension.This command
|
||||
* if not affected by the SET PATH TO or SET DEFAULT TO commands;drive
|
||||
* and directoy designaters must be specified if either file is in a
|
||||
* directory other then the default drive and directory. </par>
|
||||
* directory other then the default drive and directory.
|
||||
*
|
||||
* If <cNewFile> id currently open or if it previously exists, this
|
||||
* command will not perform the desired operation. </par>
|
||||
* command will not perform the desired operation.
|
||||
* $EXAMPLES$
|
||||
* RENAME c:\autoexec.bat to c:\autoexec.old
|
||||
* </fixed>
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This command is CA-Clipper compatible </par>
|
||||
* This command is CA-Clipper compatible
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* CURDIR(),ERASE,FILE(),FERASE(),FRENAME()
|
||||
* $END$
|
||||
@@ -619,15 +660,15 @@
|
||||
* $SYNTAX$
|
||||
* ERASE <xcFile>
|
||||
* $ARGUMENTS$
|
||||
* <xcFile> Name of file to remove </par>
|
||||
* <xcFile> Name of file to remove
|
||||
* $DESCRIPTION$
|
||||
* This command removes a file from the disk.The use of a drive,directo-
|
||||
* ry,and wild-card skeleton operator is allowed for the root of the
|
||||
* filename.The file extension is required.The SET DEFAULT and SET PATH
|
||||
* commands do not affect this command. </par>
|
||||
* commands do not affect this command.
|
||||
|
||||
* The file must be considered closed by the operating system before it
|
||||
* may be deleted. </par>
|
||||
* may be deleted.
|
||||
* $EXAMPLES$
|
||||
* Erase c:\autoexec.bat
|
||||
* Erase c:/temp/read.txt
|
||||
@@ -635,7 +676,7 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This command is CA-Clipper compatible </par>
|
||||
* This command is CA-Clipper compatible
|
||||
* $SEEALSO$
|
||||
* CURDIR(),FILE(),FERASE(),DELETE FILE
|
||||
* $END$
|
||||
@@ -651,15 +692,15 @@
|
||||
* $SYNTAX$
|
||||
* DELETE FILE <xcFile>
|
||||
* $ARGUMENTS$
|
||||
* <xcFile> Name of file to remove </par>
|
||||
* <xcFile> Name of file to remove
|
||||
* $DESCRIPTION$
|
||||
* This command removes a file from the disk.The use of a drive,directo-
|
||||
* ry,and wild-card skeleton operator is allowed for the root of the
|
||||
* filename.The file extension is required.The SET DEFAULT and SET PATH
|
||||
* commands do not affect this command. </par>
|
||||
* commands do not affect this command.
|
||||
|
||||
* The file must be considered closed by the operating system before it
|
||||
* may be deleted. </par>
|
||||
* may be deleted.
|
||||
* $EXAMPLES$
|
||||
* Erase c:\autoexec.bat
|
||||
* Erase c:/temp/read.txt
|
||||
@@ -667,7 +708,7 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This command is CA-Clipper compatible </par>
|
||||
* This command is CA-Clipper compatible
|
||||
* $SEEALSO$
|
||||
* CURDIR(),FILE(),FERASE(),ERASE
|
||||
* $END$
|
||||
@@ -684,27 +725,27 @@
|
||||
* __TYPEFILE( <cFile>, [<lPrint>] ) --> NIL
|
||||
* $ARGUMENTS$
|
||||
* <cFile> is a name of the file to display. If the file have an
|
||||
* extension, it must be specified (there is no default value). </par>
|
||||
* extension, it must be specified (there is no default value).
|
||||
*
|
||||
* <lPrint> is an optional logical value that specifies whether the
|
||||
* output should go only to the screen (.F.) or to both the screen and
|
||||
* printer (.T.), the default is (.F.). </par>
|
||||
* printer (.T.), the default is (.F.).
|
||||
* $RETURNS$
|
||||
* __TYPEFILE() always return NIL. </par>
|
||||
* __TYPEFILE() always return NIL.
|
||||
* $DESCRIPTION$
|
||||
* __TYPEFILE() function type the content of a text file on the screen
|
||||
* with an option to send this information also to the printer. The
|
||||
* file is displayed as is without any headings or formating. </par>
|
||||
* file is displayed as is without any headings or formating.
|
||||
*
|
||||
* If <cFile> contain no path, __TYPEFILE() try to find the file first
|
||||
* in the SET DEFAULT directory and then in search all of the SET PATH
|
||||
* directories. If <cFile> can not be found a run-time error occur. </par>
|
||||
* directories. If <cFile> can not be found a run-time error occur.
|
||||
*
|
||||
* Use SET CONSOLE OFF to suppress screen output. </par>
|
||||
* You can pause the output using Ctrl-S, press any key to resume. </par>
|
||||
* Use SET CONSOLE OFF to suppress screen output.
|
||||
* You can pause the output using Ctrl-S, press any key to resume.
|
||||
*
|
||||
* __TYPEFILE() function is used in the preprocessing of the TYPE
|
||||
* command. </par>
|
||||
* command.
|
||||
* $EXAMPLES$
|
||||
* The following examples assume a file name MyText.DAT exist in all
|
||||
* specified paths, a run-time error would displayed if it does not
|
||||
@@ -723,7 +764,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __TYPEFILE() works exactly like CA-Clipper's __TYPEFILE() </par>
|
||||
* __TYPEFILE() works exactly like CA-Clipper's __TYPEFILE()
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* COPY FILE,SET DEFAULT,SET PATH,SET PRINTER,TYPE
|
||||
* $END$
|
||||
@@ -742,30 +785,30 @@
|
||||
* <xcFile> is a name of the file to display. If the file have an
|
||||
* extension, it must be specified (there is no default value).
|
||||
* It can be specified as literal file name or as a character
|
||||
* expression enclosed in parentheses. </par>
|
||||
* expression enclosed in parentheses.
|
||||
*
|
||||
* TO PRINTER is an optional keyword that specifies that the output
|
||||
* should go to both the screen and printer. </par>
|
||||
* should go to both the screen and printer.
|
||||
*
|
||||
* TO FILE <xcDestFile> copy the source <xcFile> also to a file. If no
|
||||
* extension is given (.txt) is added to the output file name.
|
||||
* <xcDestFile> can be specified as literal file name or as a character
|
||||
* expression enclosed in parentheses. </par>
|
||||
* expression enclosed in parentheses.
|
||||
* $DESCRIPTION$
|
||||
* TYPE command type the content of a text file on the screen
|
||||
* with an option to send this information also to the printer or to
|
||||
* an alternate file. The file is displayed as is without any headings
|
||||
* or formating. </par>
|
||||
* or formating.
|
||||
*
|
||||
* If <xcFile> contain no path, TYPE try to find the file first in the
|
||||
* SET DEFAULT directory and then in search all of the SET PATH
|
||||
* directories. If <xcFile> can not be found a run-time error occur. </par>
|
||||
* directories. If <xcFile> can not be found a run-time error occur.
|
||||
*
|
||||
* If <xcDestFile> contain no path it is created in the SET DEFAULT
|
||||
* directory. </par>
|
||||
* directory.
|
||||
*
|
||||
* Use SET CONSOLE OFF to suppress screen output. </par>
|
||||
* You can pause the output using Ctrl-S, press any key to resume. </par>
|
||||
* Use SET CONSOLE OFF to suppress screen output.
|
||||
* You can pause the output using Ctrl-S, press any key to resume.
|
||||
* $EXAMPLES$
|
||||
* The following examples assume a file name MyText.DAT exist in all
|
||||
* specified paths, a run-time error would displayed if it does not
|
||||
@@ -787,7 +830,7 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* TYPE works exactly like CA-Clipper's TYPE </par>
|
||||
* TYPE works exactly like CA-Clipper's TYPE
|
||||
* $SEEALSO$
|
||||
* COPY FILE,SET DEFAULT,SET PATH,SET PRINTER,__TYPEFILE()
|
||||
* $END$
|
||||
@@ -803,29 +846,31 @@
|
||||
* $SYNTAX$
|
||||
* CURDIR( [<cDrive>] ) --> cPath
|
||||
* $ARGUMENTS$
|
||||
* <cDir> OS drive letter </par>
|
||||
* <cDir> OS drive letter
|
||||
* $RETURNS$
|
||||
* <cPath> Name of directory </par>
|
||||
* <cPath> Name of directory
|
||||
* $DESCRIPTION$
|
||||
* This function yields the name of the current OS directory on a
|
||||
* specified drive.If <cDrive> is not speficied,the currently logged
|
||||
* drive will be used. </par>
|
||||
* drive will be used.
|
||||
|
||||
* This function should not return the leading and trailing
|
||||
* (back)slashes. </par>
|
||||
* (back)slashes.
|
||||
|
||||
* If an error has been detected by the function,or the current OS
|
||||
* directory is the root,the value of the function will be a NULL
|
||||
* byte. </par>
|
||||
* byte.
|
||||
* $EXAMPLES$
|
||||
* ? Curdir()
|
||||
* </fixed>
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is Ca-Clipper Compatible </par>
|
||||
* This function is Ca-Clipper Compatible
|
||||
* $PLATFORMS$
|
||||
* ALL </par>
|
||||
* ALL
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* FILE()
|
||||
* $END$
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
* oFile := TFileRead():New( <cFileName> [, <nReadSize> ] )
|
||||
* $ARGUMENTS$
|
||||
* <cFileName> is the required name of the file to be read. </par>
|
||||
*
|
||||
* <nReadSize> is the optional size to use when reading from the file.
|
||||
* The default value is 4096 and the allowed range is 1 through 65535.
|
||||
* Any value outside of this range causes the default value to be used. </par>
|
||||
@@ -33,25 +34,35 @@
|
||||
* TFileRead() is used to access a file one line at a time. You must
|
||||
* specify the name of the file when an instance of the class is created. </par>
|
||||
* The class data should be considered private to the class. </par>
|
||||
*
|
||||
* The class methods are as follows: </par>
|
||||
*
|
||||
* New() Creates a new instance of the TFileRead class. </par>
|
||||
*
|
||||
* Open([<nFlags>]) Opens the file for reading. The optional nFlags
|
||||
* parameter can use any of the FOPEN() flags from
|
||||
* fileio.ch. The default is FO_READ + FO_SHARED.
|
||||
* Calling this method when the file is already
|
||||
* open causes the next ReadLine() to start over
|
||||
* from the beginning of the file. </par>
|
||||
|
||||
* Close() Closes the file. </par>
|
||||
*
|
||||
* ReadLine() Returns one line from the file, stripping the
|
||||
* newline characters. The following sequences are
|
||||
* treated as one newline: 1) CR CR LF; 2) CR LF;
|
||||
* 3) LF; and 4) CR. Note: LF CR is 2 newlines. </par>
|
||||
* Name() Returns the name of the file. </par>
|
||||
*
|
||||
* IsOpen() Returns .T. if the file is open. </par>
|
||||
*
|
||||
* MoreToRead() Returns .T. if there are more lines to be read
|
||||
* (think of it as an inverse EOF function).
|
||||
*
|
||||
* Error() Returns .T. if an error has occurred. </par>
|
||||
*
|
||||
* ErrorNo() Returns the current error code. </par>
|
||||
*
|
||||
* ErrorMsg([<cPre>]) Returns a formatted error message. </par>
|
||||
* $EXAMPLES$
|
||||
* #ifdef __HARBOUR__
|
||||
@@ -83,6 +94,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This is a new Harbour Tools class </par>
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $SEEALSO$
|
||||
* TClass()
|
||||
* $END$
|
||||
|
||||
@@ -23,15 +23,15 @@
|
||||
* $SYNTAX$
|
||||
* ISBIN(<cN>) -><cNr>
|
||||
* $ARGUMENTS$
|
||||
* <cN> STRING TO BE CHECKED </par>
|
||||
* <cN> STRING TO BE CHECKED
|
||||
* $RETURNS$
|
||||
* <cNr> .T. IF THE STRING IS BYNARY,otherwise .F. </par>
|
||||
* <cNr> .T. IF THE STRING IS BYNARY,otherwise .F.
|
||||
* $DESCRIPTION$
|
||||
* check if the passed string is a bynary number or not </par>
|
||||
* check if the passed string is a bynary number or not
|
||||
* $SEEALSO$
|
||||
* ISOCTAL(),ISDEC(),ISHEXA()
|
||||
* $INCLUDE$
|
||||
*
|
||||
* $Files$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -45,15 +45,15 @@
|
||||
* $SYNTAX$
|
||||
* ISOCTAL(<cN>) -><cNr>
|
||||
* $ARGUMENTS$
|
||||
* <cN> STRING TO BE CHECKED </par>
|
||||
* <cN> STRING TO BE CHECKED
|
||||
* $RETURNS$
|
||||
* <cNr> .T. IF THE STRING IS OCTAL;otherwise .F. </par>
|
||||
* <cNr> .T. IF THE STRING IS OCTAL;otherwise .F.
|
||||
* $DESCRIPTION$
|
||||
* check if the passed string is a octal number or not </par>
|
||||
* check if the passed string is a octal number or not
|
||||
* $SEEALSO$
|
||||
* ISBIN(),ISDEC(),ISHEXA()
|
||||
* $INCLUDE$
|
||||
*
|
||||
* $Files$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -67,15 +67,15 @@
|
||||
* $SYNTAX$
|
||||
* ISDEC(<cN>) -><cNr>
|
||||
* $ARGUMENTS$
|
||||
* <cN> STRING TO BE CHECKED </par>
|
||||
* <cN> STRING TO BE CHECKED
|
||||
* $RETURNS$
|
||||
* <cNr> .T. IF THE STRING IS DECIMAL;otherwise .F. </par>
|
||||
* <cNr> .T. IF THE STRING IS DECIMAL;otherwise .F.
|
||||
* $DESCRIPTION$
|
||||
* check if the passed string is a decimal number or not </par>
|
||||
* check if the passed string is a decimal number or not
|
||||
* $SEEALSO$
|
||||
* ISOCTAL(),ISBIN(),ISHEXA()
|
||||
* $INCLUDE$
|
||||
*
|
||||
* $Files$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -89,15 +89,15 @@
|
||||
* $SYNTAX$
|
||||
* ISHEXA(<cN>) -><cNr>
|
||||
* $ARGUMENTS$
|
||||
* <cN> STRING TO BE CHECKED </par>
|
||||
* <cN> STRING TO BE CHECKED
|
||||
* $RETURNS$
|
||||
* <cNr> .T. IF THE STRING IS HEXA;otherwise .F. </par>
|
||||
* <cNr> .T. IF THE STRING IS HEXA;otherwise .F.
|
||||
* $DESCRIPTION$
|
||||
* check if the passed string is a hexa number or not </par>
|
||||
* check if the passed string is a hexa number or not
|
||||
* $SEEALSO$
|
||||
* ISOCTAL(),ISDEC(),ISBIN()
|
||||
* $INCLUDE$
|
||||
*
|
||||
* $Files$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -111,16 +111,16 @@
|
||||
* $SYNTAX$
|
||||
* DECTOBIN(<cN>) -><cNr>
|
||||
* $ARGUMENTS$
|
||||
* <cN> NUMBER TO BE CONVERTED </par>
|
||||
* <cN> NUMBER TO BE CONVERTED
|
||||
* $RETURNS$
|
||||
* <cNr> NUMBER CONVERTED </par>
|
||||
* <cNr> NUMBER CONVERTED
|
||||
* $DESCRIPTION$
|
||||
* This function converts a string <cN> from an decimal value
|
||||
* to an binary value. </par>
|
||||
* to an binary value.
|
||||
* $SEEALSO$
|
||||
* Dectohexa(),dectooctal()
|
||||
* $INCLUDE$
|
||||
*
|
||||
* $Files$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -134,16 +134,16 @@
|
||||
* $SYNTAX$
|
||||
* DECTOOCTAL(<cN>) -><cNr>
|
||||
* $ARGUMENTS$
|
||||
* <cN> NUMBER TO BE CONVERTED </par>
|
||||
* <cN> NUMBER TO BE CONVERTED
|
||||
* $RETURNS$
|
||||
* <cNr> NUMBER CONVERTED </par>
|
||||
* <cNr> NUMBER CONVERTED
|
||||
* $DESCRIPTION$
|
||||
* This function converts a string <cN> from an decimal value
|
||||
* to an octal value. </par>
|
||||
* to an octal value.
|
||||
* $SEEALSO$
|
||||
* Dectohexa(),dectobin()
|
||||
* $INCLUDE$
|
||||
*
|
||||
* $Files$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -157,16 +157,16 @@
|
||||
* $SYNTAX$
|
||||
* DECTOHEXA(<cN>) -><cNr>
|
||||
* $ARGUMENTS$
|
||||
* <cN> NUMBER TO BE CONVERTED </par>
|
||||
* <cN> NUMBER TO BE CONVERTED
|
||||
* $RETURNS$
|
||||
* <cNr> NUMBER CONVERTED </par>
|
||||
* <cNr> NUMBER CONVERTED
|
||||
* $DESCRIPTION$
|
||||
* This function converts a string <cN> from an decimal value
|
||||
* to an hexadecimal value. </par>
|
||||
* to an hexadecimal value.
|
||||
* $SEEALSO$
|
||||
* Dectobin(),dectooctal()
|
||||
* $INCLUDE$
|
||||
*
|
||||
* $Files$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -180,16 +180,16 @@
|
||||
* $SYNTAX$
|
||||
* BIntODEC(<cN>) -><cNr>
|
||||
* $ARGUMENTS$
|
||||
* <cN> NUMBER TO BE CONVERTED </par>
|
||||
* <cN> NUMBER TO BE CONVERTED
|
||||
* $RETURNS$
|
||||
* <cNr> NUMBER CONVERTED </par>
|
||||
* <cNr> NUMBER CONVERTED
|
||||
* $DESCRIPTION$
|
||||
* This function converts a string <cN> from an binary value
|
||||
* to a numeric decimal value. </par>
|
||||
* to a numeric decimal value.
|
||||
* $SEEALSO$
|
||||
* OctaltoDec(),HexatoDec()
|
||||
* $INCLUDE$
|
||||
*
|
||||
* $Files$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -203,16 +203,16 @@
|
||||
* $SYNTAX$
|
||||
* OCTALTODEC(<cN>) -><cNr>
|
||||
* $ARGUMENTS$
|
||||
* <cN> NUMBER TO BE CONVERTED </par>
|
||||
* <cN> NUMBER TO BE CONVERTED
|
||||
* $RETURNS$
|
||||
* <cNr> NUMBER CONVERTED </par>
|
||||
* <cNr> NUMBER CONVERTED
|
||||
* $DESCRIPTION$
|
||||
* This function converts a string <cN> from an octal value
|
||||
* to a numeric decimal value. </par>
|
||||
* to a numeric decimal value.
|
||||
* $SEEALSO$
|
||||
* BintoDec(),HexatoDec()
|
||||
* $INCLUDE$
|
||||
*
|
||||
* $Files$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -226,16 +226,16 @@
|
||||
* $SYNTAX$
|
||||
* HEXATODEC(<cN>) -><cNr>
|
||||
* $ARGUMENTS$
|
||||
* <cN> NUMBER TO BE CONVERTED </par>
|
||||
* <cN> NUMBER TO BE CONVERTED
|
||||
* $RETURNS$
|
||||
* <cNr> NUMBER CONVERTED </par>
|
||||
* <cNr> NUMBER CONVERTED
|
||||
* $DESCRIPTION$
|
||||
* This function converts a string <cN> from an hexadecimal value
|
||||
* to a numeric decimal value. </par>
|
||||
* to a numeric decimal value.
|
||||
* $SEEALSO$
|
||||
* OctaltoDec(),BintoDec()
|
||||
* $INCLUDE$
|
||||
*
|
||||
* $Files$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
|
||||
@@ -25,16 +25,20 @@
|
||||
* $SYNTAX$
|
||||
* FIELDTYPE(<nFieldNum>) --> cFieldType
|
||||
* $ARGUMENTS$
|
||||
* <nFieldNum> Data field , which type need to be determined. </par>
|
||||
* <nFieldNum> Data field , which type need to be determined.
|
||||
* $RETURNS$
|
||||
* FIELDTYPE() returns the character that designates the type of a given field: </par>
|
||||
* 'C' - character string; </par>
|
||||
* 'N' - numeric; </par>
|
||||
* 'L' - logical; </par>
|
||||
* 'D' - date; </par>
|
||||
* 'M' - memo. </par>
|
||||
* FIELDTYPE() returns the character that designates the type of
|
||||
* a given field:</par>
|
||||
* <table>
|
||||
* 'C' character string;
|
||||
* 'N' numeric;
|
||||
* 'L' logical;
|
||||
* 'D' date;
|
||||
* 'M' memo.
|
||||
* </table>
|
||||
* $DESCRIPTION$
|
||||
* This function determines the type of a field, designated by its number. </par>
|
||||
* This function determines the type of a field, designated by its
|
||||
* number.
|
||||
* $EXAMPLES$
|
||||
* FUNCTION Main()
|
||||
* LOCAL i
|
||||
@@ -48,9 +52,11 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-CLIPPER TOOLS compatible </par>
|
||||
* This function is CA-CLIPPER TOOLS compatible
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $SEEALSO$
|
||||
* FIELDSIZE(),FIELDDECI()
|
||||
* FIELDSIZE(),FIELDDECI()
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -64,11 +70,12 @@
|
||||
* $SYNTAX$
|
||||
* FIELDSIZE(<nFieldNum>) --> nFieldSize
|
||||
* $ARGUMENTS$
|
||||
* <nFieldNum> Data field , which size need to be determined. </par>
|
||||
* <nFieldNum> Data field , which size need to be determined.
|
||||
* $RETURNS$
|
||||
* FIELDSIZE() returns the number that designates the size of a given field. </par>
|
||||
* FIELDSIZE() returns the number that designates the size of a given
|
||||
* field.
|
||||
* $DESCRIPTION$
|
||||
* This function determines the size of a field, designated by its number. </par>
|
||||
* This function determines the size of a field, designated by its number.
|
||||
* $EXAMPLES$
|
||||
* FUNCTION Main()
|
||||
* LOCAL i
|
||||
@@ -82,9 +89,11 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-CLIPPER TOOLS compatible </par>
|
||||
* This function is CA-CLIPPER TOOLS compatible
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $SEEALSO$
|
||||
* FIELDTYPE(),FIELDDECI()
|
||||
* FIELDTYPE(),FIELDDECI()
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -99,12 +108,12 @@
|
||||
* FIELDDECI(<nFieldNum>) --> nFieldDeci
|
||||
* $ARGUMENTS$
|
||||
* <nFieldNum> Numeric data field , for which number of decimal
|
||||
* places need to be determined. </par>
|
||||
* places need to be determined.
|
||||
* $RETURNS$
|
||||
* FIELDDECI() returns the numeric value that designates the number
|
||||
* of decimal places of a given field. </par>
|
||||
* of decimal places of a given field.
|
||||
* $DESCRIPTION$
|
||||
* This function determines the number of decimal places of a given numeric field. </par>
|
||||
* This function determines the number of decimal places of a given numeric field.
|
||||
* $EXAMPLES$
|
||||
* FUNCTION Main()
|
||||
* LOCAL i
|
||||
@@ -118,8 +127,10 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-CLIPPER TOOLS compatible </par>
|
||||
* This function is CA-CLIPPER TOOLS compatible
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $SEEALSO$
|
||||
* FIELDTYPE(),FIELDSIZE()
|
||||
* FIELDTYPE(),FIELDSIZE()
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -23,10 +23,10 @@
|
||||
* ELSE
|
||||
* RETURN(.F.)
|
||||
* ENDIF
|
||||
* $FILES$
|
||||
* Header is Fileio.ch
|
||||
* $SEEALSO$
|
||||
* MD(),RD()
|
||||
* $INCLUDE$
|
||||
* extend.h dos.h dir.h bios.h
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -51,6 +51,8 @@
|
||||
* ELSE
|
||||
* RETURN(.F.)
|
||||
* ENDIF
|
||||
* $FILES$
|
||||
* Header is Fileio.ch
|
||||
* $SEEALSO$
|
||||
* CD(),MD()
|
||||
* $END$
|
||||
@@ -77,6 +79,8 @@
|
||||
* ELSE
|
||||
* RETURN(.F.)
|
||||
* ENDIF
|
||||
* $FILES$
|
||||
* Header is Fileio.ch
|
||||
* $SEEALSO$
|
||||
* CD(),MD()
|
||||
* $END$
|
||||
|
||||
@@ -42,6 +42,8 @@
|
||||
* I process contain embedded NULs.
|
||||
* $EXAMPLES$
|
||||
* ? gt_ascpos("the cat sat on the mat", 3) // prints e
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -63,6 +65,8 @@
|
||||
* Sum the ascii value of every character in the passed string
|
||||
* and return the result.
|
||||
* $EXAMPLES$
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -92,7 +96,8 @@
|
||||
* $EXAMPLES$
|
||||
* ? gt_atDiff("the cat", "the rat") // prints 5
|
||||
* ? gt_atDiff("the cat", "the ") // prints 0
|
||||
*
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -119,7 +124,8 @@
|
||||
* $EXAMPLES$
|
||||
*
|
||||
* ? gt_CharEven("abcdefghijklm") // prints "bdfhjl"
|
||||
*
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -150,7 +156,8 @@
|
||||
* ? gt_CharMix("abc", "123") // prints "a1b2c3"
|
||||
* ? gt_CharMix("abcde", "123") // prints "a1b2c3de"
|
||||
* ? gt_CharMix("abc", "12345") // prints "a1b2c345"
|
||||
*
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -177,7 +184,8 @@
|
||||
* $EXAMPLES$
|
||||
*
|
||||
* ? gt_CharOdd("abcdefghijklm") // prints "acegikm"
|
||||
*
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -205,7 +213,8 @@
|
||||
* $EXAMPLES$
|
||||
*
|
||||
* ? GT_ChrCount("t", "the cat sat on the mat") // prints 4
|
||||
*
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -232,7 +241,8 @@
|
||||
*
|
||||
* ? chr(GT_ChrFirst("sa ", "This is a test")) // prints "s"
|
||||
* ? chr(GT_ChrFirst("et", "This is a test")) // prints "t"
|
||||
*
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -265,6 +275,8 @@
|
||||
*
|
||||
* ? GT_ChrTotal("tae", cStr1) // prints 10
|
||||
* ? GT_ChrTotal("zqw", cStr1) // prints 0
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -296,7 +308,8 @@
|
||||
* $EXAMPLES$
|
||||
*
|
||||
* ? GT_StrCount("the", "the cat sat on the mat") // prints 2
|
||||
*
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -322,7 +335,8 @@
|
||||
*
|
||||
* ? GT_strcspn("this is a test", "as ") // prints 3
|
||||
* ? GT_strcspn("this is a test", "elnjpq") // prints 11
|
||||
*
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -353,7 +367,8 @@
|
||||
* $EXAMPLES$
|
||||
* ? gt_strDiff("the cat", "the rat") // prints "rat"
|
||||
* ? gt_strDiff("the cat", "the ") // prints ""
|
||||
*
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -384,7 +399,8 @@
|
||||
* ? gt_strexpand("abc") // prints "a b c"
|
||||
* ? gt_strexpand("abc", 2) // prints "a b c"
|
||||
* ? gt_strexpand("abc", 2, 'þ') // prints "aþþbþþc"
|
||||
*
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -415,7 +431,8 @@
|
||||
* ? GT_StrLeft("this is a test", "hsit ") // prints 8
|
||||
* ? GT_StrLeft("this is a test", "hit a") // prints 3
|
||||
* ? GT_StrLeft("this is a test", "zxy") // prints 0
|
||||
*
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -442,7 +459,8 @@
|
||||
*
|
||||
* ? GT_Strpbrk("This is a test", "sa ") // prints "s is a test"
|
||||
* ? GT_Strpbrk("This is a test", "et") // prints "test"
|
||||
*
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -473,7 +491,8 @@
|
||||
* ? GT_StrRight("this is a test", "teas ") // prints 8
|
||||
* ? GT_StrRight("this is a test", "tes h") // prints 5
|
||||
* ? GT_StrRight("this is a test", "zxy") // prints 0
|
||||
*
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
|
||||
@@ -56,6 +56,8 @@
|
||||
* Done
|
||||
* $COMPLIANCE$
|
||||
* All platforms </par>
|
||||
* $FILES$
|
||||
* Library is Tools.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* PROCNAME() is fully CA-Clipper compliant. </par>
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* PROCLINE(),PROCFILE()
|
||||
* $END$
|
||||
@@ -86,6 +88,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* PROCLINE() is fully CA-Clipper compliant. </par>
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* PROCNAME(),PROCFILE()
|
||||
* $END$
|
||||
@@ -121,6 +125,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* PROCFILE() is fully CA-Clipper compliant. </par>
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* PROCNAME(),PROCLINE()
|
||||
* $END$
|
||||
@@ -156,6 +162,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* HB_PVALUE() is a new function and hence not CA-Clipper compliant. </par>
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* PCOUNT()
|
||||
* $END$
|
||||
@@ -169,7 +177,7 @@
|
||||
* $ONELINER$
|
||||
* Retrieves the number of arguments passed to a function.
|
||||
* $SYNTAX$
|
||||
* PCOUNT() --> <nArgs> </par>
|
||||
* PCOUNT() --> <nArgs>
|
||||
* $ARGUMENTS$
|
||||
* None </par>
|
||||
* $RETURNS$
|
||||
@@ -194,6 +202,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* PCOUNT() is fully CA-Clipper compliant. </par>
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* HB_PVALUE()
|
||||
* $END$
|
||||
@@ -229,6 +239,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __QUIT() is fully CA-Clipper compliant. </par>
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* QUIT
|
||||
* $END$
|
||||
@@ -285,6 +297,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __SetHelpK() works exactly like CA-Clipper's __SetHelpK() </par>
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* __XHelp(),SET KEY,SETKEY()
|
||||
* $END$
|
||||
@@ -314,6 +328,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* BREAK() is fully CA-Clipper compliant. </par>
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* BEGIN SEQUENCE
|
||||
* $END$
|
||||
@@ -354,6 +370,8 @@
|
||||
* Old style (slower):
|
||||
* DO &cFunction WITH 3
|
||||
* </fixed>
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -375,5 +393,7 @@
|
||||
* The containts of a specific local variable </par>
|
||||
* $DESCRIPTION$
|
||||
* This function is used from the debugger </par>
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -30,23 +30,28 @@
|
||||
* the timeout period has elapsed. If only this parameter is specified
|
||||
* and it is not numeric, it will be treated as if it were 0. But if both
|
||||
* parameters are specified and this parameter is not numeric, it will be
|
||||
* treated as if it were not present. </par>
|
||||
* treated as if it were not present.
|
||||
*
|
||||
* <nEvents> is an optional mask of input events that are to be enabled. </par>
|
||||
* <nEvents> is an optional mask of input events that are to be enabled.
|
||||
* If omitted, defaults to hb_set.HB_SET_EVENTMASK. Valid input maks are
|
||||
* in inkey.ch and are explained below. It is recommended that the mask
|
||||
* names be used rather than their numeric values, in case the numeric
|
||||
* values change in future releases of Harbour. To allow more than one
|
||||
* type of input event, simply add the various mask names together. </par>
|
||||
* INKEY_MOVE = Mouse motion events are allowed </par>
|
||||
* INKEY_LDOWN = The mouse left click down event is allowed </par>
|
||||
* INKEY_LUP = The mouse left click up event is allowed </par>
|
||||
* INKEY_RDOWN = The mouse right click down event is allowed </par>
|
||||
* INKEY_RUP = The mouse right click up event is allowed </par>
|
||||
* INKEY_KEYBOARD = All keyboard events are allowed </par>
|
||||
* INKEY_ALL = All mouse and keyboard events are allowed </par>
|
||||
* type of input event, simply add the various mask names together.
|
||||
*
|
||||
* <table>
|
||||
* inkey.ch Meaning
|
||||
*
|
||||
* INKEY_MOVE Mouse motion events are allowed
|
||||
* INKEY_LDOWN The mouse left click down event is allowed
|
||||
* INKEY_LUP The mouse left click up event is allowed
|
||||
* INKEY_RDOWN The mouse right click down event is allowed
|
||||
* INKEY_RUP The mouse right click up event is allowed
|
||||
* INKEY_KEYBOARD All keyboard events are allowed
|
||||
* INKEY_ALL All mouse and keyboard events are allowed
|
||||
* </table>
|
||||
* If the parameter is not numeric, it will be treated as if it were set
|
||||
* to hb_set.HB_SET_EVENTMASK. </par>
|
||||
* to hb_set.HB_SET_EVENTMASK.
|
||||
* $RETURNS$
|
||||
* 0 in case of timeout with no input event, otherwise returns a value
|
||||
* in the range -39 to 386 for keyboard events or the range 1001 to 1007
|
||||
@@ -55,7 +60,7 @@
|
||||
* event return codes in the range 32 through 127 are equivalent to the
|
||||
* printable ASCII character set. Keyboard event return codes in the
|
||||
* range 128 through 255 are assumed to be printable, but results may
|
||||
* vary based on hardware and nationality. </par>
|
||||
* vary based on hardware and nationality.
|
||||
* $DESCRIPTION$
|
||||
* INKEY() can be used to detect input events, such as keypress, mouse
|
||||
* movement, or mouse key clicks (up and/or down).
|
||||
@@ -76,7 +81,9 @@
|
||||
* if the first parameter is less than or equal to 0 and the second
|
||||
* parameter (or the default mask) is not valid, because otherwise INKEY
|
||||
* would never return, because it was, in effect, asked to wait forever
|
||||
* for no events (Note: In Clipper, this also blocks SET KEY events). </par>
|
||||
* for no events (Note: In Clipper, this also blocks SET KEY events).
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* inkey.ch
|
||||
* $END$
|
||||
@@ -96,12 +103,12 @@
|
||||
* $ARGUMENTS$
|
||||
* <cString> is the optional string to stuff into the Harbour keyboard
|
||||
* buffer after clearing it first. Note: The character ";" is converted
|
||||
* to CHR(13) (this is an undocumented CA-Clipper feature). </par>
|
||||
* to CHR(13) (this is an undocumented CA-Clipper feature).
|
||||
* $RETURNS$
|
||||
* There is no return value </par>
|
||||
* There is no return value
|
||||
* $DESCRIPTION$
|
||||
* Clears the Harbour keyboard typeahead buffer and then inserts an
|
||||
* optional string into it. </par>
|
||||
* optional string into it.
|
||||
* $EXAMPLES$
|
||||
* // Stuff an Enter key into the keyboard buffer
|
||||
* KEYBOARD CHR(13)
|
||||
@@ -116,7 +123,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __KEYBOARD() is compliant with CA-Clipper 5.3 </par>
|
||||
* __KEYBOARD() is compliant with CA-Clipper 5.3
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* CLEAR TYPEAHEAD,KEYBOARD
|
||||
* $END$
|
||||
@@ -130,18 +139,18 @@
|
||||
* $ONELINER$
|
||||
* Put an inkey code to the keyboard buffer
|
||||
* $SYNTAX$
|
||||
* HB_keyPut( <nInkeyCode> )
|
||||
* HB_KEYPUT( <nInkeyCode> )
|
||||
* $ARGUMENTS$
|
||||
* <nInkeyCode> is the inkey code, which should be inserted into the
|
||||
* keyboard buffer. </par>
|
||||
* keyboard buffer.
|
||||
* $RETURNS$
|
||||
* There is no return value </par>
|
||||
* There is no return value
|
||||
* $DESCRIPTION$
|
||||
* Inserts an inkey code to the string buffer. The buffer is *not*
|
||||
* cleared in this operation. This function allows to insert such
|
||||
* inkey codes which are not in the range of 0 to 255. To insert more
|
||||
* than one code, call the function repeatedly. The zero code cannot
|
||||
* be inserted. </par>
|
||||
* be inserted.
|
||||
* $EXAMPLES$
|
||||
* // Stuff an Alt+PgDn key into the keyboard buffer
|
||||
* HB_KEYPUT( K_ALT_PGDN )
|
||||
@@ -153,7 +162,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* Was not part of Clipper </par>
|
||||
* Was not part of Clipper
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* KEYBOARD,CLEAR TYPEAHEAD,INKEY()
|
||||
* $END$
|
||||
@@ -169,12 +180,12 @@
|
||||
* $SYNTAX$
|
||||
* NEXTKEY() --> nKey
|
||||
* $ARGUMENTS$
|
||||
* None </par>
|
||||
* None
|
||||
* $RETURNS$
|
||||
* <nKey> There is no return value </par>
|
||||
* <nKey> There is no return value
|
||||
* $DESCRIPTION$
|
||||
* Returns the value of the next key in the Harbour keyboard buffer
|
||||
* without extracting it. </par>
|
||||
* without extracting it.
|
||||
* $EXAMPLES$
|
||||
* // Use NEXTKEY() with INKEY() to change display character or by
|
||||
* // itself to exit the loop, so that the caller can detect the Esc.
|
||||
@@ -197,7 +208,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* NEXTKEY() is compliant with CA-Clipper 5.3 </par>
|
||||
* NEXTKEY() is compliant with CA-Clipper 5.3
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* INKEY(),LASTKEY()
|
||||
* $END$
|
||||
@@ -213,12 +226,12 @@
|
||||
* $SYNTAX$
|
||||
* LASTKEY() --> nKey
|
||||
* $ARGUMENTS$
|
||||
* None </par>
|
||||
* None
|
||||
* $RETURNS$
|
||||
* <nKey> There is no return value </par>
|
||||
* <nKey> There is no return value
|
||||
* $DESCRIPTION$
|
||||
* Returns the value of the last key exttracted from the Harbour
|
||||
* keyboard buffer </par>
|
||||
* keyboard buffer
|
||||
* $EXAMPLES$
|
||||
* // Continue looping unless the ESC key was pressed in MainFunc()
|
||||
* WHILE TRUE
|
||||
@@ -234,7 +247,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* LASTKEY() is compliant with CA-Clipper 5.3 </par>
|
||||
* LASTKEY() is compliant with CA-Clipper 5.3
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* INKEY(),LASTKEY()
|
||||
* $END$
|
||||
@@ -249,18 +264,18 @@
|
||||
* $ONELINER$
|
||||
* Stuffs the keyboard with a string
|
||||
* $SYNTAX$
|
||||
* KEYBOARD <cString> </par>
|
||||
* KEYBOARD <cString>
|
||||
* $ARGUMENTS$
|
||||
* <cString> String to be processed, one character at a time,
|
||||
* by the Harbour keyboard processor </par>
|
||||
* by the Harbour keyboard processor
|
||||
* $DESCRIPTION$
|
||||
* This command stuff the input buffer with <cString>. The
|
||||
* number of character that can be stuffed into the keyboard
|
||||
* buffer is controled by SET TYPEAHEAD command and may range
|
||||
* from 0 to 32,622, with each character appearing in the ASCII
|
||||
* range of 0 to 255. None of the extended keys may be stuffed
|
||||
* in the keyboard buffer. </par>
|
||||
* Issuing a KEYBOARD " " will clear the keyboard buffer. </par>
|
||||
* in the keyboard buffer.
|
||||
* Issuing a KEYBOARD " " will clear the keyboard buffer.
|
||||
* $EXAMPLES$
|
||||
* // Stuff an Enter key into the keyboard buffer
|
||||
* KEYBOARD CHR(13)
|
||||
@@ -274,7 +289,7 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __KEYBOARD() is compliant with CA-Clipper 5.3 </par>
|
||||
* __KEYBOARD() is compliant with CA-Clipper 5.3
|
||||
* $SEEALSO$
|
||||
* CLEAR TYPEAHEAD,__KEYBOARD()
|
||||
* $END$
|
||||
@@ -290,39 +305,41 @@
|
||||
* $SYNTAX$
|
||||
* READKEY() --> nKeyCode
|
||||
* $ARGUMENTS$
|
||||
* none. </par>
|
||||
* none.
|
||||
* $RETURNS$
|
||||
* READKEY() return a numeric code representing the key that cause READ
|
||||
* to terminate. </par>
|
||||
* to terminate.
|
||||
* $DESCRIPTION$
|
||||
* READKEY() is used after a READ was terminated to determine the exit
|
||||
* key pressed. If the get buffer was updated during READ, 256 is added
|
||||
* to the return code. </par>
|
||||
*
|
||||
* Exit key Return code Return code </par>
|
||||
* (not updated) (updated) </par>
|
||||
* -------------- ------------- ----------- </par>
|
||||
* Up 4 260 </par>
|
||||
* Down 5 261 </par>
|
||||
* Page-Up 6 262 </par>
|
||||
* Page-Down 7 263 </par>
|
||||
* Ctrl Page-Up 34 290 </par>
|
||||
* Ctrl Page-Down 35 291 </par>
|
||||
* Esc 12 268 </par>
|
||||
* Ctrl End 14 270 </par>
|
||||
* Enter 15 271 </par>
|
||||
*
|
||||
* Key >= 32 15 271 </par>
|
||||
* otherwise 0 0 </par>
|
||||
* to the return code.
|
||||
*
|
||||
* <table>
|
||||
* Exit Return code Return code
|
||||
* Key (not updated) (updated)
|
||||
|
||||
* Up 4 260
|
||||
* Down 5 261
|
||||
* Page-Up 6 262
|
||||
* Page-Down 7 263
|
||||
* Ctrl Page-Up 34 290
|
||||
* Ctrl Page-Down 35 291
|
||||
* Esc 12 268
|
||||
* Ctrl End 14 270
|
||||
* Enter 15 271
|
||||
* Key >= 32 15 271
|
||||
* otherwise 0 0
|
||||
* </table>
|
||||
* READKEY() is a compatibility function so try not use it. READKEY()
|
||||
* is superseded by LASTKEY() which return INKEY() code for that key,
|
||||
* UPDATED() could be use to find if the get buffer was changed during
|
||||
* READ. </par>
|
||||
* READ.
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* READKEY() works exactly like CA-Clipper's READKEY(). </par>
|
||||
* READKEY() works exactly like CA-Clipper's READKEY().
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* @...GET,INKEY(),LASTKEY(),READ,READEXIT(),UPDATED()
|
||||
* $END$
|
||||
@@ -338,10 +355,11 @@
|
||||
* $SYNTAX$
|
||||
* MRow() --> nMouseRow
|
||||
* $ARGUMENTS$
|
||||
* None </par>
|
||||
* None
|
||||
* $RETURNS$
|
||||
* <nMouseRow> The mouse cursor row position </par>
|
||||
* <nMouseRow> The mouse cursor row position
|
||||
* $DESCRIPTION$
|
||||
* This function returns the current mouse row cursor position
|
||||
* $EXAMPLES$
|
||||
* local nKey
|
||||
* nKey = InKey( 0 )
|
||||
@@ -351,9 +369,11 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is a Harbour Specific </par>
|
||||
* This function is a Harbour Specific
|
||||
* $PLATFORMS$
|
||||
* This function is Windows Specific </par>
|
||||
* This function is Windows Specific
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* MCOL()
|
||||
* $END$
|
||||
@@ -369,10 +389,11 @@
|
||||
* $SYNTAX$
|
||||
* MCol() --> nMouseColumn
|
||||
* $ARGUMENTS$
|
||||
* None </par>
|
||||
* None
|
||||
* $RETURNS$
|
||||
* <nMouseColumn> The mouse cursor column position </par>
|
||||
* <nMouseColumn> The mouse cursor column position
|
||||
* $DESCRIPTION$
|
||||
* This function returns the current mouse col cursor position
|
||||
* $EXAMPLES$
|
||||
* local nKey
|
||||
* nKey = InKey( 0 )
|
||||
@@ -382,9 +403,11 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is a Harbour Specific </par>
|
||||
* This function is a Harbour Specific
|
||||
* $PLATFORMS$
|
||||
* This function is Windows Specific </par>
|
||||
* This function is Windows Specific
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* MROW()
|
||||
* $END$
|
||||
|
||||
@@ -23,12 +23,12 @@
|
||||
* $SYNTAX$
|
||||
* ABS(<nNumber>) --> <nAbsNumber>
|
||||
* $ARGUMENTS$
|
||||
* <nNumber> Any number </par>
|
||||
* <nNumber> Any number
|
||||
* $RETURNS$
|
||||
* <nAbsNumber> The absolute numeric value </par>
|
||||
* <nAbsNumber> The absolute numeric value
|
||||
* $DESCRIPTION$
|
||||
* This function yeilds the absolute value of the numeric value or
|
||||
* expression <nNumber> </par>
|
||||
* expression <nNumber>
|
||||
* $EXAMPLES$
|
||||
* Proc Main()
|
||||
*
|
||||
@@ -45,11 +45,13 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant </par>
|
||||
* This function is CA-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
*
|
||||
* EXP()
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -63,21 +65,23 @@
|
||||
* $SYNTAX$
|
||||
* EXP( <nNumber> ) --> <nExpoent>
|
||||
* $ARGUMENTS$
|
||||
* <nNumber> Any real number </par>
|
||||
* <nNumber> Any real number
|
||||
* $RETURNS$
|
||||
* <nExpoent> The expoent number of <nNumber> </par>
|
||||
* <nExpoent> The expoent number of <nNumber>
|
||||
* $DESCRIPTION$
|
||||
* This function returns the exponential of any given real number
|
||||
* <nNumber> </par>
|
||||
* <nNumber>
|
||||
* $EXAMPLES$
|
||||
* ? EXP(632512)
|
||||
* </fixed>
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant. </par>
|
||||
* This function is CA-Clipper compliant.
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* LOG()
|
||||
* $END$
|
||||
@@ -93,13 +97,13 @@
|
||||
* $SYNTAX$
|
||||
* INT( <nNumber> ) --> <nIntNumber>
|
||||
* $ARGUMENTS$
|
||||
* <nNumber> Any numeric value </par>
|
||||
* <nNumber> Any numeric value
|
||||
* $RETURNS$
|
||||
* <nIntNumber> The integer portion of the numeric value </par>
|
||||
* <nIntNumber> The integer portion of the numeric value
|
||||
* $DESCRIPTION$
|
||||
* This function convert a numeric expression to an integer. all decimals
|
||||
* digit are truncated.This function does not round a value upward or
|
||||
* downward;it merely truncated a numeric expression. </par>
|
||||
* downward;it merely truncated a numeric expression.
|
||||
* $EXAMPLES$
|
||||
* SET Decimal to 5
|
||||
* ? INT(632512.62541)
|
||||
@@ -108,9 +112,11 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant. </par>
|
||||
* This function is CA-Clipper compliant.
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* ROUND(),STRZERO()
|
||||
* $END$
|
||||
@@ -126,23 +132,25 @@
|
||||
* $SYNTAX$
|
||||
* LOG( <nNumber> ) --> <nLog>
|
||||
* $ARGUMENTS$
|
||||
* <nNumber> Any numeric expression </par>
|
||||
* <nNumber> Any numeric expression
|
||||
* $RETURNS$
|
||||
* <nExpoent> The natural logaritmh of <nNumber> </par>
|
||||
* <nExpoent> The natural logaritmh of <nNumber>
|
||||
* $DESCRIPTION$
|
||||
* This function will return the natural logarithm of the number <nNumber>. </par>
|
||||
* This function will return the natural logarithm of the number <nNumber>.
|
||||
* If <nNumber> is 0 or is less them 0,a numeric overflow condition exist,
|
||||
* witch is depicted on the display device as a series of asterisks. </par>
|
||||
* This functions is the inverse of EXP() function. </par>
|
||||
* witch is depicted on the display device as a series of asterisks.
|
||||
* This functions is the inverse of EXP() function.
|
||||
* $EXAMPLES$
|
||||
* ? LOG(632512)
|
||||
* </fixed>
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant. </par>
|
||||
* This function is CA-Clipper compliant.
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* EXP()
|
||||
* $END$
|
||||
@@ -159,17 +167,18 @@
|
||||
* $SYNTAX$
|
||||
* MAX(<xValue>,<xValue1>) --> <xMax>
|
||||
* $ARGUMENTS$
|
||||
* <xValue> Any date or numeric value. </par>
|
||||
* <xValue1> Any date or numeric value. </par>
|
||||
* <xValue> Any date or numeric value.
|
||||
*
|
||||
* <xValue1> Any date or numeric value.
|
||||
* $RETURNS$
|
||||
* <xMax> Eighter a numeric or date value </par>
|
||||
* <xMax> Eighter a numeric or date value
|
||||
* $DESCRIPTION$
|
||||
* This function returns the larger of the two passed espressions. If
|
||||
* <xValue> and <xValue1> are numeric data types,the value returned by
|
||||
* this function will be a numeric data type as well and will be the
|
||||
* larger of the two numbers passed to it.If <xValue> and <xValue1> are
|
||||
* date data types,the return value for this function will be a date
|
||||
* data type as well;it will be the latest of the two dates passed to it. </par>
|
||||
* data type as well;it will be the latest of the two dates passed to it.
|
||||
* $EXAMPLES$
|
||||
* ? MAX(214514214,6251242142)
|
||||
* ? MAX(CTOD('11/11/2000'),CTOD('21/06/2014')
|
||||
@@ -177,9 +186,11 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is Ca-Clipper compliant </par>
|
||||
* This function is Ca-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* Min()
|
||||
* $END$
|
||||
@@ -195,15 +206,16 @@
|
||||
* $SYNTAX$
|
||||
* MIN(<xValue>,<xValue1>) --> <xMin>
|
||||
* $ARGUMENTS$
|
||||
* <xValue> Any date or numeric value. </par>
|
||||
* <xValue1> Any date or numeric value. </par>
|
||||
* <xValue> Any date or numeric value.
|
||||
*
|
||||
* <xValue1> Any date or numeric value.
|
||||
* $RETURNS$
|
||||
* <xMin> Eighter a numeric or date value </par>
|
||||
* <xMin> Eighter a numeric or date value
|
||||
* $DESCRIPTION$
|
||||
* This function returns the smaller of the two passed espressions. The
|
||||
* value of this function will be the result of this comparasion.If <xValue>
|
||||
* is a numeric data type,<xValue1> must so be a numeric data type.The
|
||||
* same may be said if <xValue> is a date data type. </par>
|
||||
* same may be said if <xValue> is a date data type.
|
||||
* $EXAMPLES$
|
||||
* ? MIN(214514214,6251242142)
|
||||
* ? MIN(CTOD('11/11/2000'),CTOD('21/06/2014')
|
||||
@@ -211,9 +223,11 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is Ca-Clipper compliant </par>
|
||||
* This function is Ca-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* MAX()
|
||||
* $END$
|
||||
@@ -229,13 +243,14 @@
|
||||
* $SYNTAX$
|
||||
* MOD( <nNumber>,<nNumber1>) --> <nReturn>
|
||||
* $ARGUMENTS$
|
||||
* <nNumber> Numerator in a divisional expression </par>
|
||||
* <nNumber1> Denominator in a divisional expression </par>
|
||||
* <nNumber> Numerator in a divisional expression
|
||||
*
|
||||
* <nNumber1> Denominator in a divisional expression
|
||||
* $RETURNS$
|
||||
* <nReturn> Remind from the division </par>
|
||||
* <nReturn> Remind from the division
|
||||
* $DESCRIPTION$
|
||||
* This functuion will return a value that is correspondent to the
|
||||
* reminder of one number divided by another </par>
|
||||
* reminder of one number divided by another
|
||||
* $EXAMPLES$
|
||||
* ? MOD(12,8.521)
|
||||
* ? Mod(12,0)
|
||||
@@ -244,9 +259,11 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This Function is Ca-Clipper compliant </par>
|
||||
* This Function is Ca-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* %
|
||||
* $END$
|
||||
@@ -279,6 +296,8 @@
|
||||
* This function is CA-Clipper compliant.
|
||||
* $PLATFORMS$
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* ROUND()
|
||||
* $END$
|
||||
|
||||
@@ -24,16 +24,18 @@
|
||||
* $SYNTAX$
|
||||
* MEMOTRAN( <cString>, <cHard>, <cSoft> ) --> <cConvertedString>
|
||||
* $ARGUMENTS$
|
||||
* <cString> is a string of chars to convert. </par>
|
||||
* <cString> is a string of chars to convert.
|
||||
|
||||
* <cHard> is the character to replace hard carriages with. If not
|
||||
* specified defaults to semicolon. </par>
|
||||
* specified defaults to semicolon.
|
||||
|
||||
* <cSoft> is the character to replace soft carriages with. If not
|
||||
* specified defaults to single space. </par>
|
||||
* specified defaults to single space.
|
||||
* $RETURNS$
|
||||
* <cConvertedString> Trasformed string. </par>
|
||||
* <cConvertedString> Trasformed string.
|
||||
* $DESCRIPTION$
|
||||
* Returns a string/memo with carriage chars converted to specified
|
||||
* chars. </par>
|
||||
* chars.
|
||||
* $EXAMPLES$
|
||||
* ? MEMOTRAN( DATA->CNOTES )
|
||||
* </fixed>
|
||||
@@ -45,7 +47,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* MEMOTRAN() is fully CA-Clipper compliant. </par>
|
||||
* MEMOTRAN() is fully CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* HARDCR(),STRTRAN()
|
||||
* $END$
|
||||
@@ -61,12 +65,12 @@
|
||||
* $SYNTAX$
|
||||
* HARDCR( <cString> ) --> <cConvertedString>
|
||||
* $ARGUMENTS$
|
||||
* <cString> is a string of chars to convert. </par>
|
||||
* <cString> is a string of chars to convert.
|
||||
* $RETURNS$
|
||||
* <cConvertedString> Trasformed string. </par>
|
||||
* <cConvertedString> Trasformed string.
|
||||
* $DESCRIPTION$
|
||||
* Returns a string/memo with soft carriages chars converted to
|
||||
* hard carraige char. </par>
|
||||
* hard carraige char.
|
||||
* $EXAMPLES$
|
||||
* ? HARDCR( Data->CNOTES )
|
||||
* </fixed>
|
||||
@@ -78,7 +82,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* HARDCR() is fully CA-Clipper compliant. </par>
|
||||
* HARDCR() is fully CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* MEMOTRAN(),STRTRAN()
|
||||
* $END$
|
||||
|
||||
@@ -23,47 +23,57 @@
|
||||
* $SYNTAX$
|
||||
* ACHOICE(<nTop>, <nLeft>, <nBottom>, <nRight>, <acMenuItems>, [<alSelableItems> | <lSelableItems>], [<cUserFunction> | <bUserBlock>], [<nInitialItem>], [<nWindowRow>]) --> nPosition
|
||||
* $ARGUMENTS$
|
||||
* <nTop> - topmost row used to display array (default 0) </par>
|
||||
* <nLeft> - leftmost row used to display array (default 0) </par>
|
||||
* <nBottom> - bottommost row used to display array (default MAXROW()) </par>
|
||||
* <nRight> - rightmost row used to display array (default MAXCOL()) </par>
|
||||
* <acMenuItems> - the character array of items from which to select </par>
|
||||
* <nTop> - topmost row used to display array (default 0)
|
||||
*
|
||||
* <nLeft> - leftmost row used to display array (default 0)
|
||||
*
|
||||
* <nBottom> - bottommost row used to display array (default MAXROW())
|
||||
*
|
||||
* <nRight> - rightmost row used to display array (default MAXCOL())
|
||||
*
|
||||
* <acMenuItems> - the character array of items from which to select
|
||||
*
|
||||
* <alSelableItems> - an array of items, either logical or character,
|
||||
* which is used to determine if a particular item
|
||||
* may be selected. If the type of a given item is
|
||||
* character, it is macro evaluated, and the result
|
||||
* is expected to be a logical. A value of .T. means
|
||||
* that the item may be selected, .F. that it may not.
|
||||
* (See next argument: lSelectableItems) </par>
|
||||
* (See next argument: lSelectableItems)
|
||||
*
|
||||
* <lSelableItems> - a logical value which is used to apply to all
|
||||
* items in acMenuItems. If .T., all items may be
|
||||
* selected; if .F., none may be selected.
|
||||
* (See previous argument: alSelectableItems)
|
||||
* Default .T. </par>
|
||||
* Default .T.
|
||||
*
|
||||
* <cUserFunction> - the name of a function to be called which may
|
||||
* affect special processing of keystrokes. It is
|
||||
* specified without parentheses or parameters.
|
||||
* When it is called, it will be supplied with the
|
||||
* parameters: nMode, nCurElement, and nRowPos.
|
||||
* Default NIL. </par>
|
||||
* Default NIL.
|
||||
*
|
||||
* <bUserBlock> - a codeblock to be called which may
|
||||
* affect special processing of keystrokes. It
|
||||
* should be specified in the form
|
||||
* {|nMode, nCurElemenet, nRowPos| ;
|
||||
* MyFunc(nMode, nCurElemenet, nRowPos) }.
|
||||
* Default NIL. </par>
|
||||
* Default NIL.
|
||||
*
|
||||
* <nInitialItem> - the number of the element to be highlighted as
|
||||
* the current item when the array is initially
|
||||
* displayed. 1 origin. Default 1. </par>
|
||||
* displayed. 1 origin. Default 1.
|
||||
*
|
||||
* <nWindowRow> - the number of the window row on which the initial
|
||||
* item is to be displayed. 0 origin. Default 0. </par>
|
||||
* item is to be displayed. 0 origin. Default 0.
|
||||
* $RETURNS$
|
||||
* <nPosition> - the number of the item to be selected, or 0 if the
|
||||
* selection was aborted. </par>
|
||||
* selection was aborted.
|
||||
* $DESCRIPTION$
|
||||
* Allows selection of an element from an array. </par>
|
||||
* Allows selection of an element from an array.
|
||||
* Please see standard Clipper documentation for ACHOICE for
|
||||
* additional detail. </par>
|
||||
* additional detail.
|
||||
* $EXAMPLES$
|
||||
* aItems := { "One", "Two", "Three" }
|
||||
* nChoice := ACHOICE( 10, 10, 20, 20, aItems )
|
||||
@@ -74,6 +84,8 @@
|
||||
* ?? " which has a value of " + aItems[ nChoice ]
|
||||
* ENDIF
|
||||
* </fixed>
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* MENU TO
|
||||
* $END$
|
||||
@@ -90,19 +102,19 @@
|
||||
* __AtPrompt( <nRow>, <nCol>, <cPrompt>, [<xMsg>] ) --> .F.
|
||||
* $ARGUMENTS$
|
||||
* <nRow> is the row number to display the menu <cPrompt>. Value could
|
||||
* range from zero to MAXROW(). </par>
|
||||
* range from zero to MAXROW().
|
||||
*
|
||||
* <nCol> is the column number to display the menu <cPrompt>. Value
|
||||
* could range from zero to MAXCOL(). </par>
|
||||
* could range from zero to MAXCOL().
|
||||
*
|
||||
* <cPrompt> is the menu item character string to display. </par>
|
||||
* <cPrompt> is the menu item character string to display.
|
||||
*
|
||||
* <xMsg> define a message to display each time this menu item is
|
||||
* highlighted. <xMsg> could be a character string or code block that
|
||||
* is evaluated to a character string. If <xMsg> is not specified or
|
||||
* got the wrong type, an empty string ("") would be used. </par>
|
||||
* got the wrong type, an empty string ("") would be used.
|
||||
* $RETURNS$
|
||||
* __AtPrompt() always return .F. </par>
|
||||
* __AtPrompt() always return .F.
|
||||
* $DESCRIPTION$
|
||||
* With __AtPrompt() you define and display a menu item, each call to
|
||||
* __AtPrompt() add another item to the menu, to start the menu itself
|
||||
@@ -110,10 +122,10 @@
|
||||
* define any row and column combination and they will be displayed at
|
||||
* the order of definition. After each call to __AtPrompt(), the cursor
|
||||
* is placed one column to the right of the last text displayed, and
|
||||
* ROW() and COL() are updated. </par>
|
||||
* ROW() and COL() are updated.
|
||||
*
|
||||
* @...PROMPT command is preprocessed into __AtPrompt() function during
|
||||
* compile time. </par>
|
||||
* compile time.
|
||||
* $EXAMPLES$
|
||||
* // display a two line menu with status line at the bottom
|
||||
* // let the user select favorite day
|
||||
@@ -135,7 +147,9 @@
|
||||
* $COMPLIANCE$
|
||||
* CA-Clipper array is limited to 4096 items, and therefor 4096 menu
|
||||
* items are the maximum that could be defined per one menu, Harbour
|
||||
* does not have this limit (not that you'll ever need that). </par>
|
||||
* does not have this limit (not that you'll ever need that).
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* ACHOICE(),MENU TO,SET MESSAGE,SET INTENSITY,SET WRAP,__MENUTO()
|
||||
* $END$
|
||||
@@ -152,19 +166,19 @@
|
||||
* @ <nRow>, <nCol> PROMPT <cPrompt> [MESSAGE <xMsg>]
|
||||
* $ARGUMENTS$
|
||||
* <nRow> is the row number to display the menu <cPrompt>. Value could
|
||||
* range from zero to MAXROW(). </par>
|
||||
* range from zero to MAXROW().
|
||||
*
|
||||
* <nCol> is the column number to display the menu <cPrompt>. Value
|
||||
* could range from zero to MAXCOL(). </par>
|
||||
* could range from zero to MAXCOL().
|
||||
*
|
||||
* <cPrompt> is the menu item character string to display. </par>
|
||||
* <cPrompt> is the menu item character string to display.
|
||||
*
|
||||
* <xMsg> define a message to display each time this menu item is
|
||||
* highlighted. <xMsg> could be a character string or code block that
|
||||
* is evaluated to a character string. If <xMsg> is not specified or
|
||||
* got the wrong type, an empty string ("") would be used. </par>
|
||||
* got the wrong type, an empty string ("") would be used.
|
||||
* $RETURNS$
|
||||
* @...Prompt always return .F. </par>
|
||||
* @...Prompt always return .F.
|
||||
* $DESCRIPTION$
|
||||
* With @...Prompt you define and display a menu item, each call to
|
||||
* @...Prompt add another item to the menu, to start the menu itself
|
||||
@@ -172,10 +186,10 @@
|
||||
* define any row and column combination and they will be displayed at
|
||||
* the order of definition. After each call to @...Prompt, the cursor
|
||||
* is placed one column to the right of the last text displayed, and
|
||||
* ROW() and COL() are updated. </par>
|
||||
* ROW() and COL() are updated.
|
||||
*
|
||||
* @...PROMPT command is preprocessed into __AtPrompt() function during
|
||||
* compile time. </par>
|
||||
* compile time.
|
||||
* $EXAMPLES$
|
||||
* // display a two line menu with status line at the bottom
|
||||
* // let the user select favorite day
|
||||
@@ -197,7 +211,7 @@
|
||||
* $COMPLIANCE$
|
||||
* CA-Clipper array is limited to 4096 items, and therefor 4096 menu
|
||||
* items are the maximum that could be defined per one menu, Harbour
|
||||
* does not have this limit (not that you'll ever need that). </par>
|
||||
* does not have this limit (not that you'll ever need that).
|
||||
* $SEEALSO$
|
||||
* ACHOICE(),MENU TO,SET MESSAGE,SET INTENSITY,SET WRAP,__MENUTO()
|
||||
* $END$
|
||||
@@ -213,36 +227,39 @@
|
||||
* $SYNTAX$
|
||||
* __MenuTo( <bBlock>, <cVariable> ) --> nChoice
|
||||
* $ARGUMENTS$
|
||||
* <bBlock> is a set/get code block for variable named <cVariable>. </par>
|
||||
* <bBlock> is a set/get code block for variable named <cVariable>.
|
||||
*
|
||||
* <cVariable> is a character string that contain the name of the
|
||||
* variable to hold the menu choices, if this variable does not exist
|
||||
* a PRIVATE variable with the name <cVariable> would be created to
|
||||
* hold the result. </par>
|
||||
* hold the result.
|
||||
* $RETURNS$
|
||||
* __MenuTo() return the number of select menu item, or 0 if there was
|
||||
* no item to select from or if the user pressed the Esc key. </par>
|
||||
* no item to select from or if the user pressed the Esc key.
|
||||
* $DESCRIPTION$
|
||||
* __MenuTo() invoked the menu define by previous __AtPrompt() call
|
||||
* and display a highlight bar that the user can move to select an
|
||||
* option from the menu. If <cVariable> does not exist or not visible,
|
||||
* a PRIVATE variable named <cVariable> is created and hold the current
|
||||
* menu selection. If there is a variable named <cVariable>, its value
|
||||
* is used to select the first highlighted item. </par>
|
||||
* is used to select the first highlighted item.
|
||||
*
|
||||
* Menu prompts and messages are displayed in current Standard color,
|
||||
* highlighted bar is displayed using current Enhanced color. </par>
|
||||
* highlighted bar is displayed using current Enhanced color.
|
||||
*
|
||||
* Pressing the arrow keys move the highlighted bar. When a menu item
|
||||
* is highlighted the message associated with it is displayed on the
|
||||
* line specified with SET MESSAGE. If SET WRAP is ON and the user
|
||||
* press UP arrow while on the first selection the last menu item is
|
||||
* highlighted, if the user press Down arrow while on the last item,
|
||||
* the first item is highlighted. </par>
|
||||
* the first item is highlighted.
|
||||
*
|
||||
* Following are active keys that handled by __MenuTo():
|
||||
* -----------------------------------------------------
|
||||
*
|
||||
* Following are active keys that handled by __MenuTo(): </par>
|
||||
* ----------------------------------------------------- </par>
|
||||
* <table>
|
||||
* key Meaning
|
||||
*
|
||||
* Up Move to previous item
|
||||
* Down Move to next item
|
||||
* Left Move to previous item
|
||||
@@ -257,10 +274,10 @@
|
||||
* | return this item position.
|
||||
* </table>
|
||||
* upon exit the cursor is placed at MAXROW()-1, 0
|
||||
* __MenuTo() can be nested without loosing the previous prompts. </par>
|
||||
* __MenuTo() can be nested without loosing the previous prompts.
|
||||
*
|
||||
* MENU TO command is preprocessed into __MenuTo() function during
|
||||
* compile time. </par>
|
||||
* compile time.
|
||||
* $EXAMPLES$
|
||||
* // display menu item on each screen corner and let user select one
|
||||
* CLS
|
||||
@@ -281,7 +298,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This command is CA-Clipper compliant </par>
|
||||
* This command is CA-Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* @...PROMPT,ACHOICE(),SET MESSAGE,SET INTENSITY,SET WRAP,__ATPROMPT()
|
||||
* $END$
|
||||
@@ -300,31 +319,34 @@
|
||||
* <cVariable> is a character string that contain the name of the
|
||||
* variable to hold the menu choices, if this variable does not exist
|
||||
* a PRIVATE variable with the name <cVariable> would be created to
|
||||
* hold the result. </par>
|
||||
* hold the result.
|
||||
* $RETURNS$
|
||||
* Menu To return the number of select menu item, or 0 if there was
|
||||
* no item to select from or if the user pressed the Esc key. </par>
|
||||
* no item to select from or if the user pressed the Esc key.
|
||||
* $DESCRIPTION$
|
||||
* Menu To() invoked the menu define by previous __AtPrompt() call
|
||||
* and display a highlight bar that the user can move to select an
|
||||
* option from the menu. If <cVariable> does not exist or not visible,
|
||||
* a PRIVATE variable named <cVariable> is created and hold the current
|
||||
* menu selection. If there is a variable named <cVariable>, its value
|
||||
* is used to select the first highlighted item. </par>
|
||||
* is used to select the first highlighted item.
|
||||
*
|
||||
* Menu prompts and messages are displayed in current Standard color,
|
||||
* highlighted bar is displayed using current Enhanced color. </par>
|
||||
* highlighted bar is displayed using current Enhanced color.
|
||||
*
|
||||
* Pressing the arrow keys move the highlighted bar. When a menu item
|
||||
* is highlighted the message associated with it is displayed on the
|
||||
* line specified with SET MESSAGE. If SET WRAP is ON and the user
|
||||
* press UP arrow while on the first selection the last menu item is
|
||||
* highlighted, if the user press Down arrow while on the last item,
|
||||
* the first item is highlighted. </par>
|
||||
* the first item is highlighted.
|
||||
*
|
||||
* Following are active keys that handled by Menu To:
|
||||
* -----------------------------------------------------
|
||||
*
|
||||
* Following are active keys that handled by Menu To: </par>
|
||||
* ----------------------------------------------------- </par>
|
||||
* <table>
|
||||
* key Meaning
|
||||
*
|
||||
* Up - Move to previous item
|
||||
* Down - Move to next item
|
||||
* Left - Move to previous item
|
||||
@@ -339,10 +361,10 @@
|
||||
* | return this item position.
|
||||
* </table>
|
||||
* upon exit the cursor is placed at MAXROW()-1, 0
|
||||
* Menu To can be nested without loosing the previous prompts. </par>
|
||||
* Menu To can be nested without loosing the previous prompts.
|
||||
*
|
||||
* MENU TO command is preprocessed into __MenuTo() function during
|
||||
* compile time. </par>
|
||||
* compile time.
|
||||
* $EXAMPLES$
|
||||
* // display menu item on each screen corner and let user select one
|
||||
* CLS
|
||||
@@ -363,7 +385,7 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This command is CA Clipper compliant </par>
|
||||
* This command is CA Clipper compliant
|
||||
* $SEEALSO$
|
||||
* @...PROMPT,ACHOICE(),SET MESSAGE,SET INTENSITY,SET WRAP,__ATPROMPT()
|
||||
* $END$
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
* ? OS()
|
||||
* </fixed>
|
||||
* $FILES$
|
||||
* source/rtl/environ.c </par>
|
||||
* source/rtl/version.c </par>
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -53,28 +53,29 @@
|
||||
* This function returns the HARBOUR Version or the Harbour Version+C
|
||||
* compiler Version used to create the Harbour runtime library </par>
|
||||
* $EXAMPLES$
|
||||
* ? QOUT(VERSION()) // Displays Harbour version only
|
||||
* ? QOUT(VERSION(NIL)) // Displays Harbour and C Compiler versions
|
||||
* ? QOUT(VERSION()) // Displays Harbour version only
|
||||
* ? QOUT(VERSION(NIL)) // Displays Harbour and C Compiler versions
|
||||
* </fixed>
|
||||
* $STATUS$
|
||||
* S
|
||||
* S
|
||||
* $COMPLIANCE$
|
||||
* This function is an enhanced version of the CA-Clipper VERSION function.
|
||||
* The CA-Clipper version does not have a parameter and it only returns
|
||||
* the Version of the CA-Clipper Compiler. The Harbour version returns
|
||||
* only the Harbour Version if called without the <nMode> parameter, but
|
||||
* returns both the Harbour Version and the Version of the C compiler used
|
||||
* to build Harbour when the <nMode> parameter is present. </par>
|
||||
* This function is an enhanced version of the CA-Clipper VERSION function.
|
||||
* The CA-Clipper version does not have a parameter and it only returns
|
||||
* the Version of the CA-Clipper Compiler. The Harbour version returns
|
||||
* only the Harbour Version if called without the <nMode> parameter, but
|
||||
* returns both the Harbour Version and the Version of the C compiler used
|
||||
* to build Harbour when the <nMode> parameter is present. </par>
|
||||
* $FILES$
|
||||
* source/rtl/environ.c </par>
|
||||
* source/rtl/version.c </par>
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* OS()
|
||||
* OS()
|
||||
* $END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
* $FUNCNAME$
|
||||
* GETENV()
|
||||
* GETENV()
|
||||
* $CATEGORY$
|
||||
* Environment
|
||||
* $ONELINER$
|
||||
@@ -83,6 +84,7 @@
|
||||
* GETENV(<cEnviroment>, <cDefaultValue> ) --> <cReturn>
|
||||
* $ARGUMENTS$
|
||||
* <cEnviroment> Enviromental variable to obtain </par>
|
||||
*
|
||||
* <cDefaultValue> Optional value to return if <cEnvironment> is not found </par>
|
||||
* $RETURNS$
|
||||
* <cReturn> Value of the Variable </par>
|
||||
@@ -101,7 +103,8 @@
|
||||
* $COMPLIANCE$
|
||||
* This functions is CA-CLIPPER compliant </par>
|
||||
* $FILES$
|
||||
* source/rtl/environ.c </par>
|
||||
* source/rtl/gete.c </par>
|
||||
* Library is Rtl.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -130,7 +133,8 @@
|
||||
* __Run( "command" ) // Gives a DOS shell (DOS only)
|
||||
* </fixed>
|
||||
* $FILES$
|
||||
* source/rtl/environ.c </par>
|
||||
* source/rtl/run.c </par>
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* RUN
|
||||
* $END$
|
||||
@@ -148,6 +152,7 @@
|
||||
* $ARGUMENTS$
|
||||
* <nFrequency> is a non-negative numeric value that specifies the
|
||||
* frequency of the tone in hertz. </par>
|
||||
|
||||
* <nDuration> is a positive numeric value which specifies the duration
|
||||
* of the tone in 1/18 of a second units. </par>
|
||||
* $RETURNS$
|
||||
@@ -181,6 +186,8 @@
|
||||
* S
|
||||
* $COMPLIANCE$
|
||||
* TONE() works exactly like CA-Clipper's TONE(). </par>
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* CHR(),SET BELL
|
||||
* $END$
|
||||
|
||||
@@ -42,6 +42,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* ISAFFIRM() is fully CA-Clipper compliant. </par>
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* ISNEGATIVE(),NATIONMSG()
|
||||
* $END$
|
||||
@@ -74,6 +76,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* ISNEGATIVE() is fully CA-Clipper compliant. </par>
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* ISAFFIRM(),NATIONMSG()
|
||||
* $END$
|
||||
@@ -107,6 +111,8 @@
|
||||
* C
|
||||
* $COMPLIANCE$
|
||||
* NATIONMSG() is fully CA-Clipper compliant. </par>
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* ISAFFIRM(),ISNEGATIVE()
|
||||
* $END$
|
||||
|
||||
@@ -28,15 +28,15 @@
|
||||
* $SYNTAX$
|
||||
* __objHasData( <oObject>, <cSymbol> ) --> lExist
|
||||
* $ARGUMENTS$
|
||||
* <oObject> is an object to scan. </par>
|
||||
* <oObject> is an object to scan.
|
||||
*
|
||||
* <cSymbol> is the name of the symbol to look for. </par>
|
||||
* <cSymbol> is the name of the symbol to look for.
|
||||
* $RETURNS$
|
||||
* __objHasData() return .T. if the given <cSymbol> exist as DATA
|
||||
* (instance variable) in object <oObject), .F. if it does not exist. </par>
|
||||
* (instance variable) in object <oObject), .F. if it does not exist.
|
||||
* $DESCRIPTION$
|
||||
* __objHasData() is a low level class support function that let you
|
||||
* find out if a symbol is an instance variable in a given object. </par>
|
||||
* find out if a symbol is an instance variable in a given object.
|
||||
* $EXAMPLES$
|
||||
* oB := TBrowseNew( 0, 0, 24, 79 )
|
||||
* ? __objHasData( oB, "nLeft" ) // this should return .T.
|
||||
@@ -46,7 +46,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __objHasData() is a Harbour extension. </par>
|
||||
* __objHasData() is a Harbour extension.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* __ObjGetMethodList(),__objGetMsgList(),__objHasMethod()
|
||||
* $END$
|
||||
@@ -62,15 +64,15 @@
|
||||
* $SYNTAX$
|
||||
* __objHasMethod( <oObject>, <cSymbol> ) --> lExist
|
||||
* $ARGUMENTS$
|
||||
* <oObject> is an object to scan. </par>
|
||||
* <oObject> is an object to scan.
|
||||
*
|
||||
* <cSymbol> is the name of the symbol to look for. </par>
|
||||
* <cSymbol> is the name of the symbol to look for.
|
||||
* $RETURNS$
|
||||
* __objHasMethod() return .T. if the given <cSymbol> exist as METHOD
|
||||
* (class function) in object <oObject), .F. if it does not exist. </par>
|
||||
* (class function) in object <oObject), .F. if it does not exist.
|
||||
* $DESCRIPTION$
|
||||
* __objHasMethod() is a low level class support function that let you
|
||||
* find out if a symbol is a class function in a given object. </par>
|
||||
* find out if a symbol is a class function in a given object.
|
||||
* $EXAMPLES$
|
||||
* oB := TBrowseNew( 0, 0, 24, 79 )
|
||||
* ? __objHasMethod( oB, "nLeft" ) // .F. since this is a DATA
|
||||
@@ -80,7 +82,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __objHasMethod() is a Harbour extension. </par>
|
||||
* __objHasMethod() is a Harbour extension.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* __ObjGetMethodList(),__objGetMsgList(),__objHasData()
|
||||
* $END$
|
||||
@@ -96,21 +100,21 @@
|
||||
* $SYNTAX$
|
||||
* __objGetMsgList( <oObject>, [<lData>] ) --> aNames
|
||||
* $ARGUMENTS$
|
||||
* <oObject> is an object to scan. </par>
|
||||
* <oObject> is an object to scan.
|
||||
*
|
||||
* <lData> is an optional logical value that specifies the information
|
||||
* to return. A value of .T. instruct the function to return list of
|
||||
* all DATA names, .F. return list of all METHOD names. Default value
|
||||
* is .T. </par>
|
||||
* is .T.
|
||||
* $RETURNS$
|
||||
* __objGetMsgList() return an array of character stings with all DATA
|
||||
* names or all METHOD names for a given object. __objGetMsgList()
|
||||
* would return an empty array {} if the given object does not contain
|
||||
* the requested information. </par>
|
||||
* the requested information.
|
||||
* $DESCRIPTION$
|
||||
* __objGetMsgList() is a low level class support function that let you
|
||||
* find all instance variable or class functions names for a given
|
||||
* object. </par>
|
||||
* object.
|
||||
* $EXAMPLES$
|
||||
* // show information about TBrowse class
|
||||
* oB := TBrowseNew( 0, 0, 24, 79 )
|
||||
@@ -126,7 +130,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __objGetMsgList() is a Harbour extension. </par>
|
||||
* __objGetMsgList() is a Harbour extension.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* __ObjGetMethodList(),__ObjGetValueList(),__objHasData(),__objHasMethod()
|
||||
* $END$
|
||||
@@ -142,15 +148,15 @@
|
||||
* $SYNTAX$
|
||||
* __objGetMethodList( <oObject> ) --> aMethodNames
|
||||
* $ARGUMENTS$
|
||||
* <oObject> is an object to scan. </par>
|
||||
* <oObject> is an object to scan.
|
||||
* $RETURNS$
|
||||
* __objGetMethodList() return an array of character stings with all
|
||||
* METHOD names for a given object. __objGetMethodList() would return
|
||||
* an empty array {} if the given object does not contain any METHOD. </par>
|
||||
* an empty array {} if the given object does not contain any METHOD.
|
||||
* $DESCRIPTION$
|
||||
* __objGetMethodList() is a low level class support function that let
|
||||
* you find all class functions names for a given object. </par>
|
||||
* It is equivalent to __objGetMsgList( oObject, .F. ). </par>
|
||||
* you find all class functions names for a given object.
|
||||
* It is equivalent to __objGetMsgList( oObject, .F. ).
|
||||
* $EXAMPLES$
|
||||
* // show information about TBrowse class
|
||||
* oB := TBrowseNew( 0, 0, 24, 79 )
|
||||
@@ -162,7 +168,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __objGetMethodList() is a Harbour extension. </par>
|
||||
* __objGetMethodList() is a Harbour extension.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* __objGetMsgList(),__ObjGetValueList(),__objHasData(),__objHasMethod()
|
||||
* $END$
|
||||
@@ -178,20 +186,20 @@
|
||||
* $SYNTAX$
|
||||
* __objGetValueList( <oObject>, [<aExcept>] ) --> aData
|
||||
* $ARGUMENTS$
|
||||
* <oObject> is an object to scan. </par>
|
||||
* <oObject> is an object to scan.
|
||||
*
|
||||
* <aExcept> is an optional array with DATA names you want to exclude
|
||||
* from the scan. </par>
|
||||
* from the scan.
|
||||
* $RETURNS$
|
||||
* __objGetValueList() return a 2D array that contain pairs of a DATA
|
||||
* symbol name and the value of DATA. __objGetValueList() would return
|
||||
* an empty array {} if the given object does not contain the requested
|
||||
* information. </par>
|
||||
* information.
|
||||
* $DESCRIPTION$
|
||||
* __objGetValueList() is a low level class support function that
|
||||
* return an array with DATA names and value, each array element is a
|
||||
* pair of: aData[ i, HB_OO_DATA_SYMBOL ] contain the symbol name </par>
|
||||
* aData[ i, HB_OO_DATA_VALUE ] contain the value of DATA </par>
|
||||
* pair of: aData[ i, HB_OO_DATA_SYMBOL ] contain the symbol name
|
||||
* aData[ i, HB_OO_DATA_VALUE ] contain the value of DATA
|
||||
* $EXAMPLES$
|
||||
* // show information about TBrowse class
|
||||
* oB := TBrowseNew( 0, 0, 24, 79 )
|
||||
@@ -204,9 +212,10 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __objGetValueList() is a Harbour extension. </par>
|
||||
* __objGetValueList() is a Harbour extension.
|
||||
* $FILES$
|
||||
* Header file is hboo.ch </par>
|
||||
* Header file is hboo.ch
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* __objGetMethodList(),__objGetMsgList(),__objHasData(),__objHasMethod(),__ObjSetValueList()
|
||||
* $END$
|
||||
@@ -222,18 +231,18 @@
|
||||
* $SYNTAX$
|
||||
* __ObjSetValueList( <oObject>, <aData> ) --> oObject
|
||||
* $ARGUMENTS$
|
||||
* <oObject> is an object to set. </par>
|
||||
* <oObject> is an object to set.
|
||||
*
|
||||
* <aData> is a 2D array with a pair of instance variables and values
|
||||
* for setting those variable. </par>
|
||||
* for setting those variable.
|
||||
* $RETURNS$
|
||||
* __ObjSetValueList() return a reference to <oObject>. </par>
|
||||
* __ObjSetValueList() return a reference to <oObject>.
|
||||
* $DESCRIPTION$
|
||||
* __ObjSetValueList() is a low level class support function that let
|
||||
* you set a group of instance variables with values. each array
|
||||
* element in <aData> is a pair of: </par>
|
||||
* aData[ i, HB_OO_DATA_SYMBOL ] which contain the variable name to set </par>
|
||||
* aData[ i, HB_OO_DATA_VALUE ] contain the new variable value. </par>
|
||||
* element in <aData> is a pair of:
|
||||
* aData[ i, HB_OO_DATA_SYMBOL ] which contain the variable name to set
|
||||
* aData[ i, HB_OO_DATA_VALUE ] contain the new variable value.
|
||||
* $EXAMPLES$
|
||||
* // set some TBrowse instance variable
|
||||
* oB := TBrowse():New()
|
||||
@@ -255,9 +264,10 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __ObjSetValueList() is a Harbour extension. </par>
|
||||
* __ObjSetValueList() is a Harbour extension.
|
||||
* $FILES$
|
||||
* Header file is hboo.ch </par>
|
||||
* Header file is hboo.ch
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* __ObjGetValueList()
|
||||
* $END$
|
||||
@@ -273,20 +283,20 @@
|
||||
* $SYNTAX$
|
||||
* __objAddMethod( <oObject>, <cMethodName>, <nFuncPtr> ) --> oObject
|
||||
* $ARGUMENTS$
|
||||
* <oObject> is the object to work on. </par>
|
||||
* <oObject> is the object to work on.
|
||||
*
|
||||
* <cMethodName> is the symbol name of the new METHOD to add. </par>
|
||||
* <cMethodName> is the symbol name of the new METHOD to add.
|
||||
*
|
||||
* <nFuncPtr> is a pointer to a function to associate with the method. </par>
|
||||
* <nFuncPtr> is a pointer to a function to associate with the method.
|
||||
* $RETURNS$
|
||||
* __objAddMethod() return a reference to <oObject>. </par>
|
||||
* __objAddMethod() return a reference to <oObject>.
|
||||
* $DESCRIPTION$
|
||||
* __objAddMethod() is a low level class support function that add a
|
||||
* new METHOD to an object. <oObject> is unchanged if a symbol with the
|
||||
* name <cMethodName> already exist in <oObject>. </par>
|
||||
* name <cMethodName> already exist in <oObject>.
|
||||
*
|
||||
* Note that <nFuncPtr> is a special pointer to a function that was
|
||||
* created using the @ operator, see example below. </par>
|
||||
* created using the @ operator, see example below.
|
||||
* $EXAMPLES$
|
||||
* // create a new THappy class and add a Smile method
|
||||
* oHappy := TClass():New( "THappy" )
|
||||
@@ -310,7 +320,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __objAddMethod() is a Harbour extension. </par>
|
||||
* __objAddMethod() is a Harbour extension.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* __objAddInline(),__objAddData(),__objDelMethod(),__ObjGetMethodList(),__objGetMsgList(),__objHasMethod(),__objModMethod()
|
||||
* $END$
|
||||
@@ -326,17 +338,17 @@
|
||||
* $SYNTAX$
|
||||
* __objAddInline( <oObject>, <cInlineName>, <bInline> ) --> oObject
|
||||
* $ARGUMENTS$
|
||||
* <oObject> is the object to work on. </par>
|
||||
* <oObject> is the object to work on.
|
||||
*
|
||||
* <cInlineName> is the symbol name of the new INLINE to add. </par>
|
||||
* <cInlineName> is the symbol name of the new INLINE to add.
|
||||
*
|
||||
* <bInline> is a code block to associate with the INLINE method. </par>
|
||||
* <bInline> is a code block to associate with the INLINE method.
|
||||
* $RETURNS$
|
||||
* __objAddInline() return a reference to <oObject>. </par>
|
||||
* __objAddInline() return a reference to <oObject>.
|
||||
* $DESCRIPTION$
|
||||
* __objAddInline() is a low level class support function that add a
|
||||
* new INLINE method to an object. <oObject> is unchanged if a symbol
|
||||
* with the name <cInlineName> already exist in <oObject>. </par>
|
||||
* with the name <cInlineName> already exist in <oObject>.
|
||||
* $EXAMPLES$
|
||||
* // create a new THappy class and add a Smile INLINE method
|
||||
* oHappy := TClass():New( "THappy" )
|
||||
@@ -349,7 +361,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __objAddInline() is a Harbour extension. </par>
|
||||
* __objAddInline() is a Harbour extension.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* __objAddData(),__objAddMethod(),__objDelInline(),__ObjGetMethodList(),__objGetMsgList(),__objHasMethod() ,__objModInline()
|
||||
* $END$
|
||||
@@ -365,15 +379,15 @@
|
||||
* $SYNTAX$
|
||||
* __objAddData( <oObject>, <cDataName> ) --> oObject
|
||||
* $ARGUMENTS$
|
||||
* <oObject> is the object to work on. </par>
|
||||
* <oObject> is the object to work on.
|
||||
*
|
||||
* <cDataName> is the symbol name of the new DATA to add. </par>
|
||||
* <cDataName> is the symbol name of the new DATA to add.
|
||||
* $RETURNS$
|
||||
* __objAddData() return a reference to <oObject>. </par>
|
||||
* __objAddData() return a reference to <oObject>.
|
||||
* $DESCRIPTION$
|
||||
* __objAddData() is a low level class support function that add a new
|
||||
* DATA to an object. <oObject> is unchanged if a symbol with the name
|
||||
* <cDataName> already exist in <oObject>. </par>
|
||||
* <cDataName> already exist in <oObject>.
|
||||
* $EXAMPLES$
|
||||
* // create a new THappy class and add a lHappy DATA
|
||||
* oHappy := TClass():New( "THappy" )
|
||||
@@ -388,7 +402,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __objAddData() is a Harbour extension. </par>
|
||||
* __objAddData() is a Harbour extension.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* __objAddInline(),__objAddMethod(),__objDelData(),__objGetMsgList(),__ObjGetValueList(),__objHasData(),__ObjSetValueList()
|
||||
* $END$
|
||||
@@ -404,22 +420,22 @@
|
||||
* $SYNTAX$
|
||||
* __objModMethod( <oObject>, <cMethodName>, <nFuncPtr> ) --> oObject
|
||||
* $ARGUMENTS$
|
||||
* <oObject> is the object to work on. </par>
|
||||
* <oObject> is the object to work on.
|
||||
*
|
||||
* <cMethodName> is the symbol name of the METHOD to modify. </par>
|
||||
* <cMethodName> is the symbol name of the METHOD to modify.
|
||||
*
|
||||
* <nFuncPtr> is a pointer to a new function to associate with the
|
||||
* method. </par>
|
||||
* method.
|
||||
* $RETURNS$
|
||||
* __objModMethod() return a reference to <oObject>. </par>
|
||||
* __objModMethod() return a reference to <oObject>.
|
||||
* $DESCRIPTION$
|
||||
* __objModMethod() is a low level class support function that modify
|
||||
* a METHOD in an object and replace it with a new function. <oObject>
|
||||
* is unchanged if a symbol with the name <cMethodName> does not exist
|
||||
* in <oObject>. __objModMethod() is used in inheritance mechanism. </par>
|
||||
* in <oObject>. __objModMethod() is used in inheritance mechanism.
|
||||
*
|
||||
* Note that <nFuncPtr> is a special pointer to a function that was
|
||||
* created using the @ operator, see example below. </par>
|
||||
* created using the @ operator, see example below.
|
||||
* $EXAMPLES$
|
||||
* // create a new THappy class and add a Smile method
|
||||
* oHappy := TClass():New( "THappy" )
|
||||
@@ -454,7 +470,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __objModMethod() is a Harbour extension. </par>
|
||||
* __objModMethod() is a Harbour extension.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* __objAddMethod(),__objDelMethod(),__ObjGetMethodList(),__objGetMsgList(),__objHasMethod()
|
||||
* $END$
|
||||
@@ -470,19 +488,19 @@
|
||||
* $SYNTAX$
|
||||
* __objModInline( <oObject>, <cInlineName>, <bInline> ) --> oObject
|
||||
* $ARGUMENTS$
|
||||
* <oObject> is the object to work on. </par>
|
||||
* <oObject> is the object to work on.
|
||||
*
|
||||
* <cInlineName> is the symbol name of the INLINE method to modify. </par>
|
||||
* <cInlineName> is the symbol name of the INLINE method to modify.
|
||||
*
|
||||
* <bInline> is a new code block to associate with the INLINE method. </par>
|
||||
* <bInline> is a new code block to associate with the INLINE method.
|
||||
* $RETURNS$
|
||||
* __objModInline() return a reference to <oObject>. </par>
|
||||
* __objModInline() return a reference to <oObject>.
|
||||
* $DESCRIPTION$
|
||||
* __objModInline() is a low level class support function that modify
|
||||
* an INLINE method in an object and replace it with a new code block.
|
||||
* <oObject> is unchanged if a symbol with the name <cInlineName> does
|
||||
* not exist in <oObject>. __objModInline() is used in inheritance
|
||||
* mechanism. </par>
|
||||
* mechanism.
|
||||
* $EXAMPLES$
|
||||
* // create a new THappy class and add a Smile INLINE method
|
||||
* oHappy := TClass():New( "THappy" )
|
||||
@@ -499,7 +517,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __objModInline() is a Harbour extension. </par>
|
||||
* __objModInline() is a Harbour extension.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* __objAddInline(),__objDelInline(),__ObjGetMethodList(),__objGetMsgList(),__objHasMethod()
|
||||
* $END$
|
||||
@@ -515,19 +535,19 @@
|
||||
* $SYNTAX$
|
||||
* __objDelMethod( <oObject>, <cSymbol> ) --> oObject
|
||||
* $ARGUMENTS$
|
||||
* <oObject> is the object to work on. </par>
|
||||
* <oObject> is the object to work on.
|
||||
*
|
||||
* <cSymbol> is the symbol name of METHOD or INLINE method to be
|
||||
* deleted (removed) from the object. </par>
|
||||
* deleted (removed) from the object.
|
||||
* $RETURNS$
|
||||
* __objDelMethod() return a reference to <oObject>. </par>
|
||||
* __objDelMethod() return a reference to <oObject>.
|
||||
* $DESCRIPTION$
|
||||
* __objDelMethod() is a low level class support function that delete
|
||||
* (remove) a METHOD or an INLINE method from an object. <oObject> is
|
||||
* unchanged if a symbol with the name <cSymbol> does not exist in
|
||||
* <oObject>. </par>
|
||||
* <oObject>.
|
||||
*
|
||||
* __objDelInline() is exactly the same as __objDelMethod(). </par>
|
||||
* __objDelInline() is exactly the same as __objDelMethod().
|
||||
* $EXAMPLES$
|
||||
* // create a new THappy class and add a Smile method
|
||||
* oHappy := TClass():New( "THappy" )
|
||||
@@ -550,7 +570,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __objDelMethod() is a Harbour extension. </par>
|
||||
* __objDelMethod() is a Harbour extension.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* __objAddInline(),__objAddMethod(),__ObjGetMethodList(),__objGetMsgList(),__objHasMethod(),__objModInline(),__objModMethod()
|
||||
* $END$
|
||||
@@ -566,17 +588,17 @@
|
||||
* $SYNTAX$
|
||||
* __objDelInline( <oObject>, <cSymbol> ) --> oObject
|
||||
* $ARGUMENTS$
|
||||
* <oObject> is the object to work on. </par>
|
||||
* <oObject> is the object to work on.
|
||||
*
|
||||
* <cSymbol> is the symbol name of METHOD or INLINE method to be
|
||||
* deleted (removed) from the object. </par>
|
||||
* deleted (removed) from the object.
|
||||
* $RETURNS$
|
||||
* __objDelInMethod() return a reference to <oObject>. </par>
|
||||
* __objDelInMethod() return a reference to <oObject>.
|
||||
* $DESCRIPTION$
|
||||
* __objDelInMethod() is a low level class support function that delete
|
||||
* (remove) a METHOD or an INLINE method from an object. <oObject> is
|
||||
* unchanged if a symbol with the name <cSymbol> does not exist in
|
||||
* <oObject>. </par>
|
||||
* <oObject>.
|
||||
* $EXAMPLES$
|
||||
* // create a new THappy class and add a Smile method
|
||||
* oHappy := TClass():New( "THappy" )
|
||||
@@ -599,7 +621,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __objDelMethod() is a Harbour extension. </par>
|
||||
* __objDelMethod() is a Harbour extension.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* __objAddInline(),__objAddMethod(),__ObjGetMethodList(),__objGetMsgList(),__objHasMethod(),__objModInline(),__objModMethod()
|
||||
* $END$
|
||||
@@ -615,16 +639,16 @@
|
||||
* $SYNTAX$
|
||||
* __objDelMethod( <oObject>, <cDataName> ) --> oObject
|
||||
* $ARGUMENTS$
|
||||
* <oObject> is the object to work on. </par>
|
||||
* <oObject> is the object to work on.
|
||||
*
|
||||
* <cDataName> is the symbol name of DATA to be deleted (removed) from
|
||||
* the object. </par>
|
||||
* the object.
|
||||
* $RETURNS$
|
||||
* __objDelData() return a reference to <oObject>. </par>
|
||||
* __objDelData() return a reference to <oObject>.
|
||||
* $DESCRIPTION$
|
||||
* __objDelData() is a low level class support function that delete
|
||||
* (remove) a DATA from an object. <oObject> is unchanged if a symbol
|
||||
* with the name <cDataName> does not exist in <oObject>. </par>
|
||||
* with the name <cDataName> does not exist in <oObject>.
|
||||
* $EXAMPLES$
|
||||
* // create a new THappy class and add a lHappy DATA
|
||||
* oHappy := TClass():New( "THappy" )
|
||||
@@ -637,7 +661,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __objDelData() is a Harbour extension. </par>
|
||||
* __objDelData() is a Harbour extension.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* __objAddData(),__objGetMsgList(),__ObjGetValueList(),__objHasData(),__ObjSetValueList()
|
||||
* $END$
|
||||
|
||||
@@ -62,7 +62,9 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* AFIELDS() is fully CA-Clipper compliant.
|
||||
* $END$
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
/* $DOC$
|
||||
@@ -96,7 +98,10 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* ALIAS() is fully CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBF()
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -146,7 +151,10 @@
|
||||
* S
|
||||
* $COMPLIANCE$
|
||||
* DBEVAL is fully CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* EVAL()
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -179,7 +187,10 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* DBF() is fully CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* ALIAS()
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -213,6 +224,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* BOF() is fully CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* EOF(),FOUND(),LASTREC()
|
||||
* $END$
|
||||
@@ -240,12 +253,14 @@
|
||||
* with NULL bytes.The header of the database is not updated until
|
||||
* the record is flushed from the buffer and the contents are
|
||||
* written to the disk.
|
||||
*
|
||||
* Under a networking enviroment, DBAPPEND() performs an additional
|
||||
* operation: It attrmps to lock the newly added record. If
|
||||
* the database file is currently locked or if a locking assignment
|
||||
* if made to LASTREC()+1,NETERR() will return a logical true (.T.)
|
||||
* immediately after the DBAPPEND() function. This function does
|
||||
* not unlock the locked records.
|
||||
*
|
||||
* If <lLock> is passed a logical true (.T.) value, it will
|
||||
* release the record locks, which allows the application to main-
|
||||
* tain multiple record locks during an appending operation. The
|
||||
@@ -263,6 +278,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* DBAPPEND() is fully CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBUNLOCK(0,DBUNLOCKALL()
|
||||
* $END$
|
||||
@@ -300,6 +317,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* DBCLEARFILTER() is fully CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBSETFILTER(),DBFILTER()
|
||||
* $END$
|
||||
@@ -340,6 +359,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* DBCLOSEALL() is fully CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBUSEAREA(),DBCLOSEAREA()
|
||||
* $END$
|
||||
@@ -375,6 +396,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* DBCLOSEAREA() is fully CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBUSEAREA(),DBCLOSEALL()
|
||||
* $END$
|
||||
@@ -417,6 +440,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBCLOSEALL(),DBCOMMITALL(),DBUNLOCK()
|
||||
* $END$
|
||||
@@ -463,6 +488,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBCLOSEALL(),DBCOMMIT(),DBUNLOCK()
|
||||
* $END$
|
||||
@@ -531,6 +558,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* EOF(),FOUND()
|
||||
* $END$
|
||||
@@ -548,14 +577,14 @@
|
||||
* [<cAlias>]) --> NIL
|
||||
* $ARGUMENTS$
|
||||
* <cDatabase> Name of database to be create
|
||||
|
||||
*
|
||||
* <aStruct> Name of a multidimensional array that contains the a database
|
||||
* structure
|
||||
|
||||
*
|
||||
* <cDriver> Name of the RDD
|
||||
|
||||
*
|
||||
* <lOpen> Toggle to Open the create File
|
||||
|
||||
*
|
||||
* <cAlias> Name of database Alias
|
||||
* $RETURNS$
|
||||
* DBCREATE() always returns NIL.
|
||||
@@ -609,10 +638,11 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is Not CA-Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* Header is Dbstruct.ch
|
||||
* $SEEALSO$
|
||||
* AFIELDS(),DBSTRUCT()
|
||||
* $INCLUDE$
|
||||
* "Dbstruct.ch"
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -632,6 +662,7 @@
|
||||
* or aliased work area.If the DELETED setting is on, the record
|
||||
* will still be visible until the record pointer in that work area
|
||||
* is moved to another record.
|
||||
*
|
||||
* In a networking situation, this function requires that the record
|
||||
* be locked prior to issuing the DBDELETE() function.
|
||||
* $EXAMPLES$
|
||||
@@ -647,6 +678,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBRECALL()
|
||||
* $END$
|
||||
@@ -680,6 +713,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBRELATION(),DBRSELECT()
|
||||
* $END$
|
||||
@@ -713,6 +748,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* BOF(),EOF(),DBSKIP(),DBSEEK(),DBGOTOP()
|
||||
* $END$
|
||||
@@ -736,6 +773,7 @@
|
||||
* in selected or aliased work area at the record number specified by
|
||||
* <xRecordNumber>.The position if not affected by an active index or
|
||||
* by any enviromental SET condiction.
|
||||
*
|
||||
* Issuing a DBGOTO(RECNO()) call in a network enviroment will refresh
|
||||
* the database and index buffers.This is the same as a DBSKIP(0) call.
|
||||
* The parameter <xRecordNumber> may be something other than a record
|
||||
@@ -759,6 +797,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* BOF(),EOF(),DBGOTOP(),DBGOBOTTOM(),DBSEEK(),DBSKIP()
|
||||
* $END$
|
||||
@@ -792,6 +832,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* BOF(),EOF(),DBSKIP(),DBSEEK(),DBGOBOTTOM()
|
||||
* $END$
|
||||
@@ -827,6 +869,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBDELETE()
|
||||
* $END$
|
||||
@@ -865,6 +909,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBUNLOCK(),DBUNLOCKALL(),FLOCK(),RLOCK()
|
||||
* $END$
|
||||
@@ -905,6 +951,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* RLOCK(),DBRLOCK(),DBRUNLOCK()
|
||||
* $END$
|
||||
@@ -942,6 +990,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* RLOCK(),DBRLOCK(),DBRLOCKLIST()
|
||||
* $END$
|
||||
@@ -958,9 +1008,9 @@
|
||||
* DBSEEK(<expKey>, [<lSoftSeek>],[<lFindLast>]) --> lFound
|
||||
* $ARGUMENTS$
|
||||
* <expKey> Any expression
|
||||
|
||||
*
|
||||
* <lSoftSeek> Toggle SOFTSEEK condition
|
||||
|
||||
*
|
||||
* <lFindLast> is an optional logical value that set the current
|
||||
* record position to the last record if successful
|
||||
* $RETURNS$
|
||||
@@ -972,8 +1022,10 @@
|
||||
* EOF() wilI be a logical false (.F.). If no item is found. then the function will
|
||||
* return a logical false, the value of FOUND( ) will be a logical false (.F.), and
|
||||
* the value of EOF( ) will be a logical true (.T.).
|
||||
*
|
||||
* This function always "rewinds" the database pointer and starts the search from
|
||||
* the top of the file.
|
||||
*
|
||||
* If the SOFTSEEK flag is on or if <lSoftSeek> is set to a logical true (.T.)
|
||||
* the value of FOUND() wilI be a logical false and EOF() will he a logical
|
||||
* false if there is an item in the index key with a greater value than the key
|
||||
@@ -982,7 +1034,6 @@
|
||||
* logical true (.T.) value. If <lSoftSeek> is not passed, the function will look
|
||||
* to the internal status of SOFTSEEK before performing the operation. The default
|
||||
* of <lSoftSeek> is a logical false (.F.)
|
||||
*
|
||||
* $EXAMPLES$
|
||||
* FUNCTION Main()
|
||||
* USE Tests New INDEX Tests
|
||||
@@ -1008,6 +1059,8 @@
|
||||
* S
|
||||
* $COMPLIANCE$
|
||||
* DBSEEK() is Compatible with CA-Clipper 5.3
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBGOBOTTOM(),DBGOTOP(),DBSKIP(),EOF(),BOF(),FOUND()
|
||||
* $END$
|
||||
@@ -1031,6 +1084,7 @@
|
||||
* area designated by <xArea>. If <xArea> is numeric, them it will
|
||||
* select the numeric work area;if <xArea> is character,then it will
|
||||
* select the work area with the alias name.
|
||||
*
|
||||
* DBSELECTAREA(0) will select the next avaliable and unused work area.
|
||||
* Up to 255 work areas are supported.Each work area has its own alias
|
||||
* and record pointer, as well as its own FOUND(),DBFILTER(),DBRSELECT(),
|
||||
@@ -1052,6 +1106,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-CLIPPER compatible.
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBUSEAREA(),SELECT()
|
||||
* $END$
|
||||
@@ -1082,6 +1138,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compatible
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBUSEAREA()
|
||||
* $END$
|
||||
@@ -1120,6 +1178,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-CLIPPER compatible
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* BOF(),DBGOBOTTOM(),DBGOTOP(),DBSEEK(),EOF()
|
||||
* $END$
|
||||
@@ -1136,7 +1196,7 @@
|
||||
* DBSETFILTER(<bCondition>, [<cCondition>]) --> NIL
|
||||
* $ARGUMENTS$
|
||||
* <bCondition> Code block expression for filtered evaluation.
|
||||
|
||||
*
|
||||
* <cCondition> Optional character expression of code block.
|
||||
* $RETURNS$
|
||||
* DBSETFILTER() always returns NIL.
|
||||
@@ -1157,6 +1217,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBFILTER(),DBCLEARFILTER()
|
||||
* $END$
|
||||
@@ -1194,10 +1256,11 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* Header is DbStruct.ch
|
||||
* $SEEALSO$
|
||||
* AFIELDS()
|
||||
* $INCLUDE$
|
||||
* DbStruct.ch
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -1231,6 +1294,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compatible.
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBUNLOCKALL(),FLOCK(),RLOCK()
|
||||
* $END$
|
||||
@@ -1267,6 +1332,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBUNLOCK(),FLOCK(),RLOCK()
|
||||
* $END$
|
||||
@@ -1284,15 +1351,15 @@
|
||||
* [<lShared>], [<lReadonly>]) --> NIL
|
||||
* $ARGUMENTS$
|
||||
* <lNewArea> A optional logical expression for the new work area
|
||||
|
||||
*
|
||||
* <cDriver> Database driver name
|
||||
|
||||
*
|
||||
* <cName> File Name
|
||||
|
||||
*
|
||||
* <xcAlias> Alias name
|
||||
|
||||
*
|
||||
* <lShared> Shared/exclusive status flag
|
||||
|
||||
*
|
||||
* <lReadonly> Read-write status flag.
|
||||
* $RETURNS$
|
||||
* DBUSEAREA() always returns NIL.
|
||||
@@ -1304,15 +1371,18 @@
|
||||
* If used, <cDriver> is the name of the database driver associated with
|
||||
* the file <cName> that is opened. The default for this will be the value
|
||||
* of DBSETDRlVER().
|
||||
*
|
||||
* IF used, <xcAlias> contains the alias name for that work area, If not
|
||||
* specified, the root name of the database specified in <cName> will be
|
||||
* used.
|
||||
*
|
||||
* If <lShared> is set to a logical true (.T.) value, the database that
|
||||
* is specified in <cName> will be opened by the user EXCLUSIVELY. Thus
|
||||
* locking it from all other nodes or users on the network. If <lShared> is
|
||||
* set to a logical false (.F.) value, then the database will be in SHARED
|
||||
* mode. If <lShared> is not passed, then the function will turn to the
|
||||
* internal setting of SET EXCLUSIVE to determine a setting.
|
||||
*
|
||||
* If <lReadOnly> is specified, the file will be set to READ ONLY mode.
|
||||
* If it is not specified, the file will he opened in normal read-write
|
||||
* mode.
|
||||
@@ -1322,6 +1392,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBCLOSEAREA(),DBSETDRIVER(),SELECT(),SET()
|
||||
* $END$
|
||||
@@ -1366,6 +1438,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -1426,6 +1500,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBDELETE()
|
||||
* $END$
|
||||
@@ -1459,6 +1535,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* EOF() is fully CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* BOF(),FOUND(),LASTREC()
|
||||
* $END$
|
||||
@@ -1489,6 +1567,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* FIELDNAME(),TYPE()
|
||||
* $END$
|
||||
@@ -1522,6 +1602,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper Compliant.
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* FIELDPUT()
|
||||
* $END$
|
||||
@@ -1558,6 +1640,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compatible.
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DBSTRUCT(),FCOUNT(),LEN(),VALTYPE()
|
||||
* $END$
|
||||
@@ -1591,6 +1675,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* FIELDGET(),FIELDPUT()
|
||||
* $END$
|
||||
@@ -1625,6 +1711,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compatible.
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* FIELDGET()
|
||||
* $END$
|
||||
@@ -1657,6 +1745,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compatible
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* RLOCK()
|
||||
* $END$
|
||||
@@ -1692,6 +1782,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compatible
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* EOF()
|
||||
* $END$
|
||||
@@ -1722,6 +1814,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compatible
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* DISKSPACE(),LASTREC(),RECSIZE()
|
||||
* $END$
|
||||
@@ -1773,6 +1867,8 @@
|
||||
* S
|
||||
* $COMPLIANCE$
|
||||
* This function is CA Clipper compliant
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* INDEXKEY()
|
||||
* $END$
|
||||
@@ -1821,6 +1917,8 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA Clipper compatible
|
||||
* $FILES$
|
||||
* Library is Rdd.lib
|
||||
* $SEEALSO$
|
||||
* EOF()
|
||||
* $END$
|
||||
|
||||
@@ -40,11 +40,13 @@
|
||||
* $SYNTAX$
|
||||
* __SETCENTURY([<lFlag> | <cOnOff> ] ) --> lPreviousValue
|
||||
* $ARGUMENTS$
|
||||
* optional <lFlag> or <cOnOff> (not case sensitive) </par>
|
||||
* .T. or "ON" to enable the century setting (4-digit years) </par>
|
||||
* .F. or "OFF" to disable the century setting (2-digit years) </par>
|
||||
* optional <lFlag> or <cOnOff> (not case sensitive)
|
||||
* .T. or "ON" to enable the century setting (4-digit years)
|
||||
* .F. or "OFF" to disable the century setting (2-digit years)
|
||||
* $RETURNS$
|
||||
* Either the current or previous century setting as a logical value </par>
|
||||
* Either the current or previous century setting as a logical value
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -58,19 +60,24 @@
|
||||
* $SYNTAX$
|
||||
* Set(<nSet> [, <xNewSetting> [, <xOption> ] ] ) --> xPreviousSetting
|
||||
* $ARGUMENTS$
|
||||
* <nSet> Set Number </par>
|
||||
* <xNewSetting> Any expression to assing a value to the seting </par>
|
||||
* <xOption> Logical expression </par>
|
||||
* <nSet> Set Number
|
||||
*
|
||||
* <nSet> <xNewSetting> <xOption> </par>
|
||||
* <xNewSetting> Any expression to assing a value to the seting
|
||||
*
|
||||
* <xOption> Logical expression
|
||||
*
|
||||
* <nSet> <xNewSetting> <xOption>
|
||||
*
|
||||
* _SET_ALTERNATE <lFlag> | <cOnOff>
|
||||
*
|
||||
* _SET_ALTERNATE <lFlag> | <cOnOff> </par>
|
||||
* If enabled, QOUT() and QQOUT() write to the screen and to
|
||||
* a file, provided that a file has been opened or created
|
||||
* with _SET_ALTFILE. If disabled, which is the default,
|
||||
* QOUT() and QQOUT() only write to the screen (and/or to
|
||||
* the PRINTFILE). Defaults to disabled. </par>
|
||||
* _SET_ALTFILE <cFileName> <lAdditive> </par>
|
||||
* the PRINTFILE). Defaults to disabled.
|
||||
*
|
||||
* _SET_ALTFILE <cFileName> <lAdditive>
|
||||
*
|
||||
* When set, creates or opens file to write QOUT() and
|
||||
* QQOUT() output to. If <lAdditive> is TRUE and the file
|
||||
* already exists, the file is opened and positioned at end
|
||||
@@ -78,23 +85,35 @@
|
||||
* already opened, it is closed before the new file is
|
||||
* opened or created (even if it is the same file). The
|
||||
* default file extension is ".txt". There is no default
|
||||
* file name. Call with an empty string to close the file. </par>
|
||||
* _SET_AUTOPEN <lFlag> | <cOnOff> </par>
|
||||
* TODO: Document </par>
|
||||
* _SET_AUTORDER <lFlag> | <cOnOff> </par>
|
||||
* TODO: Document </par>
|
||||
* _SET_AUTOSHARE <lFlag> | <cOnOff> </par>
|
||||
* TODO: Document </par>
|
||||
* _SET_BELL <lFlag> | <cOnOff> </par>
|
||||
* file name. Call with an empty string to close the file.
|
||||
*
|
||||
* _SET_AUTOPEN <lFlag> | <cOnOff>
|
||||
*
|
||||
* TODO: Document
|
||||
*
|
||||
* _SET_AUTORDER <lFlag> | <cOnOff>
|
||||
*
|
||||
* TODO: Document
|
||||
*
|
||||
* _SET_AUTOSHARE <lFlag> | <cOnOff>
|
||||
*
|
||||
* TODO: Document
|
||||
*
|
||||
* _SET_BELL <lFlag> | <cOnOff>
|
||||
*
|
||||
* When enabled, the bell sounds when the last position of
|
||||
* a GET is reached and/or when a GET validation fails.
|
||||
* Disabled by default. </par>
|
||||
* _SET_CANCEL <lFlag> | <cOnOff> </par>
|
||||
* Disabled by default.
|
||||
*
|
||||
* _SET_CANCEL <lFlag> | <cOnOff>
|
||||
*
|
||||
* When enabled, which is the default, pressing Alt+C or
|
||||
* Ctrl+Break terminates the program. When disabled, both
|
||||
* keystrokes can be read by INKEY(). Note: SET KEY has
|
||||
* precedence over SET CANCEL. </par>
|
||||
* _SET_COLOR <cColorSet> </par>
|
||||
* precedence over SET CANCEL.
|
||||
*
|
||||
* _SET_COLOR <cColorSet>
|
||||
*
|
||||
* Sets the current color scheme, using color pairs in the
|
||||
* sequence "<standard>,<enhanced>,<border>,<background>,
|
||||
* <unselected>". Each color pair uses the format
|
||||
@@ -107,19 +126,27 @@
|
||||
* bright white. Special codes are "I" for inverse video,
|
||||
* "U" for underline on a monochrome monitor (blue on a
|
||||
* color monitor), and "X" for blank. The default color is
|
||||
* "W/N,N/W,N,N,N/W". </par>
|
||||
* _SET_CONFIRM <lFlag> | <cOnOff> </par>
|
||||
* "W/N,N/W,N,N,N/W".
|
||||
*
|
||||
* _SET_CONFIRM <lFlag> | <cOnOff>
|
||||
*
|
||||
* If enabled, an exit key must be pressed to leave a GET.
|
||||
* If disabled, which is the default, typing past the end
|
||||
* will leave a GET. </par>
|
||||
* _SET_CONSOLE <lFlag> | <cOnOff> </par>
|
||||
* will leave a GET.
|
||||
*
|
||||
* _SET_CONSOLE <lFlag> | <cOnOff>
|
||||
*
|
||||
* If enabled, which is the default, all screen output goes
|
||||
* to the screen. When disabled, screen output is suppressed
|
||||
* (Note: This setting does not affect OUTSTD() or OUTERR()). </par>
|
||||
* _SET_CURSOR <nCursorType> </par>
|
||||
* (Note: This setting does not affect OUTSTD() or OUTERR()).
|
||||
*
|
||||
* _SET_CURSOR <nCursorType>
|
||||
*
|
||||
* If enabled, which is the default, the cursor is displayed
|
||||
* on screen. If disabled, the screen cursor is hidden. </par>
|
||||
* _SET_DATEFORMAT <cDateFormat> </par>
|
||||
* on screen. If disabled, the screen cursor is hidden.
|
||||
*
|
||||
* _SET_DATEFORMAT <cDateFormat>
|
||||
*
|
||||
* Sets the default date format for display, date input, and
|
||||
* date conversion. Defaults to American ("mm/dd/yy"). Other
|
||||
* formats include ANSI ("yy.mm.dd"), British ("dd/mm/yy"),
|
||||
@@ -127,12 +154,16 @@
|
||||
* ("dd-mm-yy"), Japan ("yy/mm/dd"), and USA ("mm-dd-yy").
|
||||
* SET CENTURY modifies the date format. SET CENTURY ON
|
||||
* replaces the "y"s with "YYYY". SET CENTURY OFF replaces
|
||||
* the "y"s with "YY". </par>
|
||||
* _SET_DEBUG <lStatus> </par>
|
||||
* the "y"s with "YY".
|
||||
*
|
||||
* _SET_DEBUG <lStatus>
|
||||
*
|
||||
* When set to .t., pressing Alt+D activates the debugger.
|
||||
* When set to .f., which is the default, Alt+D can be read
|
||||
* by INKEY(). (Also affected by AltD(1) and AltD(0)) </par>
|
||||
* _SET_DECIMALS <nNumberOfDecimals> </par>
|
||||
* by INKEY(). (Also affected by AltD(1) and AltD(0))
|
||||
|
||||
* _SET_DECIMALS <nNumberOfDecimals>
|
||||
*
|
||||
* Sets the number of decimal digits to use when displaying
|
||||
* printing numeric values when SET FIXED is ON. Defaults to
|
||||
* 2. If SET FIXED is OFF, then SET DECIMALS is only used to
|
||||
@@ -140,25 +171,37 @@
|
||||
* EXP(), LOG(), SQRT(), or division. Other math operations
|
||||
* may adjust the number of decimal digits that the result
|
||||
* will display. Note: This never affects the precision of
|
||||
* a number. Only the display format is affected. </par>
|
||||
* _SET_DEFAULT <cDefaultDirectory> </par>
|
||||
* a number. Only the display format is affected.
|
||||
*
|
||||
* _SET_DEFAULT <cDefaultDirectory>
|
||||
*
|
||||
* Sets the default directory in which to open, create and
|
||||
* check for files. Defaults to current directory (blank). </par>
|
||||
* _SET_DELETED <lFlag> | <cOnOff> </par>
|
||||
* check for files. Defaults to current directory (blank).
|
||||
*
|
||||
* _SET_DELETED <lFlag> | <cOnOff>
|
||||
*
|
||||
* If enabled, deleted records will be processed. If
|
||||
* disabled, which is the default, deleted records will
|
||||
* be ignored. </par>
|
||||
* _SET_DELIMCHARS <cDelimiters> </par>
|
||||
* Sets the GET delimiter characters. Defaults to "::". </par>
|
||||
* _SET_DELIMITERS <lFlag> | <cOnOff> </par>
|
||||
* be ignored.
|
||||
*
|
||||
* _SET_DELIMCHARS <cDelimiters>
|
||||
*
|
||||
* Sets the GET delimiter characters. Defaults to "::".
|
||||
*
|
||||
* _SET_DELIMITERS <lFlag> | <cOnOff>
|
||||
*
|
||||
* If enabled, GETs are delimited on screen. If disabled,
|
||||
* which is the default, no GET delimiters are used. </par>
|
||||
* _SET_DEVICE <cDeviceName> </par>
|
||||
* which is the default, no GET delimiters are used.
|
||||
*
|
||||
* _SET_DEVICE <cDeviceName>
|
||||
*
|
||||
* Selects the output device for DEVOUT(). When set to
|
||||
* "PRINTER", all output is sent to the printer device or
|
||||
* file set by _SET_PRINTFILE. When set to anything else,
|
||||
* all output is sent to the screen. Defaults to "SCREEN". </par>
|
||||
* _SET_EPOCH <nYear> </par>
|
||||
* all output is sent to the screen. Defaults to "SCREEN".
|
||||
*
|
||||
* _SET_EPOCH <nYear>
|
||||
*
|
||||
* Determines how to handle the conversion of 2-digit years
|
||||
* to 4 digit years. When a 2-digit year is greater than or
|
||||
* equal to the year part of the epoch, the century part of
|
||||
@@ -169,13 +212,17 @@
|
||||
* to 19xx. Example: If the epoch is set to 1950, 2-digit
|
||||
* years in the range from 50 to 99 get converted to 19xx
|
||||
* and 2-digit years in the range 00 to 49 get converted
|
||||
* to 20xx. </par>
|
||||
* _SET_ESCAPE <lFlag> | <cOnOff> </par>
|
||||
* to 20xx.
|
||||
*
|
||||
* _SET_ESCAPE <lFlag> | <cOnOff> *
|
||||
|
||||
* When enabled, which is the default, pressing Esc will
|
||||
* exit a READ. When disabled, pressing Esc during a READ
|
||||
* is ignored, unless the Esc key has been assigned to a
|
||||
* function using SET KEY. </par>
|
||||
* _SET_EVENTMASK <nEventCodes> </par>
|
||||
* function using SET KEY.
|
||||
*
|
||||
* _SET_EVENTMASK <nEventCodes>
|
||||
*
|
||||
* Determines which events INKEY() will respond to.
|
||||
* INKEY_MOVE allows mouse movement events. INKEY_LDOWN
|
||||
* allows the left mouse button down click. INKEY_LUP
|
||||
@@ -186,8 +233,10 @@
|
||||
* preceding events. Events may be combined (e.g., using
|
||||
* INKEY_LDOWN + INKEY_RUP will allow left mouse button
|
||||
* down clicks and right mouse button up clicks). The
|
||||
* default is INKEY_KEYBOARD. </par>
|
||||
* _SET_EXACT <lFlag> | <cOnOff> </par>
|
||||
* default is INKEY_KEYBOARD.
|
||||
*
|
||||
* _SET_EXACT <lFlag> | <cOnOff>
|
||||
*
|
||||
* When enabled, all string comparisons other than "=="
|
||||
* exclude trailing spaces when checking for equality.
|
||||
* When disabled, which is the default, all string
|
||||
@@ -196,22 +245,30 @@
|
||||
* hand string is shorter than or the same length as the
|
||||
* left hand string and all of the characters in the right
|
||||
* hand string match the corresponding characters in the
|
||||
* left hand string. </par>
|
||||
* _SET_EXCLUSIVE <lFlag> | <cOnOff> </par>
|
||||
* left hand string.
|
||||
*
|
||||
* _SET_EXCLUSIVE <lFlag> | <cOnOff>
|
||||
*
|
||||
* When enabled, which is the default, all database files
|
||||
* are opened in exclusive mode. When disabled, all
|
||||
* database files are opened in shared mode. Note: The
|
||||
* EXCLUSIVE and SHARED clauses of the USE command can be
|
||||
* used to override this setting. </par>
|
||||
* _SET_EXIT <lFlag> | <cOnOff> </par>
|
||||
* used to override this setting.
|
||||
*
|
||||
* _SET_EXIT <lFlag> | <cOnOff>
|
||||
*
|
||||
* Toggles the use of Uparrow and Dnarrow as READ exit keys.
|
||||
* Specifying true (.T.) enables them as exit keys, and
|
||||
* false (.F.) disables them. Used internally by the
|
||||
* ReadExit() function. </par>
|
||||
* _SET_EXTRA <lFlag> | <cOnOff> </par>
|
||||
* QUESTION: What is this for? </par>
|
||||
* It does not affect _SET_EXTRAFILE in Clipper! </par>
|
||||
* _SET_EXTRAFILE <cFileName> <lAdditive> </par>
|
||||
* ReadExit() function.
|
||||
*
|
||||
* _SET_EXTRA <lFlag> | <cOnOff>
|
||||
*
|
||||
* QUESTION: What is this for?
|
||||
* It does not affect _SET_EXTRAFILE in Clipper!
|
||||
*
|
||||
* _SET_EXTRAFILE <cFileName> <lAdditive>
|
||||
*
|
||||
* When set, creates or opens file to write QOUT() and
|
||||
* QQOUT() output to. If <lAdditive> is TRUE and the file
|
||||
* already exists, the file is opened and positioned at end
|
||||
@@ -219,58 +276,82 @@
|
||||
* already opened, it is closed before the new file is
|
||||
* opened or created (even if it is the same file). The
|
||||
* default file extension is ".prn". There is no default
|
||||
* file name. Call with an empty string to close the file. </par>
|
||||
* _SET_FIXED <lFlag> | <cOnOff> </par>
|
||||
* file name. Call with an empty string to close the file.
|
||||
*
|
||||
* _SET_FIXED <lFlag> | <cOnOff>
|
||||
*
|
||||
* When enabled, all numeric values will be displayed
|
||||
* and printed with the number of decimal digits set
|
||||
* by SET DECIMALS, unless a PICTURE clause is used.
|
||||
* When disabled, which is the default, the number
|
||||
* of decimal digits that are displayed depends upon
|
||||
* a variety of factors. See _SET_DECIMALS for more. </par>
|
||||
* _SET_INSERT <lFlag> | <cOnOff> </par>
|
||||
* a variety of factors. See _SET_DECIMALS for more.
|
||||
*
|
||||
* _SET_INSERT <lFlag> | <cOnOff>
|
||||
*
|
||||
* When enabled, characters typed in a GET or MEMOEDIT
|
||||
* are inserted. When disabled, which is the default,
|
||||
* characters typed in a GET or MEMOEDIT overwrite.
|
||||
* Note: This setting can also be toggled between on and
|
||||
* off by pressing the Insert key during a GET or MEMOEDIT. </par>
|
||||
* _SET_INTENSITY <lFlag> | <cOnOff> </par>
|
||||
* off by pressing the Insert key during a GET or MEMOEDIT.
|
||||
*
|
||||
* _SET_INTENSITY <lFlag> | <cOnOff>
|
||||
*
|
||||
* When enabled, which is the default, GETs and PROMPTs
|
||||
* are displayed using the enhanced color setting. When
|
||||
* disabled, GETs and PROMPTs are displayed using the
|
||||
* standard color setting. </par>
|
||||
* _SET_MARGIN <nColumns> </par>
|
||||
* standard color setting.
|
||||
*
|
||||
* _SET_MARGIN <nColumns>
|
||||
*
|
||||
* Sets the left margin for all printed output. The default
|
||||
* value is 0. Note: PCOL() reflects the printer's column
|
||||
* position including the margin (e.g., SET MARGIN TO 5
|
||||
* followed by DEVPOS(5, 10) makes PCOL() return 15).
|
||||
* _SET_MBLOCKSIZE <nMemoBlockSize> </par>
|
||||
* TODO: Document </par>
|
||||
* _SET_MCENTER <lFlag> | <cOnOff> </par>
|
||||
*
|
||||
* _SET_MBLOCKSIZE <nMemoBlockSize>
|
||||
*
|
||||
* TODO: Document
|
||||
*
|
||||
* _SET_MCENTER <lFlag> | <cOnOff>
|
||||
*
|
||||
* If enabled, display PROMPTs centered on the MESSAGE row.
|
||||
* If disabled, which is the default, display PROMPTS at
|
||||
* column position 0 on the MESSAGE row. </par>
|
||||
* _SET_MESSAGE <nRow> </par>
|
||||
* column position 0 on the MESSAGE row.
|
||||
*
|
||||
* _SET_MESSAGE <nRow>
|
||||
*
|
||||
* If set to 0, which is the default, PROMPTs are always
|
||||
* suppressed. Otherwise, PROMPTs are displayed on the
|
||||
* set row. Note: It is not possible to display prompts
|
||||
* on the top-most screen row, because row 0 is reserved
|
||||
* for the SCOREBOARD, if enabled. </par>
|
||||
* _SET_MFILEEXT <cMemoFileExt> </par>
|
||||
* TODO: Document </par>
|
||||
* _SET_OPTIMIZE <lFlag> | <cOnOff> </par>
|
||||
* TODO: Document </par>
|
||||
* _SET_PATH <cDirectories> </par>
|
||||
* for the SCOREBOARD, if enabled.
|
||||
*
|
||||
* _SET_MFILEEXT <cMemoFileExt>
|
||||
*
|
||||
* TODO: Document
|
||||
*
|
||||
* _SET_OPTIMIZE <lFlag> | <cOnOff>
|
||||
*
|
||||
* TODO: Document
|
||||
*
|
||||
* _SET_PATH <cDirectories>
|
||||
*
|
||||
* Specifies a path of directories to search through to
|
||||
* locate a file that can't be located in the DEFAULT
|
||||
* directory. Defaults to no path (""). Directories must
|
||||
* be separated by a semicolon (e.g., "C:\DATA;C:\MORE"). </par>
|
||||
* _SET_PRINTER <lFlag> | <cOnOff> </par>
|
||||
* be separated by a semicolon (e.g., "C:\DATA;C:\MORE").
|
||||
*
|
||||
* _SET_PRINTER <lFlag> | <cOnOff>
|
||||
*
|
||||
* If enabled, QOUT() and QQOUT() write to the screen and to
|
||||
* a file, provided that a file has been opened or created
|
||||
* with _SET_ALTFILE. If disabled, which is the default,
|
||||
* QOUT() and QQOUT() only write to the screen (and/or to
|
||||
* the ALTFILE). </par>
|
||||
* _SET_PRINTFILE <cFileName> <lAdditive> </par>
|
||||
* the ALTFILE).
|
||||
*
|
||||
* _SET_PRINTFILE <cFileName> <lAdditive>
|
||||
*
|
||||
* When set, creates or opens file to write QOUT(), QQOUT()
|
||||
* and DEVOUT() output to. If <lAdditive> is TRUE and the
|
||||
* file already exists, the file is opened and positioned
|
||||
@@ -279,36 +360,55 @@
|
||||
* is opened or created (even if it is the same file). The
|
||||
* default file extension is ".prn". The default file name
|
||||
* is "PRN", which maps to the default printer device. Call
|
||||
* with an empty string to close the file. </par>
|
||||
* _SET_SCOREBOARD <lFlag> | <cOnOff> </par>
|
||||
* with an empty string to close the file.
|
||||
*
|
||||
* _SET_SCOREBOARD <lFlag> | <cOnOff>
|
||||
*
|
||||
* When enabled, which is the default, READ and MEMOEDIT
|
||||
* display status messages on screen row 0. When disabled,
|
||||
* READ and MEMOEDIT status messages are suppressed. </par>
|
||||
* _SET_SCROLLBREAK <lFlag> | <cOnOff> </par>
|
||||
* QUESTION: What is this flag for? </par>
|
||||
* _SET_SOFTSEEK <lFlag> | <cOnOff> </par>
|
||||
* READ and MEMOEDIT status messages are suppressed.
|
||||
*
|
||||
* _SET_SCROLLBREAK <lFlag> | <cOnOff>
|
||||
*
|
||||
* QUESTION: What is this flag for?
|
||||
*
|
||||
* _SET_SOFTSEEK <lFlag> | <cOnOff>
|
||||
*
|
||||
* When enabled, a SEEK that fails will position the record
|
||||
* pointer to the first key that is higher than the sought
|
||||
* after key or to LASTREC() + 1 if there is no higher key.
|
||||
* When disabled, which is the default, a SEEK that fails
|
||||
* will position the record pointer to LASTREC()+1. </par>
|
||||
* _SET_STRICTREAD <lFlag> | <cOnOff> </par>
|
||||
* TODO: Document </par>
|
||||
* _SET_TYPEAHEAD <nKeyStrokes> </par>
|
||||
* will position the record pointer to LASTREC()+1.
|
||||
*
|
||||
* _SET_STRICTREAD <lFlag> | <cOnOff>
|
||||
*
|
||||
* TODO: Document
|
||||
*
|
||||
* _SET_TYPEAHEAD <nKeyStrokes>
|
||||
*
|
||||
* Sets the size of the keyboard typeahead buffer. Defaults
|
||||
* to 50. The minimum is 16 and the maximum is 4096. </par>
|
||||
* _SET_UNIQUE <lFlag> | <cOnOff> </par>
|
||||
* to 50. The minimum is 16 and the maximum is 4096.
|
||||
*
|
||||
* _SET_UNIQUE <lFlag> | <cOnOff>
|
||||
*
|
||||
* When enabled, indexes are not allowed to have duplicate
|
||||
* keys. When disabled, indexes are allowed duplicate keys. </par>
|
||||
* _SET_VIDEOMODE <nValue> </par>
|
||||
* TODO: Document </par>
|
||||
* _SET_WRAP <lFlag> | <cOnOff> </par>
|
||||
* keys. When disabled, indexes are allowed duplicate keys.
|
||||
*
|
||||
* _SET_VIDEOMODE <nValue>
|
||||
*
|
||||
* TODO: Document
|
||||
*
|
||||
* _SET_WRAP <lFlag> | <cOnOff>
|
||||
*
|
||||
* When enabled, lightbar menus can be navigated from the
|
||||
* last position to the first and from the first position
|
||||
* to the last. When disabled, which is the default, there
|
||||
* is a hard stop at the first and last positions. </par>
|
||||
* is a hard stop at the first and last positions.
|
||||
* $RETURNS$
|
||||
* The current or previous setting </par>
|
||||
* SET() The current or previous setting
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -323,28 +423,29 @@
|
||||
* __SetFunction( <nFunctionKey>, [<cString>] ) --> NIL
|
||||
* $ARGUMENTS$
|
||||
* <nFunctionKey> is a number in the range 1..40 that represent the
|
||||
* function key to be assigned. </par>
|
||||
* function key to be assigned.
|
||||
*
|
||||
* <cString> is a character string to set. If <cString> is not
|
||||
* specified, the function key is going to be set to NIL releasing by
|
||||
* that any previous __SetFunction() or SETKEY() for that function. </par>
|
||||
* that any previous __SetFunction() or SETKEY() for that function.
|
||||
* $RETURNS$
|
||||
* __SetFunction() always return NIL. </par>
|
||||
* __SetFunction() always return NIL.
|
||||
* $DESCRIPTION$
|
||||
* __SetFunction() assign a character string with a function key, when
|
||||
* this function key is pressed, the keyboard is stuffed with this
|
||||
* character string. __SetFunction() has the effect of clearing any
|
||||
* SETKEY() previously set to the same function number and vice versa. </par>
|
||||
* SETKEY() previously set to the same function number and vice versa.
|
||||
*
|
||||
* nFunctionKey Key to be set </par>
|
||||
* ------------ ------------- </par>
|
||||
* 1 .. 12 F1 .. F12 </par>
|
||||
* 13 .. 20 Shift-F3 .. Shift-F10 </par>
|
||||
* 21 .. 30 Ctrl-F1 .. Ctrl-F10 </par>
|
||||
* 31 .. 40 Alt-F1 .. Alt-F10 </par>
|
||||
* <table>
|
||||
* nFunctionKey Key to be set
|
||||
*
|
||||
* 1 .. 12 F1 .. F12
|
||||
* 13 .. 20 Shift-F3 .. Shift-F10
|
||||
* 21 .. 30 Ctrl-F1 .. Ctrl-F10
|
||||
* 31 .. 40 Alt-F1 .. Alt-F10
|
||||
* </table>
|
||||
* SET FUNCTION command is preprocessed into __SetFunction() function
|
||||
* during compile time. </par>
|
||||
* during compile time.
|
||||
* $EXAMPLES$
|
||||
* // Set F1 with a string
|
||||
* CLS
|
||||
@@ -358,9 +459,11 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* Harbour use 11 and 12 to represent F11 and F12, while CA-Clipper use
|
||||
* 11 and 12 to represent Shift-F1 and Shift-F2. </par>
|
||||
* 11 and 12 to represent Shift-F1 and Shift-F2.
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* INKEY(),SETKEY(),__Keyboard(),SET KEY
|
||||
* $END$
|
||||
@@ -377,26 +480,27 @@
|
||||
* SET FUNCTION <nFunctionKey> TO [<cString>]
|
||||
* $ARGUMENTS$
|
||||
* <nFunctionKey> is a number in the range 1..40 that represent the
|
||||
* function key to be assigned. </par>
|
||||
* function key to be assigned.
|
||||
*
|
||||
* <cString> is a character string to set. If <cString> is not
|
||||
* specified, the function key is going to be set to NIL releasing by
|
||||
* that any previous Set Function or SETKEY() for that function. </par>
|
||||
* that any previous Set Function or SETKEY() for that function.
|
||||
* $DESCRIPTION$
|
||||
* Set Function assign a character string with a function key, when
|
||||
* this function key is pressed, the keyboard is stuffed with this
|
||||
* character string. Set Function has the effect of clearing any
|
||||
* SETKEY() previously set to the same function number and vice versa. </par>
|
||||
* SETKEY() previously set to the same function number and vice versa.
|
||||
*
|
||||
* nFunctionKey Key to be set </par>
|
||||
* ------------ ------------- </par>
|
||||
* 1 .. 12 F1 .. F12 </par>
|
||||
* 13 .. 20 Shift-F3 .. Shift-F10 </par>
|
||||
* 21 .. 30 Ctrl-F1 .. Ctrl-F10 </par>
|
||||
* 31 .. 40 Alt-F1 .. Alt-F10 </par>
|
||||
* <table>
|
||||
* nFunctionKey Key to be set
|
||||
*
|
||||
* 1 .. 12 F1 .. F12
|
||||
* 13 .. 20 Shift-F3 .. Shift-F10
|
||||
* 21 .. 30 Ctrl-F1 .. Ctrl-F10
|
||||
* 31 .. 40 Alt-F1 .. Alt-F10
|
||||
* </table>
|
||||
* SET FUNCTION command is preprocessed into __SetFunction() function
|
||||
* during compile time. </par>
|
||||
* during compile time.
|
||||
* $EXAMPLES$
|
||||
* // Set F1 with a string
|
||||
* CLS
|
||||
@@ -410,9 +514,9 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* Harbour use 11 and 12 to represent F11 and F12, while CA-Clipper use
|
||||
* 11 and 12 to represent Shift-F1 and Shift-F2. </par>
|
||||
* 11 and 12 to represent Shift-F1 and Shift-F2.
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $SEEALSO$
|
||||
* INKEY(),SETKEY(),__Keyboard()
|
||||
* $END$
|
||||
@@ -428,18 +532,20 @@
|
||||
* $SYNTAX$
|
||||
* SETKEY( <anKey> [, <bAction> [, <bCondition> ] ] )
|
||||
* $ARGUMENTS$
|
||||
* <anKey> is either a numeric key value, or an array of such values </par>
|
||||
* <bAction> is an optional code-block to be assigned </par>
|
||||
* <bCondition> is an optional condition code-block </par>
|
||||
* <anKey> is either a numeric key value, or an array of such values
|
||||
|
||||
* <bAction> is an optional code-block to be assigned
|
||||
|
||||
* <bCondition> is an optional condition code-block
|
||||
* $RETURNS$
|
||||
* Current assigned action-block </par>
|
||||
* Current assigned action-block
|
||||
* $DESCRIPTION$
|
||||
* The SetKey() function returns the current code-block assigned to a
|
||||
* key when called with only the key value. If the action block (and
|
||||
* optionally the condition block) are passed, the current block is
|
||||
* returned, and the new code block and condition block are stored.
|
||||
* A group of keys may be assigned the same code block/condition block
|
||||
* by using an array of key values in place on the first parameter. </par>
|
||||
* by using an array of key values in place on the first parameter.
|
||||
* $EXAMPLES$
|
||||
* local bOldF10 := setKey( K_F10, {|| Yahoo() } )
|
||||
* ... // some other processing
|
||||
@@ -462,7 +568,9 @@
|
||||
* SETKEY() is mostly CA-Clipper compliant. The only difference is the
|
||||
* addition of the condition code-block parameter, allowing set-keys to
|
||||
* be conditionally turned off or on. This condition-block cannot be
|
||||
* returned once set - see SetKeyGet() </par>
|
||||
* returned once set - see SetKeyGet()
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* HB_SETKEYSAVE()
|
||||
* $END$
|
||||
@@ -478,14 +586,15 @@
|
||||
* $SYNTAX$
|
||||
* HB_SETKEYGET( <nKey> [, <bConditionByRef> ] )
|
||||
* $ARGUMENTS$
|
||||
* <anKey> is an numeric key value </par>
|
||||
* <bConditionByRef> is an optional return-parameter </par>
|
||||
* <anKey> is an numeric key value
|
||||
|
||||
* <bConditionByRef> is an optional return-parameter
|
||||
* $RETURNS$
|
||||
* Current assigned action-block </par>
|
||||
* Current assigned action-block
|
||||
* $DESCRIPTION$
|
||||
* The HB_SetKeyGet() function returns the current code-block assigned to
|
||||
* a key, and optionally assignes the condition-block to the
|
||||
* return-parameter </par>
|
||||
* return-parameter
|
||||
* $EXAMPLES$
|
||||
* local bOldF10, bOldF10Cond
|
||||
* bOldF10 := HB_SetKeyGet( K_F10, @bOldF10Cond )
|
||||
@@ -498,7 +607,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* HB_SETKEYGET() is a new function and hence not CA-Clipper compliant. </par>
|
||||
* HB_SETKEYGET() is a new function and hence not CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* SETKEY(),HB_SETKEYSAVE(),HB_SETKEYCHECK()
|
||||
* $END$
|
||||
@@ -515,16 +626,16 @@
|
||||
* 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 </par>
|
||||
* HB_SetKeySave(), or NIL to clear current set-key list
|
||||
* $RETURNS$
|
||||
* Current set-key list </par>
|
||||
* 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. </par>
|
||||
* or the value of NIL to clear the current list.
|
||||
* $EXAMPLES$
|
||||
* local aKeys := HB_SetKeySave( NIL ) // removes all current set=keys
|
||||
* ... // some other processing
|
||||
@@ -536,7 +647,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* HB_SETKEYSAVE() is new. </par>
|
||||
* HB_SETKEYSAVE() is new.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* SETKEY()
|
||||
* $END$
|
||||
@@ -552,22 +665,22 @@
|
||||
* $SYNTAX$
|
||||
* HB_SetKeyCheck( <nKey> [, <p1> ][, <p2> ][, <p3> ] )
|
||||
* $ARGUMENTS$
|
||||
* <nKey> is a numeric key value to be tested
|
||||
* code-block, if executed </par>
|
||||
* <p1>..<p3> are optional parameters that will be passed to the code-block </par>
|
||||
* <nKey> is a numeric key value to be tested code-block, if executed
|
||||
|
||||
* <p1>..<p3> are optional parameters that will be passed to the code-block
|
||||
* $RETURNS$
|
||||
* True if there is a hot-key associated with <nKey> and it was executed;
|
||||
* otherwise False </par>
|
||||
* If there is a hot-key association (before checking any condition): </par>
|
||||
* - if there is a condition-block, it is passed one parameter - <nKey> </par>
|
||||
* otherwise False
|
||||
* If there is a hot-key association (before checking any condition):
|
||||
* - if there is a condition-block, it is passed one parameter - <nKey>
|
||||
* - when the hot-key code-block is called, it is passed 1 to 4 parameters,
|
||||
* depending on the parameters passed to HB_SetKeyCheck(). Any
|
||||
* parameters so passed are directly passed to the code-block, with an
|
||||
* additional parameter being <nKey> </par>
|
||||
* additional parameter being <nKey>
|
||||
* $DESCRIPTION$
|
||||
* HB_SetKeyCheck() is intended as a common interface to the SetKey()
|
||||
* functionality for such functions as ACHOICE(), DBEDIT(), MEMOEDIT(),
|
||||
* ACCEPT, INPUT, READ, and WAIT </par>
|
||||
* ACCEPT, INPUT, READ, and WAIT
|
||||
* $EXAMPLES$
|
||||
* // within ReadModal()
|
||||
* if HB_SetKeyCheck( K_ALT_X, GetActive() )
|
||||
@@ -585,7 +698,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* HB_SETKEYCHECK() is new. </par>
|
||||
* HB_SETKEYCHECK() is new.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* SETKEY(),HB_SETKEYSAVE()
|
||||
* $END$
|
||||
@@ -601,9 +716,11 @@
|
||||
* $SYNTAX$
|
||||
* SET KEY <anKey> to p<bAction>] [when <bCondition> ] )
|
||||
* $ARGUMENTS$
|
||||
* <anKey> is either a numeric key value, or an array of such values </par>
|
||||
* <bAction> is an optional code-block to be assigned </par>
|
||||
* <bCondition> is an optional condition code-block </par>
|
||||
* <anKey> is either a numeric key value, or an array of such values
|
||||
|
||||
* <bAction> is an optional code-block to be assigned
|
||||
|
||||
* <bCondition> is an optional condition code-block
|
||||
* $DESCRIPTION$
|
||||
* The Set Key Command function is translated to the SetKey() function
|
||||
* witch returns the current code-block assigned to a
|
||||
@@ -611,7 +728,7 @@
|
||||
* optionally the condition block) are passed, the current block is
|
||||
* returned, and the new code block and condition block are stored.
|
||||
* A group of keys may be assigned the same code block/condition block
|
||||
* by using an array of key values in place on the first parameter. </par>
|
||||
* by using an array of key values in place on the first parameter.
|
||||
* $EXAMPLES$
|
||||
* local bOldF10 := setKey( K_F10, {|| Yahoo() } )
|
||||
* ... // some other processing
|
||||
@@ -634,7 +751,7 @@
|
||||
* SET KEY is mostly CA-Clipper compliant. The only difference is the
|
||||
* addition of the condition code-block parameter, allowing set-keys to
|
||||
* be conditionally turned off or on. This condition-block cannot be
|
||||
* returned once set - see SetKeyGet() </par>
|
||||
* returned once set - see SetKeyGet()
|
||||
* $SEEALSO$
|
||||
* HB_SETKEYSAVE()
|
||||
* $END$
|
||||
@@ -650,12 +767,12 @@
|
||||
* $SYNTAX$
|
||||
* SETTYPEAHEAD( <nSize> ) --> <nPreviousSize>
|
||||
* $ARGUMENTS$
|
||||
* <nSize> is a valid typeahead size. </par>
|
||||
* <nSize> is a valid typeahead size.
|
||||
* $RETURNS$
|
||||
* <nPreviousSize> The previous state of _SET_TYPEAHEAD </par>
|
||||
* <nPreviousSize> The previous state of _SET_TYPEAHEAD
|
||||
* $DESCRIPTION$
|
||||
* This function sets the typeahead buffer to a valid given size as is
|
||||
* Set( _SET_TYPEAHEAD ) where used. </par>
|
||||
* Set( _SET_TYPEAHEAD ) where used.
|
||||
* $EXAMPLES$
|
||||
* // Sets typeahead to 12
|
||||
* SetTypeahead( 12 )
|
||||
@@ -663,7 +780,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* SETTYPEAHEAD() is fully CA-Clipper compliant. </par>
|
||||
* SETTYPEAHEAD() is fully CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* __ACCEPT(),__INPUT()
|
||||
* $END$
|
||||
@@ -679,18 +798,20 @@
|
||||
* $SYNTAX$
|
||||
* __XHELP() --> <xValue>
|
||||
* $ARGUMENTS$
|
||||
* None </par>
|
||||
* None
|
||||
* $RETURNS$
|
||||
* This function returns aleatory values. </par>
|
||||
* This function returns aleatory values.
|
||||
* $DESCRIPTION$
|
||||
* This is an internal undocumented Clipper function, which will
|
||||
* try to call the user defined function HELP() if it's defined
|
||||
* in the current application. This is the default SetKey() handler
|
||||
* for the F1 key. </par>
|
||||
* for the F1 key.
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __XHELP() is fully CA-Clipper compliant. </par>
|
||||
* __XHELP() is fully CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -704,19 +825,19 @@
|
||||
* $SYNTAX$
|
||||
* SET DEFAULT TO [<cPath>]
|
||||
* $ARGUMENTS$
|
||||
* <cPath> Drive and/or path. </par>
|
||||
* <cPath> Drive and/or path.
|
||||
* $DESCRIPTION$
|
||||
* This command changes the drive and directory used for reading and
|
||||
* writting database,index,memory, and alternate files.Specifying no
|
||||
* parameters with this command will default the operation to the
|
||||
* current logged drive and directory. </par>
|
||||
* current logged drive and directory.
|
||||
* $EXAMPLES$
|
||||
* SET DEFAULT to c:\TEMP
|
||||
* </fixed>
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This command is Ca-Clipper Compliant. </par>
|
||||
* This command is Ca-Clipper Compliant.
|
||||
* $SEEALSO$
|
||||
* SET PATH,CURDIR(),SET()
|
||||
* $END$
|
||||
@@ -733,19 +854,19 @@
|
||||
* SET WRAP ON/OFF
|
||||
* SET WRAP (<lWrap>)
|
||||
* $ARGUMENTS$
|
||||
* <lWrap> Logical expression for toggle </par>
|
||||
* <lWrap> Logical expression for toggle
|
||||
* $DESCRIPTION$
|
||||
* This command toggles the highlighted bars in a @...PROMPT command
|
||||
* to wrap around in a bottom-to-top and top-to-bottom manner.If the
|
||||
* value of the logical expression <lWrap> is a logical false (.F.),
|
||||
* the wrapping mode is set OFF;otherwise,it is set ON. </par>
|
||||
* the wrapping mode is set OFF;otherwise,it is set ON.
|
||||
* $EXAMPLES$
|
||||
* See Tests/menutest.prg
|
||||
* </fixed>
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This command is Ca-Clipper Compliant. </par>
|
||||
* This command is Ca-Clipper Compliant.
|
||||
* $SEEALSO$
|
||||
* @...PROMPT,MENU TO
|
||||
* $END$
|
||||
@@ -759,14 +880,14 @@
|
||||
* $ONELINER$
|
||||
* Extablishes a message row for @...PROMPT command
|
||||
* $SYNTAX$
|
||||
* SET MESSAGE TO [<nRow> [CENTER]] </par>
|
||||
* SET MESSAGE TO [<nRow> [CENTER]]
|
||||
* $ARGUMENTS$
|
||||
* <nRow> Row number to display the message </par>
|
||||
* <nRow> Row number to display the message
|
||||
* $DESCRIPTION$
|
||||
* This command is designed to work in conjuntion with the MENU TO and
|
||||
* @...PROMPT commands.With this command, a row number between 0 and
|
||||
* MAXROW() may be specified in <nRow>.This establishes the row on
|
||||
* witch any message associated with an @...PROMPT command will apear. </par>
|
||||
* witch any message associated with an @...PROMPT command will apear.
|
||||
|
||||
* If the value of <nRow> is 0,all messages will be supressed.
|
||||
* All messaged will be left-justifies unless the CENTER clause is
|
||||
@@ -774,18 +895,18 @@
|
||||
* will be centered at the designated row (unless <nRow> is 0).All
|
||||
* messages are independent;therefor,the screen area is cleared out
|
||||
* by the centered message will vary based on the length of each
|
||||
* individual message. </par>
|
||||
* individual message.
|
||||
|
||||
* Specifying no parameters with this command set the row value to 0,
|
||||
* witch suppresses all messages output. </par>
|
||||
* The British spelling of CENTRE is also supported. </par>
|
||||
* witch suppresses all messages output.
|
||||
* The British spelling of CENTRE is also supported.
|
||||
* $EXAMPLES$
|
||||
* See Tests/menutest.prg
|
||||
* </fixed>
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This command is Ca-Clipper Compliant. </par>
|
||||
* This command is Ca-Clipper Compliant.
|
||||
* $SEEALSO$
|
||||
* SET(),SET WRAP,@...PROMPT,MENU TO
|
||||
* $END$
|
||||
@@ -799,23 +920,23 @@
|
||||
* $ONELINER$
|
||||
* Specifies a search path for opening files
|
||||
* $SYNTAX$
|
||||
* SET PATH TO [<cPath>] </par>
|
||||
* SET PATH TO [<cPath>]
|
||||
* $ARGUMENTS$
|
||||
* <cPath> Search path for files </par>
|
||||
* <cPath> Search path for files
|
||||
* $DESCRIPTION$
|
||||
* This command specifies the search path for files required by most
|
||||
* commands and functions not found in the current drive and directory.
|
||||
* This pertains primarily,but not exclusively, to databases,indexes,
|
||||
* and memo files,as well as to memory,labels,and reports files. The
|
||||
* search hirarchy is: 1 Current drive and directory,2 The SET DEFAULT
|
||||
* path;3 The SET PATH path. </par>
|
||||
* path;3 The SET PATH path.
|
||||
* $EXAMPLES$
|
||||
* SET PATH TO c:\Harbour\Test
|
||||
* </fixed>
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This command is Ca-Clipper Compliant. </par>
|
||||
* This command is Ca-Clipper Compliant.
|
||||
* $SEEALSO$
|
||||
* SET DEFAULT,CURDIR(),SET()
|
||||
* $END$
|
||||
@@ -841,7 +962,7 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This command is Ca-Clipper Compliant. </par>
|
||||
* This command is Ca-Clipper Compliant.
|
||||
* $SEEALSO$
|
||||
* @...GET,@...PROMPT,@...SAY,SET()
|
||||
* $END$
|
||||
@@ -860,7 +981,7 @@
|
||||
* $ARGUMENTS$
|
||||
* <cFile> Name of alternate file.
|
||||
*
|
||||
* <lAlter> Logical expression for toggle </par>
|
||||
* <lAlter> Logical expression for toggle
|
||||
* $DESCRIPTION$
|
||||
* This command toggles and output console information to the alternate
|
||||
* file <cFile>,provided that the command is toggled on or the condition
|
||||
@@ -887,7 +1008,7 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This command is Ca-Clipper Compliant. </par>
|
||||
* This command is Ca-Clipper Compliant.
|
||||
* $SEEALSO$
|
||||
* CLOSE,SET PRINTER,SET CONSOLE,SET()
|
||||
* $END$
|
||||
@@ -903,7 +1024,7 @@
|
||||
* $SYNTAX$
|
||||
* SET CENTURY [ON / OFF] [(<lCent>)]
|
||||
* $ARGUMENTS$
|
||||
* <lCent> Logical expression for toggle </par>
|
||||
* <lCent> Logical expression for toggle
|
||||
* $DESCRIPTION$
|
||||
* This command allows the input and display of dates with the century
|
||||
* prefix.It will be in the standart MM/DD/YYYY format unless specified
|
||||
@@ -932,8 +1053,8 @@
|
||||
* Assings a date format or chooses a predefined date data set.
|
||||
* $SYNTAX$
|
||||
* SET DATE FORMAT [TO] <cFormat>
|
||||
* SET DATE [TO] [ ANSI / BRITISH / FRENCH / GERMAN / ITALIAN / JAPAN /
|
||||
* USA / AMERICAN]
|
||||
* SET DATE [TO] [ ANSI / BRITISH / FRENCH / GERMAN / ITALIAN / JAPAN
|
||||
* / USA / AMERICAN]
|
||||
* $ARGUMENTS$
|
||||
* <cFormat> Keyword for date format
|
||||
* $DESCRIPTION$
|
||||
|
||||
@@ -39,13 +39,13 @@
|
||||
* $SYNTAX$
|
||||
* ISALPHA(<cString>) --> lAlpha
|
||||
* $ARGUMENTS$
|
||||
* <cString> Any character string </par>
|
||||
* <cString> Any character string
|
||||
* $RETURNS$
|
||||
* lAlpha Logical true (.T.) or false (.F.). </par>
|
||||
* lAlpha Logical true (.T.) or false (.F.).
|
||||
* $DESCRIPTION$
|
||||
* This function return a logical true (.T.) if the first character
|
||||
* in <cString> is an alphabetic character.If not, the function will
|
||||
* return a logical false (.F.). </par>
|
||||
* return a logical false (.F.).
|
||||
* $EXAMPLES$
|
||||
* QOUT( "isalpha( 'hello' ) = ", isalpha( 'hello' ) )
|
||||
* QOUT( "isalpha( '12345' ) = ", isalpha( '12345' ) )
|
||||
@@ -53,9 +53,11 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant </par>
|
||||
* This function is CA-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* ISDIGIT(),ISLOWER(),ISUPPER(),LOWER(),UPPER()
|
||||
* $END$
|
||||
@@ -71,14 +73,14 @@
|
||||
* $SYNTAX$
|
||||
* ISDIGIT(<cString>) --> lDigit
|
||||
* $ARGUMENTS$
|
||||
* <cString> Any character string </par>
|
||||
* <cString> Any character string
|
||||
* $RETURNS$
|
||||
* lDigit Logical true (.T.) or false (.F.). </par>
|
||||
* lDigit Logical true (.T.) or false (.F.).
|
||||
* $DESCRIPTION$
|
||||
* This function takes the caracter string <cString> and checks to
|
||||
* see if the leftmost character is a digit,from 1 to 9.If so, the
|
||||
* function will return a logical true (.T.);otherwise, it will
|
||||
* return a logical false (.F.). </par>
|
||||
* return a logical false (.F.).
|
||||
* $EXAMPLES$
|
||||
* QOUT( "isdigit( '12345' ) = ", isdigit( '12345' ) )
|
||||
* QOUT( "isdigit( 'abcde' ) = ", isdigit( 'abcde' ) )
|
||||
@@ -86,9 +88,11 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant </par>
|
||||
* This function is CA-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* ISALPHA(),ISLOWER(),ISUPPER(),LOWER(),UPPER()
|
||||
* $END$
|
||||
@@ -104,14 +108,14 @@
|
||||
* $SYNTAX$
|
||||
* ISUPPER(<cString>) --> lUpper
|
||||
* $ARGUMENTS$
|
||||
* <cString> Any character string </par>
|
||||
* <cString> Any character string
|
||||
* $RETURNS$
|
||||
* lUpper Logical true (.T.) or false (.F.). </par>
|
||||
* lUpper Logical true (.T.) or false (.F.).
|
||||
* $DESCRIPTION$
|
||||
* This function takes the caracter string <cString> and checks to
|
||||
* see if the leftmost character is a uppercased letter.If so, the
|
||||
* function will return a logical true (.T.);otherwise, it will
|
||||
* return a logical false (.F.). </par>
|
||||
* return a logical false (.F.).
|
||||
* $EXAMPLES$
|
||||
* QOUT( "isupper( 'Abcde' ) = ", isupper( 'Abcde' ) )
|
||||
* QOUT( "isupper( 'abcde' ) = ", isupper( 'abcde' ) )
|
||||
@@ -119,9 +123,11 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant </par>
|
||||
* This function is CA-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* ISALPHA(),ISLOWER(),ISDIGIT(),LOWER(),UPPER()
|
||||
* $END$
|
||||
@@ -137,14 +143,14 @@
|
||||
* $SYNTAX$
|
||||
* ISLOWER(<cString>) --> lLower
|
||||
* $ARGUMENTS$
|
||||
* <cString> Any character string </par>
|
||||
* <cString> Any character string
|
||||
* $RETURNS$
|
||||
* lLower Logical true (.T.) or false (.F.). </par>
|
||||
* lLower Logical true (.T.) or false (.F.).
|
||||
* $DESCRIPTION$
|
||||
* This function takes the caracter string <cString> and checks to
|
||||
* see if the leftmost character is a lowercased letter.If so, the
|
||||
* function will return a logical true (.T.);otherwise, it will
|
||||
* return a logical false (.F.). </par>
|
||||
* return a logical false (.F.).
|
||||
* $EXAMPLES$
|
||||
* QOUT( "islower( 'Abcde' ) = ", islower( 'Abcde' ) )
|
||||
* QOUT( "islower( 'abcde' ) = ", islower( 'abcde' ) )
|
||||
@@ -152,9 +158,11 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compliant </par>
|
||||
* This function is CA-Clipper compliant
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* ISALPHA(),ISDIGIT(),ISUPPER(),LOWER(),UPPER()
|
||||
* $END$
|
||||
@@ -170,20 +178,22 @@
|
||||
* $SYNTAX$
|
||||
* LTRIM(<cString>) --> <cReturn>
|
||||
* $ARGUMENTS$
|
||||
* <cString> Character expression with leading spaces </par>
|
||||
* <cString> Character expression with leading spaces
|
||||
* $RETURNS$
|
||||
* <cReturn> The same character expression with leading spaces removed </par>
|
||||
* <cReturn> The same character expression with leading spaces removed
|
||||
* $DESCRIPTION$
|
||||
* This function trims the leading space blank </par>
|
||||
* This function trims the leading space blank
|
||||
* $EXAMPLES$
|
||||
* ? QOUT( LTRIM("HELLO "))
|
||||
* </fixed>
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This functions is CA-CLIPPER compatible </par>
|
||||
* This functions is CA-CLIPPER compatible
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* TRIM(),RTRIM(),ALLTRIM()
|
||||
* $END$
|
||||
@@ -199,15 +209,16 @@
|
||||
* $SYNTAX$
|
||||
* AT(<cSearch>,<cString>) --> nPos
|
||||
* $ARGUMENTS$
|
||||
* <cSearch> Substring to search for </par>
|
||||
* <cString> Main string </par>
|
||||
* <cSearch> Substring to search for
|
||||
*
|
||||
* <cString> Main string
|
||||
* $RETURNS$
|
||||
* AT() return the starting position of the first occurrence of the
|
||||
* substring in the main string </par>
|
||||
* substring in the main string
|
||||
* $DESCRIPTION$
|
||||
* This function searches the string <cString> for the characters in
|
||||
* the first string <cSearch>. If the substring is not contained within
|
||||
* the second expression,the function will return 0. </par>
|
||||
* the second expression,the function will return 0.
|
||||
* $EXAMPLES$
|
||||
* QOUT( "at( 'cde', 'abcdefgfedcba' ) = '" +;
|
||||
* at( 'cde', 'abcsefgfedcba' ) + "'" )
|
||||
@@ -215,9 +226,11 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compatible. </par>
|
||||
* This function is CA-Clipper compatible.
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* RAT()
|
||||
* $END$
|
||||
@@ -231,17 +244,18 @@
|
||||
* $ONELINER$
|
||||
* Searches for a substring from the right side of a string.
|
||||
* $SYNTAX$
|
||||
* RAT(<cSearch>,<cString>) --> nPos </par>
|
||||
* RAT(<cSearch>,<cString>) --> nPos
|
||||
* $ARGUMENTS$
|
||||
* <cSearch> Substring to search for </par>
|
||||
* <cString> Main string </par>
|
||||
* <cSearch> Substring to search for
|
||||
*
|
||||
* <cString> Main string
|
||||
* $RETURNS$
|
||||
* RAT() return the location of beginnig position. </par>
|
||||
* RAT() return the location of beginnig position.
|
||||
* $DESCRIPTION$
|
||||
* This function searches througt <cString> for the first existence
|
||||
* of <cSearch>.The search operation is performed from the right side
|
||||
* of <cString> to the left. If the function is unable to find any
|
||||
* occurence of <cSearch> in <cString>,the value of the function will be 0. </par>
|
||||
* occurence of <cSearch> in <cString>,the value of the function will be 0.
|
||||
* $EXAMPLES$
|
||||
* QOUT( "rat( 'cde', 'abcdefgfedcba' ) = '" +;
|
||||
* rat( 'cde', 'abcsefgfedcba' ) + "'" )
|
||||
@@ -249,9 +263,11 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* Will not work with a search string > 64 KB on some platforms </par>
|
||||
* Will not work with a search string > 64 KB on some platforms
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* AT(),SUBSTR(),RIGHT()
|
||||
* $END$
|
||||
@@ -267,23 +283,26 @@
|
||||
* $SYNTAX$
|
||||
* LEFT(<cString>,<nPos>) --> <cReturn>
|
||||
* $ARGUMENTS$
|
||||
* <cString> Main character to be parsed </par>
|
||||
* <nPos> Number of bytes to return beggining at the leftmost position </par>
|
||||
* <cString> Main character to be parsed
|
||||
*
|
||||
* <nPos> Number of bytes to return beggining at the leftmost position
|
||||
* $RETURNS$
|
||||
* <cReturn> Substring of evaluation </par>
|
||||
* <cReturn> Substring of evaluation
|
||||
* $DESCRIPTION$
|
||||
* This functions returns the leftmost <nPos> characters of <cString>. </par>
|
||||
* This functions returns the leftmost <nPos> characters of <cString>.
|
||||
* It is equivalent to the following programing expression:
|
||||
* SUBSTR(<cString>,1,<nPos> </par>
|
||||
* SUBSTR(<cString>,1,<nPos>
|
||||
* $EXAMPLES$
|
||||
* ? QOUT(LEFT('HELLO HARBOUR',5))
|
||||
* </fixed>
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This functions is CA CLIPPER compatible </par>
|
||||
* This functions is CA CLIPPER compatible
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* SUBSTR(),RIGHT(),AT(),RAT()
|
||||
* $END$
|
||||
@@ -299,21 +318,24 @@
|
||||
* $SYNTAX$
|
||||
* SUBSTR(<cString>,<nPos>) --> <cReturn>
|
||||
* $ARGUMENTS$
|
||||
* <cString> Character expression to be parsed </par>
|
||||
* <nPos> Number of bytes to return beggining at the rightmost position </par>
|
||||
* <cString> Character expression to be parsed
|
||||
*
|
||||
* <nPos> Number of bytes to return beggining at the rightmost position
|
||||
* $RETURNS$
|
||||
* <cReturn> Substring of evaluation </par>
|
||||
* <cReturn> Substring of evaluation
|
||||
* $DESCRIPTION$
|
||||
* This functions returns the rightmost <nPos> characters of <cString>. </par>
|
||||
* This functions returns the rightmost <nPos> characters of <cString>.
|
||||
* $EXAMPLES$
|
||||
* ? QOUT(RIGHT('HELLO HARBOUR',5))
|
||||
* </fixed>
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This functions is CA CLIPPER compatible </par>
|
||||
* This functions is CA CLIPPER compatible
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* SUBSTR(),LEFT(),AT(),RAT()
|
||||
* $END$
|
||||
@@ -329,20 +351,22 @@
|
||||
* $SYNTAX$
|
||||
* SUBSTR(<cString>,<nStart>[,<nLen>)] --> <cReturn>
|
||||
* $ARGUMENTS$
|
||||
* <cString> Character expression to be parsed </par>
|
||||
* <nStart> Start position </par>
|
||||
* <nLen> Number of characters to return </par>
|
||||
* <cString> Character expression to be parsed
|
||||
*
|
||||
* <nStart> Start position
|
||||
*
|
||||
* <nLen> Number of characters to return
|
||||
* $RETURNS$
|
||||
* <cReturn> Substring of evaluation </par>
|
||||
* <cReturn> Substring of evaluation
|
||||
* $DESCRIPTION$
|
||||
* This functions returns a character string formed from <cString>,
|
||||
* starting at the position of <nStart> and continuing on for a
|
||||
* lenght of <nLen> characters. If <nLen> is not specified, the value
|
||||
* will be all remaining characters from the position of <nStart>. </par>
|
||||
* will be all remaining characters from the position of <nStart>.
|
||||
|
||||
* The value of <nStart> may be negative. If it is, the direction of
|
||||
* operation is reversed from a default of left-to-right to right-to-left
|
||||
* for the number of characters specified in <nStart>. </par>
|
||||
* for the number of characters specified in <nStart>.
|
||||
* $EXAMPLES$
|
||||
* FUNCTION MAIN()
|
||||
* LOCAL X:=REPLICATE('ABCD',70000)
|
||||
@@ -359,9 +383,11 @@
|
||||
* $COMPLIANCE$
|
||||
* This functions is CA CLIPPER compatible with the execption that
|
||||
* CA CLIPPER will generate an error if the passed string is >65519 bytes
|
||||
* and Harbour depends of plataform. </par>
|
||||
* and Harbour depends of plataform.
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* LEFT(),AT(),RIGHT()
|
||||
* $END$
|
||||
@@ -378,48 +404,51 @@
|
||||
* STR(<nNumber>, [<nLength>], [<nDecimals>]) --> cNumber
|
||||
* $ARGUMENTS$
|
||||
* <nNumber> is the numeric expression to be converted to a character
|
||||
* string. </par>
|
||||
* string.
|
||||
*
|
||||
* <nLength> is the length of the character string to return, including
|
||||
* decimal digits, decimal point, and sign. </par>
|
||||
* <nDecimals> is the number of decimal places to return. </par>
|
||||
* decimal digits, decimal point, and sign.
|
||||
*
|
||||
* <nDecimals> is the number of decimal places to return.
|
||||
* $RETURNS$
|
||||
* STR() returns <nNumber> formatted as a character string. If the
|
||||
* optional length and decimal arguments are not specified, STR()
|
||||
* returns the character string according to the following rules: </par>
|
||||
* returns the character string according to the following rules:
|
||||
*
|
||||
* Results of STR() with No Optional Arguments </par>
|
||||
* --------------------------------------------------------------- </par>
|
||||
* Expression Return Value Length </par>
|
||||
* --------------------------------------------------------------- </par>
|
||||
* Field Variable Field length plus decimals </par>
|
||||
* Expressions/constants Minimum of 10 digits plus decimals </par>
|
||||
* VAL() Minimum of 3 digits </par>
|
||||
* MONTH()/DAY() 3 digits </par>
|
||||
* YEAR() 5 digits </par>
|
||||
* RECNO() 7 digits </par>
|
||||
* --------------------------------------------------------------- </par>
|
||||
* Results of STR() with No Optional Arguments
|
||||
|
||||
* <table>
|
||||
* Expression Return Value Length
|
||||
*
|
||||
* Field Variable Field length plus decimals
|
||||
* Expressions/constants Minimum of 10 digits plus decimals
|
||||
* VAL() Minimum of 3 digits
|
||||
* MONTH()/DAY() 3 digits
|
||||
* YEAR() 5 digits
|
||||
* RECNO() 7 digits
|
||||
* </table>
|
||||
* $DESCRIPTION$
|
||||
* STR() is a numeric conversion function that converts numeric values
|
||||
* to character strings. It is commonly used to concatenate numeric values
|
||||
* to character strings. STR() has applications displaying numbers,
|
||||
* creating codes such as part numbers from numeric values, and creating
|
||||
* index keys that combine numeric and character data. </par>
|
||||
* index keys that combine numeric and character data.
|
||||
*
|
||||
* STR() is like TRANSFORM(), which formats numeric values as character
|
||||
* strings using a mask instead of length and decimal specifications. </par>
|
||||
* strings using a mask instead of length and decimal specifications.
|
||||
*
|
||||
* The inverse of STR() is VAL(), which converts character numbers to
|
||||
* numerics. </par>
|
||||
* numerics.
|
||||
*
|
||||
* * If <nLength> is less than the number of whole number digits in
|
||||
* <nNumber>, STR() returns asterisks instead of the number. </par>
|
||||
* <nNumber>, STR() returns asterisks instead of the number.
|
||||
*
|
||||
* * If <nLength> is less than the number of decimal digits
|
||||
* required for the decimal portion of the returned string, Harbour
|
||||
* rounds the number to the available number of decimal places. </par>
|
||||
* rounds the number to the available number of decimal places.
|
||||
*
|
||||
* * If <nLength> is specified but <nDecimals> is omitted (no
|
||||
* decimal places), the return value is rounded to an integer. </par>
|
||||
* decimal places), the return value is rounded to an integer.
|
||||
* $EXAMPLES$
|
||||
* ? STR( 10, 6, 2 ) // " 10.00"
|
||||
* ? STR( -10, 8, 2 ) // " -10.00"
|
||||
@@ -430,7 +459,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* CA-Clipper compatible. </par>
|
||||
* CA-Clipper compatible.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* STRZERO(),VAL()
|
||||
* $END$
|
||||
@@ -447,48 +478,51 @@
|
||||
* STRZERO(<nNumber>, [<nLength>], [<nDecimals>]) --> cNumber
|
||||
* $ARGUMENTS$
|
||||
* <nNumber> is the numeric expression to be converted to a character
|
||||
* string. </par>
|
||||
* string.
|
||||
*
|
||||
* <nLength> is the length of the character string to return, including
|
||||
* decimal digits, decimal point, and sign. </par>
|
||||
* <nDecimals> is the number of decimal places to return. </par>
|
||||
* decimal digits, decimal point, and sign.
|
||||
*
|
||||
* <nDecimals> is the number of decimal places to return.
|
||||
* $RETURNS$
|
||||
* STRZERO() returns <nNumber> formatted as a character string. If the
|
||||
* optional length and decimal arguments are not specified, STRZERO()
|
||||
* returns the character string according to the following rules: </par>
|
||||
* returns the character string according to the following rules:
|
||||
*
|
||||
* Results of STRZERO() with No Optional Arguments </par>
|
||||
* --------------------------------------------------------------- </par>
|
||||
* Expression Return Value Length </par>
|
||||
* --------------------------------------------------------------- </par>
|
||||
* Field Variable Field length plus decimals </par>
|
||||
* Expressions/constants Minimum of 10 digits plus decimals </par>
|
||||
* VAL() Minimum of 3 digits </par>
|
||||
* MONTH()/DAY() 3 digits </par>
|
||||
* YEAR() 5 digits </par>
|
||||
* RECNO() 7 digits </par>
|
||||
* --------------------------------------------------------------- </par>
|
||||
* Results of STRZERO() with No Optional Arguments
|
||||
*
|
||||
* <table>
|
||||
* Expression Return Value Length
|
||||
*
|
||||
* Field Variable Field length plus decimals
|
||||
* Expressions/constants Minimum of 10 digits plus decimals
|
||||
* VAL() Minimum of 3 digits
|
||||
* MONTH()/DAY() 3 digits
|
||||
* YEAR() 5 digits
|
||||
* RECNO() 7 digits
|
||||
* </table>
|
||||
* $DESCRIPTION$
|
||||
* STRZERO() is a numeric conversion function that converts numeric values
|
||||
* to character strings. It is commonly used to concatenate numeric values
|
||||
* to character strings. STRZERO() has applications displaying numbers,
|
||||
* creating codes such as part numbers from numeric values, and creating
|
||||
* index keys that combine numeric and character data. </par>
|
||||
* index keys that combine numeric and character data.
|
||||
*
|
||||
* STRZERO() is like TRANSFORM(), which formats numeric values as character
|
||||
* strings using a mask instead of length and decimal specifications. </par>
|
||||
* strings using a mask instead of length and decimal specifications.
|
||||
*
|
||||
* The inverse of STRZERO() is VAL(), which converts character numbers to
|
||||
* numerics. </par>
|
||||
* numerics.
|
||||
*
|
||||
* * If <nLength> is less than the number of whole number digits in
|
||||
* <nNumber>, STR() returns asterisks instead of the number. </par>
|
||||
* <nNumber>, STR() returns asterisks instead of the number.
|
||||
*
|
||||
* * If <nLength> is less than the number of decimal digits
|
||||
* required for the decimal portion of the returned string, Harbour
|
||||
* rounds the number to the available number of decimal places. </par>
|
||||
* rounds the number to the available number of decimal places.
|
||||
*
|
||||
* * If <nLength> is specified but <nDecimals> is omitted (no
|
||||
* decimal places), the return value is rounded to an integer. </par>
|
||||
* decimal places), the return value is rounded to an integer.
|
||||
* $EXAMPLES$
|
||||
* ? STRZERO( 10, 6, 2 ) // "010.00"
|
||||
* ? STRZERO( -10, 8, 2 ) // "-0010.00"
|
||||
@@ -499,7 +533,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* CA-Clipper compatible (it was not mentioned in the docs though). </par>
|
||||
* CA-Clipper compatible (it was not mentioned in the docs though).
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* STR(),VAL()
|
||||
* $END$
|
||||
@@ -515,11 +551,11 @@
|
||||
* $SYNTAX$
|
||||
* HB_VALTOSTR( <xValue> ) --> cString
|
||||
* $ARGUMENTS$
|
||||
* <xValue> is any scalar argument. </par>
|
||||
* <xValue> is any scalar argument.
|
||||
* $RETURNS$
|
||||
* <cString> A string representation of <xValue> using default conversions. </par>
|
||||
* <cString> A string representation of <xValue> using default conversions.
|
||||
* $DESCRIPTION$
|
||||
* HB_VALTOSTR can be used to convert any scalar value to a string. </par>
|
||||
* HB_VALTOSTR can be used to convert any scalar value to a string.
|
||||
* $EXAMPLES$
|
||||
* ? HB_VALTOSTR( 4 )
|
||||
* ? HB_VALTOSTR( "String" )
|
||||
@@ -536,7 +572,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* HB_VALTOSTR() is a Harbour enhancement. </par>
|
||||
* HB_VALTOSTR() is a Harbour enhancement.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* STR(),VAL()
|
||||
* $END$
|
||||
@@ -552,14 +590,14 @@
|
||||
* $SYNTAX$
|
||||
* LEN( <cString> | <aArray> ) --> <nLength>
|
||||
* $ARGUMENTS$
|
||||
* <acString> is a character string or the array to check. </par>
|
||||
* <acString> is a character string or the array to check.
|
||||
* $RETURNS$
|
||||
* The length of the string or the number of elements that contains
|
||||
* an array. </par>
|
||||
* an array.
|
||||
* $DESCRIPTION$
|
||||
* This function returns the string length or the size of an array. If
|
||||
* it is used with a multidimensional array it returns the size of the
|
||||
* first dimension. </par>
|
||||
* first dimension.
|
||||
* $EXAMPLES$
|
||||
* ? Len( "Harbour" ) --> 7
|
||||
* ? Len( { "One", "Two" } ) --> 2
|
||||
@@ -574,7 +612,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* LEN() is fully CA-Clipper compliant. </par>
|
||||
* LEN() is fully CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* EMPTY(),RTRIM(),LTRIM(),AADD(),ASIZE()
|
||||
* $END$
|
||||
@@ -590,13 +630,13 @@
|
||||
* $SYNTAX$
|
||||
* EMPTY( <xExp> ) --> <lIsEmpty>
|
||||
* $ARGUMENTS$
|
||||
* <xExp> is any valid expression. </par>
|
||||
* <xExp> is any valid expression.
|
||||
* $RETURNS$
|
||||
* A logical value. It is true (.T.) if the passed argument is empty
|
||||
* otherwise it is false (.F.). </par>
|
||||
* otherwise it is false (.F.).
|
||||
* $DESCRIPTION$
|
||||
* This function checks if an expression has empty value and returns a
|
||||
* logical indicating whether it the expression is empty or not. </par>
|
||||
* logical indicating whether it the expression is empty or not.
|
||||
* $EXAMPLES$
|
||||
* ? Empty( "I'm not empty" )
|
||||
* </fixed>
|
||||
@@ -610,7 +650,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* EMPTY() is fully CA-Clipper compliant. </par>
|
||||
* EMPTY() is fully CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* LEN()
|
||||
* $END$
|
||||
@@ -626,12 +668,12 @@
|
||||
* $SYNTAX$
|
||||
* DESCEND( <xExp> ) --> <xExpInverted>
|
||||
* $ARGUMENTS$
|
||||
* <xExp> is any valid expression. </par>
|
||||
* <xExp> is any valid expression.
|
||||
* $RETURNS$
|
||||
* Inverted value of the same type as passed. </par>
|
||||
* Inverted value of the same type as passed.
|
||||
* $DESCRIPTION$
|
||||
* This function converts an expression in his inverted form. It is
|
||||
* useful to build descending indexes. </par>
|
||||
* useful to build descending indexes.
|
||||
* $EXAMPLES$
|
||||
* // Seek for Smith in a descending index
|
||||
* SEEK DESCEND( "SMITH" )
|
||||
@@ -643,7 +685,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* DESCEND() is fully CA-Clipper compliant. </par>
|
||||
* DESCEND() is fully CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* INDEX,SEEK
|
||||
* $END$
|
||||
@@ -659,24 +703,26 @@
|
||||
* $SYNTAX$
|
||||
* HB_ANSITOOEM(<cString>) -> cDosString
|
||||
* $ARGUMENTS$
|
||||
* <cString> Windows ansi string to convert to DOS oem String </par>
|
||||
* <cString> Windows ansi string to convert to DOS oem String
|
||||
* $RETURNS$
|
||||
* <cDosString> Dos based string </par>
|
||||
* <cDosString> Dos based string
|
||||
* $DESCRIPTION$
|
||||
* This function converts each character in <cString> to the corresponding
|
||||
* character in the MS-DOS (OEM) character set.The character expression
|
||||
* <cString> should contain characters from the ANSI character set.
|
||||
* If a character in <cString> doesn't have a MS-DOS equivalent, the
|
||||
* character is converted to a similar MS-DOS character. </par>
|
||||
* character is converted to a similar MS-DOS character.
|
||||
* $EXAMPLES$
|
||||
* ? HB_OEMTOANSI("Harbour")
|
||||
* </fixed>
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is a Harbour extension </par>
|
||||
* This function is a Harbour extension
|
||||
* $PLATFORMS$
|
||||
* This functions work only on Windows Plataform </par>
|
||||
* This functions work only on Windows Plataform
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* HB_OEMTOANSI()
|
||||
* $END$
|
||||
@@ -692,24 +738,26 @@
|
||||
* $SYNTAX$
|
||||
* HB_OEMTOANSI(<cString>) -> cDosString
|
||||
* $ARGUMENTS$
|
||||
* <cString> DOS (OEM) string to convert to WINDOWS (ANSI) String </par>
|
||||
* <cString> DOS (OEM) string to convert to WINDOWS (ANSI) String
|
||||
* $RETURNS$
|
||||
* <cDosString> WINDOWS based string </par>
|
||||
* <cDosString> WINDOWS based string
|
||||
* $DESCRIPTION$
|
||||
* This function converts each character in <cString> to the corresponding
|
||||
* character in the Windows (ANSI) character set.The character expression
|
||||
* <cString> should contain characters from the OEM character set.
|
||||
* If a character in <cString> doesn't have a ANSI equivalent, the
|
||||
* character is remais the same. </par>
|
||||
* character is remais the same.
|
||||
* $EXAMPLES$
|
||||
* ? HB_OEMTOANSI("Harbour")
|
||||
* </fixed>
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is a Harbour extension </par>
|
||||
* This function is a Harbour extension
|
||||
* $PLATFORMS$
|
||||
* This functions work only on Windows Plataform </par>
|
||||
* This functions work only on Windows Plataform
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* HB_ANSITOOEM()
|
||||
* $END$
|
||||
@@ -726,13 +774,13 @@
|
||||
* $SYNTAX$
|
||||
* LOWER( <cString> ) --> cLowerString
|
||||
* $ARGUMENTS$
|
||||
* <cString> Any character expression. </par>
|
||||
* <cString> Any character expression.
|
||||
* $RETURNS$
|
||||
* <cLowerString> Lowercased value of <cString> </par>
|
||||
* <cLowerString> Lowercased value of <cString>
|
||||
* $DESCRIPTION$
|
||||
* This function converts any character expression passes as <cString>
|
||||
* to its lowercased representation.Any nonalphabetic character withing
|
||||
* <cString> will remain unchanged. </par>
|
||||
* <cString> will remain unchanged.
|
||||
* $EXAMPLES$
|
||||
* ? Lower("HARBOUR")
|
||||
* ? Lower("Hello All")
|
||||
@@ -740,9 +788,11 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compatible </par>
|
||||
* This function is CA-Clipper compatible
|
||||
* $PLATFORMS$
|
||||
* ALL </par>
|
||||
* ALL
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* UPPER(),ISLOWER(),ISUPPER()
|
||||
* $END$
|
||||
@@ -758,12 +808,12 @@
|
||||
* $SYNTAX$
|
||||
* UPPER( <cString> ) --> cUpperString
|
||||
* $ARGUMENTS$
|
||||
* <cString> Any character expression. </par>
|
||||
* <cString> Any character expression.
|
||||
* $RETURNS$
|
||||
* <cUpperString> Uppercased value of <cString> </par>
|
||||
* <cUpperString> Uppercased value of <cString>
|
||||
* $DESCRIPTION$
|
||||
* This function converts all alpha characters in <cString> to upper
|
||||
* case values and returns that formatted character expression. </par>
|
||||
* case values and returns that formatted character expression.
|
||||
* $EXAMPLES$
|
||||
* ? UPPER("harbour")
|
||||
* ? UPPER("Harbour")
|
||||
@@ -771,9 +821,11 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is CA-Clipper compatible </par>
|
||||
* This function is CA-Clipper compatible
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* LOWER(),ISUPPER(),ISLOWER()
|
||||
* $END$
|
||||
|
||||
@@ -15,50 +15,53 @@
|
||||
|
||||
/* $DOC$
|
||||
* $FUNCNAME$
|
||||
* TClass()
|
||||
* TClass()
|
||||
* $CATEGORY$
|
||||
* Classes
|
||||
* Classes
|
||||
* $ONELINER$
|
||||
* TClass() is used in the creation of all classes
|
||||
* TClass() is used in the creation of all classes
|
||||
* $SYNTAX$
|
||||
* oClass := TClass():New("TMyClass") </par>
|
||||
* -or- </par>
|
||||
* TClass() is usually accessed by defining a class with the commands
|
||||
* defined in hbclass.h: </par>
|
||||
* CLASS TGetList // Calls TClass() to create the TGetList class </par>
|
||||
* ... </par>
|
||||
* ENDCLASS </par>
|
||||
* oClass := TClass():New("TMyClass")
|
||||
* -or-
|
||||
* TClass() is usually accessed by defining a class with the commands
|
||||
* defined in hbclass.h:
|
||||
* CLASS TGetList // Calls TClass() to create the TGetList class
|
||||
* ...
|
||||
* ENDCLASS
|
||||
* $ARGUMENTS$
|
||||
*
|
||||
* $RETURNS$
|
||||
* An instance of the TClass Class. This special object's :New()
|
||||
* method can then create the classes you define. </par>
|
||||
* An instance of the TClass Class. This special object's :New()
|
||||
* method can then create the classes you define.
|
||||
* $DESCRIPTION$
|
||||
* TClass is a class that ... </par>
|
||||
* The class methods are as follows: </par>
|
||||
* New() Create a new instance of the class </par>
|
||||
* $EXAMPLES$
|
||||
* FUNCTION TestObject()
|
||||
* local oObject
|
||||
* TClass is a class that ...
|
||||
* The class methods are as follows:
|
||||
*
|
||||
* oObject := TClass():New("TMyClass")
|
||||
* oObject:End()
|
||||
* New() Create a new instance of the class
|
||||
* $EXAMPLES$
|
||||
* FUNCTION TestObject()
|
||||
* local oObject
|
||||
*
|
||||
* oObject := TClass():New("TMyClass")
|
||||
* oObject:End()
|
||||
*
|
||||
* RETURN Nil
|
||||
* </fixed>
|
||||
* $STATUS$
|
||||
* R
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* Object Oriented syntax in Harbour is compatible with CA-CLIPPER.
|
||||
* But Clipper only allowed creation of objects from a few standard
|
||||
* classes, and did not let the programmer create new classes.
|
||||
* In Harbour, you can create your own classes--complete with
|
||||
* Methods, Instance Variables, Class Variables and Inheritance.
|
||||
* Entire applications can be designed and coded in Object Oriented
|
||||
* style. </par>
|
||||
* Object Oriented syntax in Harbour is compatible with CA-CLIPPER.
|
||||
* But Clipper only allowed creation of objects from a few standard
|
||||
* classes, and did not let the programmer create new classes.
|
||||
* In Harbour, you can create your own classes--complete with
|
||||
* Methods, Instance Variables, Class Variables and Inheritance.
|
||||
* Entire applications can be designed and coded in Object Oriented
|
||||
* style.
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* __objHasData(),Object Oriented Programming,CLASS
|
||||
* __objHasData(),Object Oriented Programming,CLASS
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -34,22 +34,22 @@
|
||||
* $SYNTAX$
|
||||
* __XSaveScreen() --> NIL
|
||||
* $ARGUMENTS$
|
||||
* none. </par>
|
||||
* none.
|
||||
* $RETURNS$
|
||||
* __XSaveScreen() always return NIL. </par>
|
||||
* __XSaveScreen() always return NIL.
|
||||
* $DESCRIPTION$
|
||||
* __XSaveScreen() save the image of the whole screen into an internal
|
||||
* buffer, it also save current cursor position. The information could
|
||||
* later be restored by __XRestScreen(). Each call to __XSaveScreen()
|
||||
* overwrite the internal buffer. </par>
|
||||
* overwrite the internal buffer.
|
||||
*
|
||||
* SAVE SCREEN command is preprocessed into __XSaveScreen() function
|
||||
* during compile time. Note that SAVE SCREEN TO is preprocessed into
|
||||
* SAVESCREEN() function. </par>
|
||||
* SAVESCREEN() function.
|
||||
*
|
||||
* __XSaveScreen() is a compatibility function, it is superseded by
|
||||
* SAVESCREEN() which allow you to save part or all the screen into a
|
||||
* variable. </par>
|
||||
* variable.
|
||||
* $EXAMPLES$
|
||||
* // save the screen, display list of files than restore the screen
|
||||
* SAVE SCREEN
|
||||
@@ -60,10 +60,12 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __XSaveScreen() works exactly like CA-Clipper's __XSaveScreen() </par>
|
||||
* __XSaveScreen() works exactly like CA-Clipper's __XSaveScreen()
|
||||
* $PLATFORMS$
|
||||
* __XSaveScreen() is part of the GT API, and supported only by some
|
||||
* platforms. </par>
|
||||
* platforms.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* RESTORE SCREEN,RESTSCREEN(),SAVESCREEN()
|
||||
* $END$
|
||||
@@ -79,18 +81,18 @@
|
||||
* $SYNTAX$
|
||||
* SAVE SCREEN
|
||||
* $ARGUMENTS$
|
||||
* none. </par>
|
||||
* none.
|
||||
* $RETURNS$
|
||||
* SAVE SCREEN always return NIL. </par>
|
||||
* SAVE SCREEN always return NIL.
|
||||
* $DESCRIPTION$
|
||||
* SAVE SCREEN save the image of the whole screen into an internal
|
||||
* buffer, it also save current cursor position. The information could
|
||||
* later be restored by REST SCREEN. Each call to SAVE SCREEN
|
||||
* overwrite the internal buffer. </par>
|
||||
* overwrite the internal buffer.
|
||||
*
|
||||
* SAVE SCREEN command is preprocessed into __XSaveScreen() function
|
||||
* during compile time. Note that SAVE SCREEN TO is preprocessed into
|
||||
* SAVESCREEN() function. </par>
|
||||
* SAVESCREEN() function.
|
||||
*
|
||||
* $EXAMPLES$
|
||||
* // save the screen, display list of files than restore the screen
|
||||
@@ -102,10 +104,10 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __XSaveScreen() works exactly like CA-Clipper's __XSaveScreen() </par>
|
||||
* __XSaveScreen() works exactly like CA-Clipper's __XSaveScreen()
|
||||
* $PLATFORMS$
|
||||
* __XSaveScreen() is part of the GT API, and supported only by some
|
||||
* platforms. </par>
|
||||
* platforms.
|
||||
* $SEEALSO$
|
||||
* RESTORE SCREEN,__XRESTSCREEN(),__XSAVESCREEN()
|
||||
* $END$
|
||||
@@ -123,19 +125,19 @@
|
||||
* $ARGUMENTS$
|
||||
* none.
|
||||
* $RETURNS$
|
||||
* __XRestScreen() always return NIL. </par>
|
||||
* __XRestScreen() always return NIL.
|
||||
* $DESCRIPTION$
|
||||
* __XRestScreen() restore saved image of the whole screen from an
|
||||
* internal buffer that was saved by __XSaveScreen(), it also restore
|
||||
* cursor position. After a call to __XRestScreen() the internal buffer
|
||||
* is cleared. </par>
|
||||
* is cleared.
|
||||
*
|
||||
* RESTORE SCREEN command is preprocessed into __XRestScreen() function
|
||||
* during compile time. Note that RESTORE SCREEN FROM is preprocessed
|
||||
* into RESTSCREEN() function. </par>
|
||||
* into RESTSCREEN() function.
|
||||
*
|
||||
* __XRestScreen() is a compatibility function, it is superseded by
|
||||
* RESTSCREEN() which allow you to restore the screen from a variable. </par>
|
||||
* RESTSCREEN() which allow you to restore the screen from a variable.
|
||||
* $EXAMPLES$
|
||||
* // save the screen, display list of files than restore the screen
|
||||
* SAVE SCREEN
|
||||
@@ -146,10 +148,12 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __XRestScreen() works exactly like CA-Clipper's __XRestScreen() </par>
|
||||
* __XRestScreen() works exactly like CA-Clipper's __XRestScreen()
|
||||
* $PLATFORMS$
|
||||
* __XRestScreen() is part of the GT API, and supported only by some
|
||||
* platforms. </par>
|
||||
* platforms.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* __XRESTSCREEN(),SAVE SCREEN,__XSAVESCREEN()
|
||||
* $END$
|
||||
@@ -165,18 +169,18 @@
|
||||
* $SYNTAX$
|
||||
* RESTORE SCREEN
|
||||
* $ARGUMENTS$
|
||||
* none. </par>
|
||||
* none.
|
||||
* $RETURNS$
|
||||
* REST SCREEN always return NIL. </par>
|
||||
* REST SCREEN always return NIL.
|
||||
* $DESCRIPTION$
|
||||
* Rest Screen restore saved image of the whole screen from an
|
||||
* internal buffer that was saved by Save Screen, it also restore
|
||||
* cursor position. After a call to Rest Screen the internal buffer
|
||||
* is cleared. </par>
|
||||
* is cleared.
|
||||
*
|
||||
* RESTORE SCREEN command is preprocessed into __XRestScreen() function
|
||||
* during compile time. Note that RESTORE SCREEN FROM is preprocessed
|
||||
* into RESTSCREEN() function. </par>
|
||||
* into RESTSCREEN() function.
|
||||
*
|
||||
* $EXAMPLES$
|
||||
* // save the screen, display list of files than restore the screen
|
||||
@@ -188,10 +192,10 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* Rest Screen() works exactly like CA-Clipper's Rest Screen </par>
|
||||
* Rest Screen() works exactly like CA-Clipper's Rest Screen
|
||||
* $PLATFORMS$
|
||||
* Rest Screen is part of the GT API, and supported only by some
|
||||
* platforms. </par>
|
||||
* platforms.
|
||||
* $SEEALSO$
|
||||
* __XRESTSCREEN(),SAVE SCREEN,__XSAVESCREEN()
|
||||
* $END$
|
||||
@@ -208,40 +212,40 @@
|
||||
* ALERT( <xMessage>, [<aOptions>], [<cColorNorm>], [<nDelay>] ) --> nChoice or NIL
|
||||
* $ARGUMENTS$
|
||||
* <xMessage> Message to display in the dialog box. <xMessage> can be
|
||||
* of any Harbour type. </par>
|
||||
* of any Harbour type.
|
||||
* If <xMessage> is an array of Character strings, each element would
|
||||
* be displayed in a new line. If <xMessage> is a Character
|
||||
* string, you could split the message to several lines by placing
|
||||
* a semicolon (;) in the desired places. </par>
|
||||
* a semicolon (;) in the desired places.
|
||||
*
|
||||
* <aOptions> Array with available response. Each element should be
|
||||
* Character string. If omitted, default is { "Ok" }. </par>
|
||||
* Character string. If omitted, default is { "Ok" }.
|
||||
*
|
||||
* <cColorNorm> Color string to paint the dialog box with.
|
||||
* If omitted, default color is "W+/R". </par>
|
||||
* If omitted, default color is "W+/R".
|
||||
*
|
||||
* <nDelay> Number of seconds to wait to user response before abort.
|
||||
* Default value is 0, that wait forever. </par>
|
||||
* Default value is 0, that wait forever.
|
||||
* $RETURNS$
|
||||
* ALERT() return Numeric value representing option number chosen.
|
||||
* If ESC was pressed, return value is zero. The return value is NIL
|
||||
* if ALERT() is called with no parameters, or if <xMessage> type is
|
||||
* not Character and HARBOUR_STRICT_CLIPPER_COMPATIBILITY option was
|
||||
* used. If <nDelay> seconds had passed without user response, the
|
||||
* return value is 1. </par>
|
||||
* return value is 1.
|
||||
* $DESCRIPTION$
|
||||
* ALERT() display simple dialog box on screen and let the user select
|
||||
* one option. The user can move the highlight bar using arrow keys or
|
||||
* TAB key. To select an option the user can press ENTER, SPACE or the
|
||||
* first letter of the option. </par>
|
||||
* first letter of the option.
|
||||
*
|
||||
* If the program is executed with the //NOALERT command line switch,
|
||||
* nothing is displayed and it simply returns NIL. This switch could
|
||||
* be overridden with __NONOALERT(). </par>
|
||||
* be overridden with __NONOALERT().
|
||||
*
|
||||
* If the GT system is linked in, ALERT() display the message using
|
||||
* the full screen I/O system, if not, the information is printed to
|
||||
* the standard output using OUTSTD(). </par>
|
||||
* the standard output using OUTSTD().
|
||||
* $EXAMPLES$
|
||||
* LOCAL cMessage, aOptions, nChoice
|
||||
*
|
||||
@@ -270,21 +274,23 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is sensitive to HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
* settings. </par>
|
||||
* settings.
|
||||
*
|
||||
* ON: <xMessage> accept Character values only and return NIL if other
|
||||
* types are passed, </par>
|
||||
* types are passed,
|
||||
* OFF: <xMessage> could be any type, and internally converted to
|
||||
* Character string. If type is Array, multi-line message is
|
||||
* displayed. </par>
|
||||
* displayed.
|
||||
*
|
||||
* ON: Only the first four valid <aOptions> are taken. </par>
|
||||
* ON: Only the first four valid <aOptions> are taken.
|
||||
* OFF: <aOptions> could contain as many as needed options.
|
||||
*
|
||||
* <cColorNorm> is a Harbour extension, or at least un-documented
|
||||
* in Clipper 5.2 NG.
|
||||
*
|
||||
* <nDelay> is a Harbour extension.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* @...PROMPT,MENU TO,STDOUT(),__NONOALERT()
|
||||
* $END$
|
||||
@@ -300,21 +306,23 @@
|
||||
* $SYNTAX$
|
||||
* __NONOALERT() --> NIL
|
||||
* $ARGUMENTS$
|
||||
* This function takes no arguments. </par>
|
||||
* This function takes no arguments.
|
||||
* $RETURNS$
|
||||
* __NONOALERT() always return NIL. </par>
|
||||
* __NONOALERT() always return NIL.
|
||||
* $DESCRIPTION$
|
||||
* The //NOALERT command line switch cause Clipper to ignore calls to
|
||||
* the ALERT() function, this function override this behavior
|
||||
* and always display ALERT() dialog box. </par>
|
||||
* and always display ALERT() dialog box.
|
||||
* $EXAMPLES$
|
||||
* // make sure alert are been displayed
|
||||
* __NONOALERT()
|
||||
* </fixed>
|
||||
* $STATUS$
|
||||
* R
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $COMPLIANCE$
|
||||
* __NONOALERT() is an undocumented CA-Clipper function </par>
|
||||
* __NONOALERT() is an undocumented CA-Clipper function
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -330,12 +338,12 @@
|
||||
* $RETURNS$
|
||||
* <cString> A character string containing the character or characters required
|
||||
* to move the screen cursor or print head to the start of a new line.
|
||||
* The string will hold either CHR( 10 ) or CHR( 13 ) + CHR( 10 ). </par>
|
||||
* The string will hold either CHR( 10 ) or CHR( 13 ) + CHR( 10 ).
|
||||
* $DESCRIPTION$
|
||||
* Returns a character string containing the character or characters
|
||||
* required to move the screen cursor or print head to the start of a
|
||||
* new line for the operating system that the program is running on
|
||||
* (or thinks it is running on, if an OS emulator is being used). </par>
|
||||
* (or thinks it is running on, if an OS emulator is being used).
|
||||
* $EXAMPLES$
|
||||
* // Get the newline character(s) for the current OS using defaults.
|
||||
* STATIC s_cNewLine
|
||||
@@ -352,7 +360,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This is an add-on Operating System Tool function. </par>
|
||||
* This is an add-on Operating System Tool function.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* OS(),OUTSTD(),OUTERR()
|
||||
* $END$
|
||||
@@ -368,17 +378,18 @@
|
||||
* $SYNTAX$
|
||||
* hb_ColorIndex( <cColorSpec>, <nIndex> )
|
||||
* $ARGUMENTS$
|
||||
* <cColorSpec> is a Clipper color list </par>
|
||||
* <cColorSpec> is a Clipper color list
|
||||
*
|
||||
* <nIndex> is the position of the color item to be extracted, the first
|
||||
* position is the zero. </par>
|
||||
* position is the zero.
|
||||
* $RETURNS$
|
||||
* The selected color string, or if anything goes wrong, and empty
|
||||
* string </par>
|
||||
* string
|
||||
* $DESCRIPTION$
|
||||
* Clipper has a color spec string, which has more than one
|
||||
* color in it, separated with commas. This function is able to extract
|
||||
* a given item from this list. You may use the manifest constants
|
||||
* defined in color.ch to extract common Clipper colors. </par>
|
||||
* defined in color.ch to extract common Clipper colors.
|
||||
* $EXAMPLES$
|
||||
* ? hb_ColorIndex( "W/N, N/W", CLR_ENHANCED ) // "N/W"
|
||||
* </fixed>
|
||||
@@ -388,7 +399,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* Was not part of CA-Clipper. </par>
|
||||
* Was not part of CA-Clipper.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* ColorSelect()
|
||||
* $END$
|
||||
@@ -404,15 +417,17 @@
|
||||
* $SYNTAX$
|
||||
* DEVOUTPICT(<xExp>,<cPicture>[,<cColorString>]) --> NIL
|
||||
* $ARGUMENTS$
|
||||
* <xExp> is any valid expression. </par>
|
||||
* <cPicture> is any picture transformation that TRANSFORM() can use. </par>
|
||||
* <xExp> is any valid expression.
|
||||
*
|
||||
* <cPicture> is any picture transformation that TRANSFORM() can use.
|
||||
*
|
||||
* <cColorString> is an optional string that specifies a screen color to
|
||||
* use in place of the default color when the output goes to the screen. </par>
|
||||
* use in place of the default color when the output goes to the screen.
|
||||
* $RETURNS$
|
||||
* NIL </par>
|
||||
* NIL
|
||||
* $DESCRIPTION$
|
||||
* Outputs any expression using a picture transformation instead of
|
||||
* using the default transformation for the type of expression. </par>
|
||||
* using the default transformation for the type of expression.
|
||||
* $EXAMPLES$
|
||||
* // Output a negative dollar amount using debit notation.
|
||||
* DEVOUTPICT( -1.25, "@D$ 99,999.99 )
|
||||
@@ -426,7 +441,9 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* DEVOUTPICT() is mostly CA-Clipper compliant. Any differences are due
|
||||
* to enhancements in the Harbour TRANSFORM() over CA-Clipper. </par>
|
||||
* to enhancements in the Harbour TRANSFORM() over CA-Clipper.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* DEVOUT(),TRANSFORM()
|
||||
* $END$
|
||||
@@ -442,16 +459,18 @@
|
||||
* $SYNTAX$
|
||||
* __INPUT( <cMessage> ) --> <cString>
|
||||
* $ARGUMENTS$
|
||||
* <cMessage> is any valid expression. </par>
|
||||
* <cMessage> is any valid expression.
|
||||
* $RETURNS$
|
||||
* Macroed <cString> </par>
|
||||
* Macroed <cString>
|
||||
* $DESCRIPTION$
|
||||
* This function waits for a console input and returns macroed
|
||||
* expression entered. </par>
|
||||
* expression entered.
|
||||
* $STATUS$
|
||||
* S
|
||||
* $COMPLIANCE$
|
||||
* __INPUT() is fully CA-Clipper compliant. </par>
|
||||
* __INPUT() is fully CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* __WAIT(),__ACCEPT()
|
||||
* $END$
|
||||
@@ -469,19 +488,21 @@
|
||||
* $ARGUMENTS$
|
||||
* <cFile> is either "PRINTER" (note the uppercase) in which console
|
||||
* output is SET to PRINTER, or a name of a text file with a default
|
||||
* ".txt" extension, that is used to redirect console output. </par>
|
||||
* ".txt" extension, that is used to redirect console output.
|
||||
* $RETURNS$
|
||||
* __TextSave() always return NIL. </par>
|
||||
* __TextSave() always return NIL.
|
||||
* $DESCRIPTION$
|
||||
* __TextSave() is used in the preprocessing of the TEXT TO command to
|
||||
* redirect the console output while saving old settings that can be
|
||||
* restored later by __TextRestore(). </par>
|
||||
* restored later by __TextRestore().
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __TextSave() is an Undocumented CA-Clipper function </par>
|
||||
* __TextSave() is an Undocumented CA-Clipper function
|
||||
* $PLATFORMS$
|
||||
* ALL </par>
|
||||
* ALL
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* SET(),SET ALTERNATE,SET PRINTER,TEXT,__TextRestore()
|
||||
* $END$
|
||||
@@ -497,19 +518,21 @@
|
||||
* $SYNTAX$
|
||||
* __TextRestore() --> NIL
|
||||
* $ARGUMENTS$
|
||||
* none. </par>
|
||||
* none.
|
||||
* $RETURNS$
|
||||
* __TextRestore() always return NIL. </par>
|
||||
* __TextRestore() always return NIL.
|
||||
* $DESCRIPTION$
|
||||
* __TextRestore() is used in the preprocessing of the TEXT TO command
|
||||
* to restore console output settings that were previously saved by
|
||||
* __TextSave(). </par>
|
||||
* __TextSave().
|
||||
* $STATUS$
|
||||
R
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __TextRestore() is an Undocumented CA-Clipper function </par>
|
||||
* __TextRestore() is an Undocumented CA-Clipper function
|
||||
* $PLATFORMS$
|
||||
All </par>
|
||||
* All
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* SET(),SET ALTERNATE,SET PRINTER,TEXT,__TextSave()
|
||||
* $END$
|
||||
@@ -525,12 +548,12 @@
|
||||
* $SYNTAX$
|
||||
* __WAIT( <cMessage> ) --> <cKey>
|
||||
* $ARGUMENTS$
|
||||
* <cMessage> is a string. </par>
|
||||
* <cMessage> is a string.
|
||||
* $RETURNS$
|
||||
* Pressed key. </par>
|
||||
* Pressed key.
|
||||
* $DESCRIPTION$
|
||||
* This function stops the application until a key is pressed. The key
|
||||
* must be in the range 32..255. Control keys are not processed. </par>
|
||||
* must be in the range 32..255. Control keys are not processed.
|
||||
* $EXAMPLES$
|
||||
* // Wait for a key stroke
|
||||
* __Wait( "Press a key to continue" )
|
||||
@@ -543,7 +566,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* __WAIT() is fully CA-Clipper compliant. </par>
|
||||
* __WAIT() is fully CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* __ACCEPT(),__INPUT()
|
||||
* $END$
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
* $PLATFORMS$
|
||||
* All </par>
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* @...GET,@...PROMPT,MENU TO,READ,SET KEY,__AtPrompt(),__MenuTo()
|
||||
* $END$
|
||||
|
||||
@@ -24,9 +24,13 @@
|
||||
* LABEL FORM <cLabelName> [TO PRINTER] [TO FILE <cFile>] [<cScope>] [WHILE <bWhile> ] [FOR <bFor> ] [SAMPLE] [NOCONSOLE]
|
||||
* $ARGUMENTS$
|
||||
* <cLabelName> Name of label file </par>
|
||||
*
|
||||
* <cFile> Name of an alternate file </par>
|
||||
*
|
||||
* <cScope> Expression of a scoping condition </par>
|
||||
*
|
||||
* <bWhile> WHILE condition </par>
|
||||
*
|
||||
* <bFor> FOR condition </par>
|
||||
* $DESCRIPTION$
|
||||
* This command allows labels to be printed based on the format outlined in
|
||||
@@ -65,11 +69,15 @@
|
||||
* USE
|
||||
* RETURN NIL
|
||||
*
|
||||
* </fixed>
|
||||
*
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This command is CA-Clipper compliant. </par>
|
||||
* $PLATFORMS$
|
||||
* ALL </par>
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* REPORT FORM
|
||||
* $END$
|
||||
|
||||
@@ -23,24 +23,29 @@
|
||||
* $SYNTAX$
|
||||
* REPORT FORM <cReportName> [TO PRINTER] [TO FILE <cFile>] [<cScope>] [WHILE <bWhile> ] [FOR <bFor> ] [PLAIN |HEADING <cHeading>] [NOEJECT] [SUMMARY] [NOCONSOLE]
|
||||
* $ARGUMENTS$
|
||||
* <cReportName> Name of report file </par>
|
||||
* <cFile> Name of alternate file </par>
|
||||
* <cScope> Scope. </par>
|
||||
* <bWhile> Logical expression of WHILE condition . </par>
|
||||
* <bFor> Logical expression of FOR condition. </par>
|
||||
* <cHeading> Report heading </par>
|
||||
* <cReportName> Name of report file
|
||||
*
|
||||
* <cFile> Name of alternate file
|
||||
*
|
||||
* <cScope> Scope.
|
||||
*
|
||||
* <bWhile> Logical expression of WHILE condition .
|
||||
*
|
||||
* <bFor> Logical expression of FOR condition.
|
||||
*
|
||||
* <cHeading> Report heading
|
||||
* $RETURNS$
|
||||
* NIL </par>
|
||||
* NIL
|
||||
* $DESCRIPTION$
|
||||
* This command prints out the report named <cReportName>, which is a standard
|
||||
* FRM file. The file extension is not required because FRM will be assumed.
|
||||
* The SET PATH TO and SET DEFAULT TO commands affect the search for the file
|
||||
* <cReportName>; unless a drive and path are specified in <cReportName>, REPORT
|
||||
* will search the path specified in the SET PATH command if it cannot find the
|
||||
* report form in the current directory. </par>
|
||||
* report form in the current directory.
|
||||
|
||||
* The output of the report will be offset based on the setting of the SET MARGIN
|
||||
* TO value. </par>
|
||||
* TO value.
|
||||
|
||||
* By default, output will go to the console; however, it may be controlled via
|
||||
* either the TO PRINTER or TO FILE clause. If the output is to go to the file,
|
||||
@@ -49,49 +54,45 @@
|
||||
* <cScope> is the scope for this command. Valid scopes include NEXT <expN> (where
|
||||
* <expN> is tile number of records), RECORD <expN> (a specific record to be
|
||||
* displayed), REST (all records from the current record position), and ALL
|
||||
* (all records). The default is ALL. </par>
|
||||
* (all records). The default is ALL.
|
||||
|
||||
* Both logical expressions may work in conjuntion with one another, where <bFor>
|
||||
* is the logical expression for the FOR condition (for records to be displayed
|
||||
* within a given range) and <bWhile> for the WHILE condition (for records to be
|
||||
* displayed until the condition fails). </par>
|
||||
* displayed until the condition fails).
|
||||
|
||||
* If the PLAIN clause is specified, date and page numbers are suppressed. In
|
||||
* addition, there is no automatic page breaking, and the report title and
|
||||
* column headings appear only once at the top of the form. </par>
|
||||
* column headings appear only once at the top of the form.
|
||||
|
||||
* If the HEADING clause is used, <cHeading> is displayed on the first title
|
||||
* of each report page. The value of <cHeading> is evaluated only once before
|
||||
* executing the report; varying the values of <cHeading> is not allowed. The
|
||||
* PLAIN clause will take precedence over the HEADING clause if both are included. </par>
|
||||
* PLAIN clause will take precedence over the HEADING clause if both are included.
|
||||
|
||||
* If the NOEJECT clause is used, the initial page eject on the report will not be
|
||||
* issued when the output clause TO PRINTER is specified. Otherwise, this clause has
|
||||
* no effect. </par>
|
||||
* no effect.
|
||||
|
||||
* If the SUMMARY Clause is specified, the report will contain only groups, subgroups,
|
||||
* and grand total information. The detailed title item information will be ignored. </par>
|
||||
* and grand total information. The detailed title item information will be ignored.
|
||||
|
||||
* If the NOCONSOLE clause is specified,output to the console will be turned off
|
||||
* while this command is being executed. </par>
|
||||
* while this command is being executed.
|
||||
* $EXAMPLES$
|
||||
* FUNCTION() MAIN
|
||||
*
|
||||
* USE Test New
|
||||
*
|
||||
* Report FORM EE
|
||||
*
|
||||
* USE
|
||||
*
|
||||
* RETURN NIL
|
||||
|
||||
</fixed>
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This Command is CA-Clipper compliant. </par>
|
||||
* This Command is CA-Clipper compliant.
|
||||
* $PLATFORMS$
|
||||
* ALL </par>
|
||||
* ALL
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* LABEL FORM
|
||||
* $END$
|
||||
|
||||
@@ -31,24 +31,26 @@
|
||||
* $ARGUMENTS$
|
||||
* <variable_name> = either a string that contains the variable's name or
|
||||
* an one-dimensional array of strings with variable names
|
||||
* No skeleton are allowed here. </par>
|
||||
* No skeleton are allowed here.
|
||||
* $RETURNS$
|
||||
* Nothing </par>
|
||||
* Nothing
|
||||
* $DESCRIPTION$
|
||||
* This function can be called either by the harbour compiler or by user.
|
||||
* The compiler always passes the item of IT_SYMBOL type that stores the
|
||||
* name of variable. </par>
|
||||
* name of variable.
|
||||
* If a variable with the same name exists already then the new
|
||||
* variable is not created - the previous value remains unchanged. </par>
|
||||
* variable is not created - the previous value remains unchanged.
|
||||
* If it is first variable with this name then the variable is
|
||||
* initialized with .T. value. </par>
|
||||
* initialized with .T. value.
|
||||
* $EXAMPLES$
|
||||
* None Avaliable
|
||||
* </fixed>
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is a Harbour extension </par>
|
||||
* This function is a Harbour extension
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
*
|
||||
* $END$
|
||||
@@ -66,23 +68,25 @@
|
||||
* $ARGUMENTS$
|
||||
* <variable_name> = either a string that contains the variable's name or
|
||||
* an one-dimensional array of strings with variable names
|
||||
* No skeleton are allowed here. </par>
|
||||
* No skeleton are allowed here.
|
||||
* $RETURNS$
|
||||
* Nothing </par>
|
||||
* Nothing
|
||||
* $DESCRIPTION$
|
||||
* This function can be called either by the harbour compiler or by user.
|
||||
* The compiler always passes the item of IT_SYMBOL type that stores the
|
||||
* name of variable. </par>
|
||||
* name of variable.
|
||||
* If a variable with the same name exists already then the value of old
|
||||
* variable is hidden until the new variable is released. The new variable
|
||||
* is always initialized to NIL value. </par>
|
||||
* is always initialized to NIL value.
|
||||
* $EXAMPLES$
|
||||
* None Avaliable
|
||||
* </fixed>
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is a Harbour extension </par>
|
||||
* This function is a Harbour extension
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -98,21 +102,21 @@
|
||||
* $ARGUMENTS$
|
||||
* <variable_name> = either a string that contains the variable's name or
|
||||
* an one-dimensional array of strings with variable names
|
||||
* No skeleton are allowed here. </par>
|
||||
* No skeleton are allowed here.
|
||||
* $RETURNS$
|
||||
* Nothing </par>
|
||||
* Nothing
|
||||
* $DESCRIPTION$
|
||||
* This function releases values stored in memory variable. It shouldn't
|
||||
* be called directly, rather it should be placed into RELEASE command. </par>
|
||||
* be called directly, rather it should be placed into RELEASE command.
|
||||
* If the released variable is a PRIVATE variable then previously hidden
|
||||
* variable with the same name becomes visible after exit from the
|
||||
* procedure where released variable was created. If you access
|
||||
* the released variable in the same function/procedure where it
|
||||
* was created the the NIL value is returned. You can however assign
|
||||
* a new value to released variable without any side effects. </par>
|
||||
* a new value to released variable without any side effects.
|
||||
*
|
||||
* It releases variable even if this variable was created in different
|
||||
* procedure </par>
|
||||
* procedure
|
||||
* $EXAMPLES$
|
||||
*
|
||||
* PROCEDURE MAIN()
|
||||
@@ -139,8 +143,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is a Harbour extension </par>
|
||||
* $SEEALSO$
|
||||
* This function is a Harbour extension
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
*
|
||||
* $END$
|
||||
*/
|
||||
@@ -156,31 +161,31 @@
|
||||
* __MVRELEASE( <skeleton>, <include_exclude_flag> )
|
||||
* $ARGUMENTS$
|
||||
* <skeleton> = string that contains the wildcard mask for variables' names
|
||||
* that will be released. Supported wildcards: '*' and '?' </par>
|
||||
* that will be released. Supported wildcards: '*' and '?'
|
||||
* <include_exclude_flag> = logical value that specifies if variables
|
||||
* that match passed skeleton should be either included in deletion
|
||||
* (if .T.) or excluded from deletion (if .F.) </par>
|
||||
* (if .T.) or excluded from deletion (if .F.)
|
||||
* $RETURNS$
|
||||
* Nothing </par>
|
||||
* Nothing
|
||||
* $DESCRIPTION$
|
||||
* This function releases values stored in memory variables. It shouldn't
|
||||
* be called directly, it should be placed into RELEASE ALL command. </par>
|
||||
* be called directly, it should be placed into RELEASE ALL command.
|
||||
* If the released variable is a PRIVATE variable then previously hidden
|
||||
* variable with the same name becomes visible after exit from the
|
||||
* procedure where released variable was created. If you access
|
||||
* the released variable in the same function/procedure where it
|
||||
* was created the the NIL value is returned. You can however assign
|
||||
* a new value to released variable without any side effects.
|
||||
* PUBLIC variables are not changed by this function. </par>
|
||||
* PUBLIC variables are not changed by this function.
|
||||
* $EXAMPLES$
|
||||
* None Avaliable
|
||||
* </fixed>
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is a Harbour extension </par>
|
||||
* $SEEALSO$
|
||||
*
|
||||
* This function is a Harbour extension
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -194,18 +199,18 @@
|
||||
* $SYNTAX$
|
||||
* __MVSCOPE( <cVarName> )
|
||||
* $ARGUMENTS$
|
||||
* <cVarName> = a string with a variable name to check </par>
|
||||
* <cVarName> = a string with a variable name to check
|
||||
* $RETURNS$
|
||||
* The symbolic values are defined in include/hbmemvar.ch </par>
|
||||
* HB_MV_NOT_FOUND =variable is not declared (not found in symbol table) </par>
|
||||
* HB_MV_UNKNOWN =if variable doesn't exist (but found in symbol table) </par>
|
||||
* 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) </par>
|
||||
* HB_MV_PUBLIC =for public variables </par>
|
||||
* or argument error)
|
||||
* HB_MV_PUBLIC =for public variables
|
||||
* HB_MV_PRIVATE_GLOBAL =for private variables declared outside of current
|
||||
* function/procedure </par>
|
||||
* function/procedure
|
||||
* HB_MV_PRIVATE_LOCAL =for private variables declared in current
|
||||
* function/procedure </par>
|
||||
* function/procedure
|
||||
* $EXAMPLES$
|
||||
*
|
||||
* PROCEDURE MAIN()
|
||||
@@ -237,7 +242,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is a Harbour Extension </par>
|
||||
* This function is a Harbour Extension
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* include/hbmemvar.ch
|
||||
* $END$
|
||||
@@ -253,20 +260,24 @@
|
||||
* $SYNTAX$
|
||||
* __MVCLEAR()
|
||||
* $ARGUMENTS$
|
||||
* None </par>
|
||||
* None
|
||||
* $RETURNS$
|
||||
* Nothing </par>
|
||||
* Nothing
|
||||
* $DESCRIPTION$
|
||||
* This function releases all PRIVATE and PUBLIC variables. </par>
|
||||
* It is used to implement CLEAR MEMORY statement. </par>
|
||||
* This function releases all PRIVATE and PUBLIC variables.
|
||||
* It is used to implement CLEAR MEMORY statement.
|
||||
* The memory occupied by all visible variables are released - any
|
||||
* attempt to access the variable will result in a runtime error.
|
||||
* You have to reuse PRIVATE or PUBLIC statement to create again
|
||||
* the variable that was cleared by this function. </par>
|
||||
* the variable that was cleared by this function.
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is a Harbour extension </par>
|
||||
* This function is a Harbour extension
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* __MVPUBLIC()
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -281,35 +292,35 @@
|
||||
* __MVDBGINFO( <nScope> [, <nPosition> [, @<cVarName>] ] )
|
||||
* $ARGUMENTS$
|
||||
* <nScope> = the scope of variables for which an information is asked
|
||||
* Supported values (defined in hbmemvar.ch) </par>
|
||||
* HB_MV_PUBLIC </par>
|
||||
* HB_MV_PRIVATE (or any other value) </par>
|
||||
* Supported values (defined in hbmemvar.ch)
|
||||
* HB_MV_PUBLIC
|
||||
* HB_MV_PRIVATE (or any other value)
|
||||
* <nPosition> = the position of asked variable on the list of variables
|
||||
* with specified scope - it should start from position 1 </par>
|
||||
* with specified scope - it should start from position 1
|
||||
* <cVarName> = the value is filled with a variable name if passed by
|
||||
* reference and <nPosition> is specified </par>
|
||||
* reference and <nPosition> is specified
|
||||
* $RETURNS$
|
||||
* The return value depends on the number of arguments passed </par>
|
||||
* The return value depends on the number of arguments passed
|
||||
* $DESCRIPTION$
|
||||
* This function retrieves the information about memvar variables. </par>
|
||||
* This function retrieves the information about memvar variables.
|
||||
* It returns either the number of variables with given scope (when the
|
||||
* first argument is passed only) or a value of variable identified by its
|
||||
* position in the variables' list (when second argument is passed). </par>
|
||||
* position in the variables' list (when second argument is passed).
|
||||
* It also returns the name of a variable if optional third argument
|
||||
* is passed by reference. </par>
|
||||
* 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 "?" </par>
|
||||
* 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
|
||||
* variables are sorted in the creation order. </par>
|
||||
* variables are sorted in the creation order.
|
||||
*
|
||||
* Note: </par>
|
||||
* Note:
|
||||
* Due to dynamic nature of memvar variables there is no guarantee that
|
||||
* successive calls to retrieve the value of <Nth> PUBLIC variable will
|
||||
* return the value of the same variable. </par>
|
||||
* return the value of the same variable.
|
||||
* $EXAMPLES$
|
||||
*
|
||||
* #include <hbmemvar.ch>
|
||||
@@ -379,7 +390,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function should be called from the debugger only. </par>
|
||||
* This function should be called from the debugger only.
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -393,13 +406,13 @@
|
||||
* $SYNTAX$
|
||||
* __MVGET( <cVarName> ) --> <xVar>
|
||||
* $ARGUMENTS$
|
||||
* <cVarName> - string that specifies the name of variable </par>
|
||||
* <cVarName> - string that specifies the name of variable
|
||||
* $RETURNS$
|
||||
* <xVar> The value of variable </par>
|
||||
* <xVar> The value of variable
|
||||
* $DESCRIPTION$
|
||||
* This function returns the value of PRIVATE or PUBLIC variable if
|
||||
* this variable exists otherwise it generates a runtime error. </par>
|
||||
* The variable is specified by its name passed as the function parameter. </par>
|
||||
* this variable exists otherwise it generates a runtime error.
|
||||
* The variable is specified by its name passed as the function parameter.
|
||||
* $EXAMPLES$
|
||||
* FUNCTION MEMVARBLOCK( cMemvar )
|
||||
* RETURN {|x| IIF( PCOUNT()==0, __MVGET( cMemvar ),;
|
||||
@@ -408,9 +421,11 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is a Harbour extension </par>
|
||||
* This function is a Harbour extension
|
||||
* $SEEALSO$
|
||||
* __MVPUT()
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -424,17 +439,17 @@
|
||||
* $SYNTAX$
|
||||
* __MVGET( <cVarName> [, <xValue>] ) --> <xValue>
|
||||
* $ARGUMENTS$
|
||||
* <cVarName> - string that specifies the name of variable </par>
|
||||
* <cVarName> - string that specifies the name of variable
|
||||
* <xValue> - a value of any type that will be set - if it is not
|
||||
* specified then NIL is assumed </par>
|
||||
* specified then NIL is assumed
|
||||
* $RETURNS$
|
||||
* <xValue> A value assigned to the given variable. </par>
|
||||
* <xValue> A value assigned to the given variable.
|
||||
* $DESCRIPTION$
|
||||
* This function sets the value of PRIVATE or PUBLIC variable if
|
||||
* this variable exists otherwise it generates a runtime error.
|
||||
* The variable is specified by its name passed as the function
|
||||
* parameter. </par>
|
||||
* If a value is not specified then the NIL is assumed </par>
|
||||
* parameter.
|
||||
* If a value is not specified then the NIL is assumed
|
||||
* $EXAMPLES$
|
||||
* FUNCTION MEMVARBLOCK( cMemvar )
|
||||
* RETURN {|x| IIF( PCOUNT()==0, __MVGET( cMemvar ),;
|
||||
@@ -443,7 +458,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is a Harbour extension </par>
|
||||
* This function is a Harbour extension
|
||||
* $FILES$
|
||||
* Library is Vm.lib
|
||||
* $SEEALSO$
|
||||
* __MVPUT()
|
||||
* $END$
|
||||
@@ -459,9 +476,9 @@
|
||||
* $SYNTAX$
|
||||
* MEMVARBLOCK( <cMemvarName> ) --> <bBlock>
|
||||
* $ARGUMENTS$
|
||||
* <cMemvarName> - a string that contains the name of variable </par>
|
||||
* <cMemvarName> - a string that contains the name of variable
|
||||
* $RETURNS$
|
||||
* <bBlock> a codeblock that sets/get the value of variable </par>
|
||||
* <bBlock> a codeblock that sets/get the value of variable
|
||||
* $DESCRIPTION$
|
||||
* This function returns a codeblock that sets/gets the value of
|
||||
* PRIVATE or PUBLIC variable. When this codeblock is evaluated
|
||||
@@ -469,7 +486,7 @@
|
||||
* of given variable. If the second parameter is passed for
|
||||
* the codeblock evaluation then its value is used to set the new
|
||||
* value of given variable - the passed value is also returned
|
||||
* as a value of the codeblock evaluation. </par>
|
||||
* as a value of the codeblock evaluation.
|
||||
* $EXAMPLES$
|
||||
* PROCEDURE MAIN()
|
||||
* LOCAL cbSetGet
|
||||
@@ -484,9 +501,11 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* This function is Ca-Clipper compatible </par>
|
||||
* This function is Ca-Clipper compatible
|
||||
* $SEEALSO$
|
||||
* __MVGET(),__MVPUT()
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $END$
|
||||
*/
|
||||
|
||||
@@ -500,12 +519,12 @@
|
||||
* $SYNTAX$
|
||||
* FIELDBLOCK( <cFieldName> ) --> bFieldBlock
|
||||
* $ARGUMENTS$
|
||||
* <cFieldName> is a string that contain the field name. </par>
|
||||
* <cFieldName> is a string that contain the field name.
|
||||
* $RETURNS$
|
||||
* FIELDBLOCK() return a code block that when evaluate could retrieve
|
||||
* field value or assigning a new value to the field. If <cFieldName>
|
||||
* is not specified or from type other than character, FIELDBLOCK()
|
||||
* return NIL. </par>
|
||||
* return NIL.
|
||||
* $DESCRIPTION$
|
||||
* FIELDBLOCK() return a code block that sets/gets the value of field.
|
||||
* When this code block is evaluated without any parameters passed then
|
||||
@@ -513,10 +532,10 @@
|
||||
* is evaluated with a parameter, than its value is used to set a new
|
||||
* value to the field, this value is also return by the block. If the
|
||||
* block is evaluate and there is no field with the name <cFieldName>
|
||||
* in the current work area, the code block return NIL. </par>
|
||||
* in the current work area, the code block return NIL.
|
||||
*
|
||||
* Note that FIELDBLOCK() works on the current work area, if you need
|
||||
* a specific work area code block use FIELDWBLOCK() instead. </par>
|
||||
* a specific work area code block use FIELDWBLOCK() instead.
|
||||
* $EXAMPLES$
|
||||
* // open a file named Test that have a field named "name"
|
||||
* LOCAL bField
|
||||
@@ -530,9 +549,11 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* If the block is evaluate and there is no field with the name
|
||||
* <cFieldName> in the current work area, the code block return NIL. </par>
|
||||
* <cFieldName> in the current work area, the code block return NIL.
|
||||
*
|
||||
* CA-Clipper would raise BASE/1003 error if the field does not exist. </par>
|
||||
* CA-Clipper would raise BASE/1003 error if the field does not exist.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* EVAL(),FIELDWBLOCK(),MEMVARBLOCK()
|
||||
* $END$
|
||||
@@ -548,15 +569,15 @@
|
||||
* $SYNTAX$
|
||||
* FIELDWBLOCK( <cFieldName>, <nWorkArea> ) --> bFieldBlock
|
||||
* $ARGUMENTS$
|
||||
* <cFieldName> is a string that contain the field name. </par>
|
||||
* <cFieldName> is a string that contain the field name.
|
||||
*
|
||||
* <nWorkArea> is the work area number in which <cFieldName> exist. </par>
|
||||
* <nWorkArea> is the work area number in which <cFieldName> exist.
|
||||
* $RETURNS$
|
||||
* FIELDWBLOCK() return a code block that when evaluate could retrieve
|
||||
* field value or assigning a new value for a field in a given work
|
||||
* area. If <cFieldName> is not specified or from type other than
|
||||
* character, or if <nWorkArea> is not specified or is not numeric
|
||||
* FIELDWBLOCK() return NIL. </par>
|
||||
* FIELDWBLOCK() return NIL.
|
||||
* $DESCRIPTION$
|
||||
* FIELDWBLOCK() return a code block that sets/gets the value of field
|
||||
* from a given work area. When this code block is evaluated without
|
||||
@@ -565,7 +586,7 @@
|
||||
* value is used to set a new value to the field, this value is also
|
||||
* return by the block. If the block is evaluate and there is no field
|
||||
* with the name <cFieldName> in work area number <nWorkArea>, the code
|
||||
* block return NIL. </par>
|
||||
* block return NIL.
|
||||
* $EXAMPLES$
|
||||
* LOCAL bField
|
||||
* // this block work on the field "name" that exist on work area 2
|
||||
@@ -588,9 +609,11 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* If the block is evaluate and there is no field with the name
|
||||
* <cFieldName> in the given work area, the code block return NIL. </par>
|
||||
* <cFieldName> in the given work area, the code block return NIL.
|
||||
*
|
||||
* CA-Clipper would raise BASE/1003 error if the field does not exist. </par>
|
||||
* CA-Clipper would raise BASE/1003 error if the field does not exist.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* EVAL(),FIELDBLOCK(),MEMVARBLOCK()
|
||||
* $END$
|
||||
@@ -604,23 +627,27 @@
|
||||
* $ONELINER$
|
||||
* Retrieves the type of an expression
|
||||
* $SYNTAX$
|
||||
* TYPE( <cExp> ) --> <cReturnType>
|
||||
* TYPE( <cExp> ) --> <cRetType>
|
||||
* $ARGUMENTS$
|
||||
* <cExp> must be a character expression. </par>
|
||||
* <cExp> must be a character expression.
|
||||
* $RETURNS$
|
||||
* <cReturnType> a string indicating the type of the passed expression. </par>
|
||||
* <cRetType> a string indicating the type of the passed expression.
|
||||
*
|
||||
* "A" - array </par>
|
||||
* "B" - block </par>
|
||||
* "C" - string </par>
|
||||
* "D" - date </par>
|
||||
* "L" - logical </par>
|
||||
* "M" - memo </par>
|
||||
* "N" - numeric </par>
|
||||
* "O" - object </par>
|
||||
* "U" - NIL, local, or static variable, or not linked-in function </par>
|
||||
* "UE" - syntax error in the expression or invalid arguments </par>
|
||||
* "UI" - function with non-reserved name was requested </par>
|
||||
* <table>
|
||||
* <cRetType> Meaning
|
||||
*
|
||||
* "A" array
|
||||
* "B" block
|
||||
* "C" string
|
||||
* "D" date
|
||||
* "L" logical
|
||||
* "M" memo
|
||||
* "N" numeric
|
||||
* "O" object
|
||||
* "U" NIL, local, or static variable, or not linked-in function
|
||||
* "UE" syntax error in the expression or invalid arguments
|
||||
* "UI" function with non-reserved name was requested
|
||||
* </table>
|
||||
* $DESCRIPTION$
|
||||
* This function returns a string which represents the data type
|
||||
* of the argument. The argument can be any valid Harbour expression.
|
||||
@@ -629,18 +656,18 @@
|
||||
* is returned (in other words there is no call for passed UDF function
|
||||
* during a data type determination - this is Clipper compatible
|
||||
* behavior). Additionally if requested user defined function is not
|
||||
* linked into executable then "U" is returned. </par>
|
||||
* linked into executable then "U" is returned.
|
||||
*
|
||||
* The data type of expression is checked by invoking a macro compiler
|
||||
* and by evaluation of generated code (if there is no syntax errors).
|
||||
* This causes that TYPE() cannot determine a type of local or static
|
||||
* variables - only symbols visible at runtime can be checked. </par>
|
||||
* variables - only symbols visible at runtime can be checked.
|
||||
*
|
||||
* Notice the subtle difference between TYPE and VALTYPE functions.
|
||||
* VALTYPE() function doesn't call a macro compiler - it simply checks
|
||||
* the type of passed argument of any type. TYPE() requires a string
|
||||
* argument with a valid Harbour expression - the data type of this
|
||||
* expression is returned. </par>
|
||||
* expression is returned.
|
||||
* $EXAMPLES$
|
||||
* ? TYPE( "{ 1, 2 }" ) //prints "A"
|
||||
* ? TYPE( "IIF(.T., SUBSTR('TYPE',2,1), .F.)" ) //prints "C"
|
||||
@@ -667,18 +694,20 @@
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
*
|
||||
* - Incompatibility with Clipper: </par>
|
||||
* In the following code: </par>
|
||||
* - Incompatibility with Clipper:
|
||||
* In the following code:
|
||||
*
|
||||
* PRIVATE lCond := 0 </par>
|
||||
* ? TYPE( "IIF( lCond, 'true', MyUDF() )" ) </par>
|
||||
* PRIVATE lCond := 0
|
||||
* ? TYPE( "IIF( lCond, 'true', MyUDF() )" )
|
||||
*
|
||||
* Clipper will print "UE" - in Harbour the output will be "UI" </par>
|
||||
* Clipper will print "UE" - in Harbour the output will be "UI"
|
||||
*
|
||||
* - if "UI" is returned then the syntax of the expression is
|
||||
* correct. However invalid arguments can be passed to
|
||||
* function/procedure that will cause runtime errors during
|
||||
* evaluation of expression. </par>
|
||||
* evaluation of expression.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* VALTYPE()
|
||||
* $END$
|
||||
@@ -694,12 +723,12 @@
|
||||
* $SYNTAX$
|
||||
* VALTYPE( <xExp> ) --> <cReturnType>
|
||||
* $ARGUMENTS$
|
||||
* <xExp> is any valid expression. </par>
|
||||
* <xExp> is any valid expression.
|
||||
* $RETURNS$
|
||||
* <cReturnType> a character indicating the type of the passed expression. </par>
|
||||
* <cReturnType> a character indicating the type of the passed expression.
|
||||
* $DESCRIPTION$
|
||||
* This function returns one character which represents the date type
|
||||
* of the argument. </par>
|
||||
* of the argument.
|
||||
* $EXAMPLES$
|
||||
* See Test
|
||||
* </fixed>
|
||||
@@ -718,7 +747,9 @@
|
||||
* $STATUS$
|
||||
* R
|
||||
* $COMPLIANCE$
|
||||
* VALTYPE() is fully CA-Clipper compliant. </par>
|
||||
* VALTYPE() is fully CA-Clipper compliant.
|
||||
* $FILES$
|
||||
* Library is Rtl.lib
|
||||
* $SEEALSO$
|
||||
* TYPE()
|
||||
* $END$
|
||||
|
||||
@@ -462,7 +462,7 @@ FUNCTION ProcessWww()
|
||||
* oHtm:WritePar( "" )
|
||||
ENDIF
|
||||
oHtm:WriteParBold( " Examples" )
|
||||
oHtm:WriteText("<DD><PRE>")
|
||||
oHtm:WriteText("<PRE>")
|
||||
nMode := D_EXAMPLE
|
||||
lAddBlank := .T.
|
||||
lAddEndPreTag:=.T.
|
||||
@@ -835,6 +835,8 @@ local npos,nposend
|
||||
cOldLine := LEFT( cReturn, nPos - 1 )
|
||||
cReturn := STRTRAN( cReturn, cOldLine, "" )
|
||||
IF AT( "@", cOldLine ) > 0 .OR. AT( "()", cOldLine ) > 0 .OR. AT( "<", cOldLine ) > 0 .OR. AT( "_", cOldLine ) > 0
|
||||
cOldLine:=STRTRAN(cOldLine,"<","<")
|
||||
cOldLine:=STRTRAN(cOldLine,">",">")
|
||||
lArgBold := .T.
|
||||
ENDIF
|
||||
ENDIF
|
||||
@@ -918,7 +920,7 @@ if at('<par>',cBuffer)==0 .and. !empty(cBuffer) .and. cstyle<>"Example"
|
||||
endif
|
||||
|
||||
if empty(cBuffer)
|
||||
oHtm:WriteText("<br>")
|
||||
oHtm:WriteText("<dd><br></dd>")
|
||||
endif
|
||||
|
||||
if cStyle<>"Example" .and. at("<table>",cBuffer)==0 .and. AT("<fixed>",cBuffer)=0
|
||||
@@ -937,6 +939,10 @@ if cStyle<>"Example" .and. at("<table>",cBuffer)==0 .and. AT("<fixed>",cBuffer)=
|
||||
cReturn:=STRTRAN(cReturn,cOldLine,"")
|
||||
IF AT( "@", cOldLine ) > 0 .OR. AT( "()", cOldLine ) > 0 .OR. AT( "<", cOldLine ) > 0 .OR. AT( "_", cOldLine ) > 0
|
||||
lArgBold := .T.
|
||||
cOldLine:=STRTRAN(cOldLine,"<","<")
|
||||
cOldLine:=STRTRAN(cOldLine,">",">")
|
||||
|
||||
|
||||
ENDIF
|
||||
if lArgBold
|
||||
cReturn:=' <par><b>'+cOldLine+'</b> '+cReturn+' </par>'
|
||||
@@ -1011,7 +1017,8 @@ If AT('<fixed>',cBuffer)>0 .or. cStyle="Example"
|
||||
IF AT( '<fixed>', cBuffer ) = 0 .OR. !EMPTY( cBuffer )
|
||||
cBuffer := STRTRAN( cBuffer, "<par>", "" )
|
||||
cBuffer := STRTRAN( cBuffer, "<fixed>", "" )
|
||||
|
||||
|
||||
oHtm:WriteText("<br>")
|
||||
oHtm:WritePar( cBuffer )
|
||||
ENDIF
|
||||
DO WHILE !lendFixed
|
||||
@@ -1032,7 +1039,7 @@ If AT('<fixed>',cBuffer)>0 .or. cStyle="Example"
|
||||
oHtm:WritePar( cOldLine )
|
||||
ENDIF
|
||||
ENDDO
|
||||
|
||||
oHtm:WriteText( "</pre><br>")
|
||||
end
|
||||
if AT('<table>',cBuffer)>0
|
||||
do while !lendTable
|
||||
@@ -1074,6 +1081,16 @@ Local nPos,cItem,cItem2,cItem3,nColorpos,cColor,cItem4
|
||||
nColorpos:=ASCAn(aColorTable,{|x,y| upper(x)==upper(ccolor)})
|
||||
cColor:=aColortable[nColorPos]
|
||||
Endif
|
||||
if empty(cBuffer)
|
||||
citem:=''
|
||||
citem2:=''
|
||||
citem3:=''
|
||||
citem4:=''
|
||||
else
|
||||
cBuffer:=STRTRAN(cBuffer,"<","<")
|
||||
cBuffer:=STRTRAN(cBuffer,">",">")
|
||||
|
||||
|
||||
cItem := SUBSTR( cBuffer, 1, AT( SPACE( 3 ), cBuffer ) - 1 )
|
||||
cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem, "" ) )
|
||||
if nNum==2
|
||||
@@ -1090,7 +1107,7 @@ Local nPos,cItem,cItem2,cItem3,nColorpos,cColor,cItem4
|
||||
cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem3, "" ) )
|
||||
cItem4 := SUBSTR( cBuffer, 1 )
|
||||
ENDIF
|
||||
|
||||
endif
|
||||
if cColor<>NIL
|
||||
AADD(afiTable,"<Font color="+ccolor+">"+rtrim(ltrim(cItem))+'</font>')
|
||||
AADD(asiTable,"<Font color="+ccolor+">"+cItem2+'</font>')
|
||||
@@ -1099,21 +1116,19 @@ Local nPos,cItem,cItem2,cItem3,nColorpos,cColor,cItem4
|
||||
AADD(asiTable,cItem2)
|
||||
endif
|
||||
|
||||
IF !EMPTY( cItem3 )
|
||||
|
||||
if cColor <>NIL
|
||||
AADD(atiTable,"<Font color="+ccolor+">"+cItem3+'</font>')
|
||||
ELSE
|
||||
AADD( atiTable, cItem3 )
|
||||
Endif
|
||||
ENDIF
|
||||
IF !EMPTY( cItem4 )
|
||||
if cColor <>NIL
|
||||
AADD(afoiTable,"<Font color="+ccolor+">"+cItem4+'</font>')
|
||||
ELSE
|
||||
AADD( afoiTable, cItem4 )
|
||||
Endif
|
||||
|
||||
ENDIF
|
||||
|
||||
|
||||
Return Nil
|
||||
Function GenhtmTable(oHtm)
|
||||
@@ -1123,13 +1138,17 @@ LOCAL x
|
||||
oHtm:WriteText('<table border=1>') //-4
|
||||
|
||||
FOR x:=1 to len(asitable)
|
||||
if nNumTableItems ==2
|
||||
oHtm:WriteText('<tr><td><pre>'+afitable[x]+'</td><td><pre>' +asitable[x]+'</td></tr> ')
|
||||
elseif nNumTableItems ==3
|
||||
oHtm:WriteText('<tr><td><pre>'+afitable[x]+'</td><td><pre>' +asitable[x]+'</td><td><pre>'+atitable[x]+'</td></tr> ')
|
||||
elseif nNumTableItems ==4
|
||||
oHtm:WriteText('<tr><td><pre>'+afitable[x]+'</td><td><pre>' +asitable[x]+'</td><td><pre>'+atitable[x]+'</td><td><pre>'+afoitable[x]+'</td></tr> ')
|
||||
Endif
|
||||
If !empty(asitable[x])
|
||||
if nNumTableItems ==2
|
||||
oHtm:WriteText('<tr><td>'+afitable[x]+'</td><td>' +asitable[x]+'</td></tr> ')
|
||||
elseif nNumTableItems ==3
|
||||
oHtm:WriteText('<tr><td>'+afitable[x]+'</td><td>' +asitable[x]+'</td><td>'+atitable[x]+'</td></tr> ')
|
||||
elseif nNumTableItems ==4
|
||||
oHtm:WriteText('<tr><td>'+afitable[x]+'</td><td>' +asitable[x]+'</td><td>'+atitable[x]+'</td><td>'+afoitable[x]+'</td></tr> ')
|
||||
Endif
|
||||
Else
|
||||
oHtm:WriteText('<tr><td></td></tr> ')
|
||||
endif
|
||||
Next
|
||||
|
||||
oHtm:Writetext("</table>")
|
||||
@@ -1137,6 +1156,9 @@ Next
|
||||
oHtm:WriteText("<br>")
|
||||
afiTable:={}
|
||||
asitable:={}
|
||||
atitable := {}
|
||||
afoitable := {}
|
||||
|
||||
Return Nil
|
||||
|
||||
|
||||
|
||||
@@ -897,6 +897,7 @@ FUNCTION GenNgTable( oNgi )
|
||||
LOCAL nPos
|
||||
LOCAL aLensFItem := {}
|
||||
LOCAL aLensSItem := {}
|
||||
LOCAL cMaxItem := ''
|
||||
LOCAL nmax3
|
||||
LOCAL nmax4
|
||||
LOCAL npos3
|
||||
@@ -905,49 +906,48 @@ FUNCTION GenNgTable( oNgi )
|
||||
LOCAL nSpace4
|
||||
LOCAL aLensTItem := {}
|
||||
LOCAL aLensfoItem := {}
|
||||
|
||||
LOCAL nLen
|
||||
FOR X := 1 TO LEN( afitable )
|
||||
IF AT( "^", afitable[ x ] ) > 0
|
||||
AADD( aLenssItem, LEN( SUBSTR( STRTRAN( afitable[ x ], "^n", "" ), 5 ) ) )
|
||||
ELSE
|
||||
if !empty(afiTable[ x ] )
|
||||
AADD( aLensFItem, LEN( afiTable[ x ] ) )
|
||||
ENDIF
|
||||
end
|
||||
NEXT
|
||||
FOR X := 1 TO LEN( asiTable )
|
||||
IF AT( "^", asitable[ x ] ) > 0
|
||||
AADD( aLenssItem, LEN( SUBSTR( STRTRAN( asitable[ x ], "^n", "" ), 5 ) ) )
|
||||
ELSE
|
||||
if !empty(asiTable[ x ] )
|
||||
AADD( aLensSItem, LEN( asiTable[ x ] ) )
|
||||
ENDIF
|
||||
end
|
||||
NEXT
|
||||
IF LEN( afoitable ) > 0
|
||||
|
||||
FOR X := 1 TO LEN( afoitable )
|
||||
IF AT( "^", afoitable[ x ] ) > 0
|
||||
AADD( aLensfoItem, LEN( SUBSTR( STRTRAN( afoitable[ x ], "^n", "" ), 5 ) ) )
|
||||
ELSE
|
||||
if !empty(afoiTable[ x ] )
|
||||
AADD( aLensfoItem, LEN( afoiTable[ x ] ) )
|
||||
ENDIF
|
||||
end
|
||||
NEXT
|
||||
ENDIF
|
||||
IF LEN( atitable ) > 0
|
||||
FOR X := 1 TO LEN( atitable )
|
||||
IF AT( "^", atitable[ x ] ) > 0
|
||||
AADD( aLenstItem, LEN( SUBSTR( STRTRAN( atitable[ x ], "^n", "" ), 5 ) ) )
|
||||
ELSE
|
||||
if !empty( atiTable[ x ] )
|
||||
AADD( aLenstItem, LEN( atiTable[ x ] ) )
|
||||
ENDIF
|
||||
end
|
||||
NEXT
|
||||
ENDIF
|
||||
|
||||
ASORT( aLensFItem,,, { | x, y | x > y } )
|
||||
ASORT( aLensSItem,,, { | x, y | x > y } )
|
||||
IF LEN( afoitable ) > 0
|
||||
IF LEN( afoitable ) > 0 .and. nNumTableItems == 4
|
||||
ASORT( alenstitem,,, { | x, y | x > y } )
|
||||
nmax3 := alenstitem[ 1 ]
|
||||
npos := maxelem( atitable )
|
||||
nPos3 := ASCAN( alenstitem, { | x | x == nPos } )
|
||||
|
||||
|
||||
ASORT( aLensFoItem,,, { | x, y | x > y } )
|
||||
nmax4 := alensfoitem[ 1 ]
|
||||
nPos := maxelem( afoitable )
|
||||
nPos4 := ASCAN( alensfoitem, { | x | x == nPos } )
|
||||
ENDIF
|
||||
IF LEN( atitable ) > 0
|
||||
IF LEN( atitable ) > 0 .and. nNumTableItems == 3
|
||||
ASORT( alenstitem,,, { | x, y | x > y } )
|
||||
nmax3 := alenstitem[ 1 ]
|
||||
npos := maxelem( atitable )
|
||||
@@ -955,54 +955,114 @@ FUNCTION GenNgTable( oNgi )
|
||||
|
||||
ENDIF
|
||||
|
||||
nMax := alenssitem[ 1 ]
|
||||
nMax:=aLenssItem[1]
|
||||
nPos := maxelem( asitable )
|
||||
nPos1 := ASCAN( aLenssItem, { | x | x == nPos } )
|
||||
|
||||
oNgi:WritePar( "" )
|
||||
// nMax2:=checkcar(aTable,1)+1
|
||||
nMax2 := alensfitem[ 1 ]
|
||||
nPos := maxelem( afitable )
|
||||
nPos2 := ASCAN( alensfitem, { | x | x == nPos } )
|
||||
|
||||
IF nNumTableItems == 2
|
||||
oNgi:WritePar( "É" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Ë" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "»", .F. ) //-4
|
||||
cMaxItem:=' '+"É" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Ë" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "»"
|
||||
if LEN(cMaxItem)<76
|
||||
oNgi:WritePar(" É" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Ë" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "»", .F. ) //-4
|
||||
Else
|
||||
oNgi:WritePar( "É" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Ë" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "»", .F. ) //-4
|
||||
Endif
|
||||
ELSEIF nNumTableItems == 3
|
||||
cMaxItem:=' '+"É" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Ë" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "Ë" + REPL( "Í", alensTitem[ nPos3 ] + 2 ) + "»"
|
||||
if LEN(cMaxItem)<76
|
||||
oNgi:WritePar( " É"+ REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Ë" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "Ë" + REPL( "Í", alensTitem[ nPos3 ] + 2 ) + "»", .F. ) //-4
|
||||
else
|
||||
oNgi:WritePar( "É" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Ë" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "Ë" + REPL( "Í", alensTitem[ nPos3 ] + 2 ) + "»", .F. ) //-4
|
||||
endif
|
||||
ELSEIF nNumTableItems == 4
|
||||
oNgi:WritePar( "É" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Ë" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "Ë" + REPL( "Í", alensTitem[ nPos3 ] + 2 ) + "Ë" + REPL( "Í", alensfoitem[ nPos4 ] + 2 ) + "»", .F. ) //-4
|
||||
cMaxItem:=' '+"É" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Ë" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "Ë" + REPL( "Í", alensTitem[ nPos3 ] + 2 ) + "Ë" + REPL( "Í", alensfoitem[ nPos4 ] + 2 ) + "»"
|
||||
if LEN(cMaxItem)<76
|
||||
oNgi:WritePar( " É" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Ë" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "Ë" + REPL( "Í", alensTitem[ nPos3 ] + 2 ) + "Ë" + REPL( "Í", alensfoitem[ nPos4 ] + 2 ) + "»", .F. ) //-4
|
||||
else
|
||||
oNgi:WritePar( "É" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Ë" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "Ë" + REPL( "Í", alensTitem[ nPos3 ] + 2 ) + "Ë" + REPL( "Í", alensfoitem[ nPos4 ] + 2 ) + "»", .F. ) //-4
|
||||
endif
|
||||
ENDIF
|
||||
FOR x := 1 TO LEN( asitable )
|
||||
if !empty(asitable[x])
|
||||
nSpace := nMax - LEN( asitable[ x ] )
|
||||
nSpace2 := nMax2 - LEN( afitable[ x ] )
|
||||
|
||||
IF nNumTableItems == 2
|
||||
if len(cMaxItem)<76
|
||||
oNgi:WriteParBox( " º " + afiTable[ x ] + SPACE( nSpace2 ) + " º " + IF( asiTable[ x ] == "|", STRTRAN( asiTable[ x ], "|", " " ), asiTable[ x ] ) + SPACE( nspace ) + " º" + HB_OSNEWLINE() )
|
||||
else
|
||||
oNgi:WriteParBox( "º " + afiTable[ x ] + SPACE( nSpace2 ) + " º " + IF( asiTable[ x ] == "|", STRTRAN( asiTable[ x ], "|", " " ), asiTable[ x ] ) + SPACE( nspace ) + " º" + HB_OSNEWLINE() )
|
||||
if x<> len(aSiTable)
|
||||
oNgi:WritePar( "Ì" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Î" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "¹")
|
||||
Endif
|
||||
endif
|
||||
ELSEIF nNumTableItems == 3
|
||||
nSpace3 := nMax3 - LEN( atitable[ x ] )
|
||||
if len(cMaxItem)<76
|
||||
oNgi:WriteParBox( " º " + afiTable[ x ] + SPACE( nSpace2 ) + " º " + IF( asiTable[ x ] == "|", STRTRAN( asiTable[ x ], "|", " " ), asiTable[ x ] ) + SPACE( nspace ) + " º " + atiTable[ x ] + SPACE( nspace3 ) + " º" + HB_OSNEWLINE() )
|
||||
else
|
||||
oNgi:WriteParBox( "º " + afiTable[ x ] + SPACE( nSpace2 ) + " º " + IF( asiTable[ x ] == "|", STRTRAN( asiTable[ x ], "|", " " ), asiTable[ x ] ) + SPACE( nspace ) + " º " + atiTable[ x ] + SPACE( nspace3 ) + " º" + HB_OSNEWLINE() )
|
||||
if x<> len(aSiTable)
|
||||
oNgi:WritePar( "Ì" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Î" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "Î" + REPL( "Í", alensTitem[ nPos3 ] + 2 ) + "¹", .F. ) //-4
|
||||
endif
|
||||
ELSEIF nNumTableItems == 4
|
||||
nSpace3 := nMax3 - LEN( atitable[ x ] )
|
||||
nSpace4 := nMax4 - LEN( afoitable[ x ] )
|
||||
if len(cMaxItem)<76
|
||||
oNgi:WriteParBox( " º " + afiTable[ x ] + SPACE( nSpace2 ) + " º " + IF( asiTable[ x ] == "|", STRTRAN( asiTable[ x ], "|", " " ), asiTable[ x ] ) + SPACE( nspace ) + " º " + atiTable[ x ] + SPACE( nspace3 ) + " º " + afoiTable[ x ] + SPACE( nspace4 ) + " º" + HB_OSNEWLINE() )
|
||||
else
|
||||
oNgi:WriteParBox( "º " + afiTable[ x ] + SPACE( nSpace2 ) + " º " + IF( asiTable[ x ] == "|", STRTRAN( asiTable[ x ], "|", " " ), asiTable[ x ] ) + SPACE( nspace ) + " º " + atiTable[ x ] + SPACE( nspace3 ) + " º " + afoiTable[ x ] + SPACE( nspace4 ) + " º" + HB_OSNEWLINE() )
|
||||
if x<> len(aSiTable)
|
||||
oNgi:WritePar( "Ì" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Î" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "Î" + REPL( "Í", alensTitem[ nPos3 ] + 2 ) + "Î" + REPL( "Í", alensfoitem[ nPos4 ] + 2 ) + "¹", .F. ) //-4
|
||||
endif
|
||||
ENDIF
|
||||
ELSE
|
||||
IF nNumTableItems == 2
|
||||
if len(cMaxItem)<76
|
||||
oNgi:WritePar( " Ì" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Î" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "¹", .F. )
|
||||
else
|
||||
oNgi:WritePar( "Ì" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Î" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "¹", .F. )
|
||||
endif
|
||||
ELSEIF nNumTableItems == 3
|
||||
if len(cMaxItem)<76
|
||||
oNgi:WritePar( " Ì" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Î" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "Î" + REPL( "Í", alensTitem[ nPos3 ] + 2 ) + "¹", .F. ) //-4
|
||||
else
|
||||
oNgi:WritePar( "Ì" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Î" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "Î" + REPL( "Í", alensTitem[ nPos3 ] + 2 ) + "¹", .F. ) //-4
|
||||
endif
|
||||
|
||||
ELSEIF nNumTableItems == 4
|
||||
if len(cMaxItem)<76
|
||||
oNgi:WritePar( " Ì" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Î" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "Î" + REPL( "Í", alensTitem[ nPos3 ] + 2 ) + "Î" + REPL( "Í", alensfoitem[ nPos4 ] + 2 ) + "¹", .F. ) //-4
|
||||
else
|
||||
oNgi:WritePar( "Ì" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Î" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "Î" + REPL( "Í", alensTitem[ nPos3 ] + 2 ) + "Î" + REPL( "Í", alensfoitem[ nPos4 ] + 2 ) + "¹", .F. ) //-4
|
||||
endif
|
||||
|
||||
ENDIF
|
||||
|
||||
Endif
|
||||
NEXT
|
||||
|
||||
IF nNumTableItems == 2
|
||||
if len(cMaxItem)<76
|
||||
oNgi:WritePar( " È" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Ê" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "¼", .F. ) //-4
|
||||
else
|
||||
oNgi:WritePar( "È" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Ê" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "¼", .F. ) //-4
|
||||
endif
|
||||
|
||||
ELSEIF nNumTableItems == 3
|
||||
oNgi:WritePar( "È" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Ê" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "Ê" + REPL( "Í", alensTitem[ nPos3 ] + 2 ) + "¼", .F. ) //-4
|
||||
if len(cMaxItem)<76
|
||||
|
||||
oNgi:WritePar( " È" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Ê" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "Ê" + REPL( "Í", alensTitem[ nPos3 ] + 2 ) +"¼", .F. ) //-4
|
||||
else
|
||||
oNgi:WritePar( " È" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Ê" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "Ê" + REPL( "Í", alensTitem[ nPos3 ] + 2 )+ "¼", .F. ) //-4
|
||||
endif
|
||||
|
||||
ELSEIF nNumTableItems == 4
|
||||
if len(cMaxItem)<76
|
||||
oNgi:WritePar( " È" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Ê" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "Ê" + REPL( "Í", alensTitem[ nPos3 ] + 2 ) + "Ê" + REPL( "Í", alensfoitem[ nPos4 ] + 2 ) + "¼", .F. ) //-4
|
||||
else
|
||||
oNgi:WritePar( "È" + REPL( "Í", aLensFitem[ nPos2 ] + 2 ) + "Ê" + REPL( "Í", alensSitem[ nPos1 ] + 2 ) + "Ê" + REPL( "Í", alensTitem[ nPos3 ] + 2 ) + "Ê" + REPL( "Í", alensfoitem[ nPos4 ] + 2 ) + "¼", .F. ) //-4
|
||||
endif
|
||||
ENDIF
|
||||
|
||||
|
||||
oNgi:WritePar( "" )
|
||||
afiTable := {}
|
||||
asitable := {}
|
||||
@@ -1044,16 +1104,32 @@ FUNCTION ProcNgTable( cBuffer, nNum )
|
||||
nColorpos := ASCAN( aColorTable, { | x, y | UPPER( x[ 1 ] ) == UPPER( ccolor ) } )
|
||||
cColor := aColortable[ nColorPos, 2 ]
|
||||
ENDIF
|
||||
cItem := SUBSTR( cBuffer, 1, AT( SPACE( 3 ), cBuffer ) - 1 )
|
||||
cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem, "" ) )
|
||||
/*
|
||||
If !empty(cBuffer)
|
||||
cItem := SUBSTR( cBuffer, 1, AT( SPACE( 3 ), cBuffer ) - 1 )
|
||||
cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem, "" ) )
|
||||
else
|
||||
citem:=''
|
||||
endif
|
||||
|
||||
if nNum==2
|
||||
If !empty(cBuffer)
|
||||
cItem2 := SUBSTR( cBuffer, 1 )
|
||||
else
|
||||
citem2:=''
|
||||
endif
|
||||
elseif nNum ==3
|
||||
If !empty(cBuffer)
|
||||
cItem2 := SUBSTR( cBuffer, 1, AT( SPACE( 3 ), cBuffer ) - 1 )
|
||||
cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem2, "" ) )
|
||||
cItem3 := SUBSTR( cBuffer, 1 )
|
||||
else
|
||||
citem2:=''
|
||||
citem3:=''
|
||||
endif
|
||||
|
||||
ELSEIF nNum > 3
|
||||
If !empty(cBuffer)
|
||||
cItem2 := SUBSTR( cBuffer, 1, AT( SPACE( 3 ), cBuffer ) - 1 )
|
||||
cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem2, "" ) )
|
||||
|
||||
@@ -1061,17 +1137,68 @@ FUNCTION ProcNgTable( cBuffer, nNum )
|
||||
cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem3, "" ) )
|
||||
|
||||
cItem4 := SUBSTR( cBuffer, 1 )
|
||||
else
|
||||
citem2:=''
|
||||
citem3:=''
|
||||
citem4:=''
|
||||
endif
|
||||
|
||||
ENDIF
|
||||
|
||||
AADD( afiTable, RTRIM( LTRIM( cItem ) ) )
|
||||
AADD( asiTable, cItem2 )
|
||||
IF !EMPTY( cItem3 )
|
||||
AADD( atiTable, cItem3 )
|
||||
ENDIF
|
||||
IF !EMPTY( cItem4 )
|
||||
AADD( afoiTable, cItem4 )
|
||||
|
||||
*/
|
||||
If !empty(cBuffer)
|
||||
cItem := SUBSTR( cBuffer, 1, AT( SPACE( 3 ), cBuffer ) - 1 )
|
||||
cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem, "" ) )
|
||||
else
|
||||
citem:=''
|
||||
endif
|
||||
|
||||
if nNum==2
|
||||
If !empty(cBuffer)
|
||||
cItem2 := SUBSTR( cBuffer, 1 )
|
||||
else
|
||||
citem2:=''
|
||||
endif
|
||||
elseif nNum ==3
|
||||
If !empty(cBuffer)
|
||||
cItem2 := SUBSTR( cBuffer, 1, AT( SPACE( 3 ), cBuffer ) - 1 )
|
||||
cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem2, "" ) )
|
||||
cItem3 := SUBSTR( cBuffer, 1 )
|
||||
else
|
||||
citem2:=''
|
||||
citem3:=''
|
||||
endif
|
||||
|
||||
ELSEIF nNum > 3
|
||||
If !empty(cBuffer)
|
||||
cItem2 := SUBSTR( cBuffer, 1, AT( SPACE( 3 ), cBuffer ) - 1 )
|
||||
cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem2, "" ) )
|
||||
|
||||
cItem3 := SUBSTR( cBuffer, 1, AT( SPACE( 3 ), cBuffer ) - 1 )
|
||||
cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem3, "" ) )
|
||||
|
||||
cItem4 := SUBSTR( cBuffer, 1 )
|
||||
else
|
||||
citem2:=''
|
||||
citem3:=''
|
||||
citem4:=''
|
||||
endif
|
||||
|
||||
ENDIF
|
||||
AADD( afiTable, RTRIM( LTRIM( cItem ) ) )
|
||||
AADD( asiTable, cItem2 )
|
||||
// IF !EMPTY( cItem3 )
|
||||
AADD( atiTable, cItem3 )
|
||||
// ENDIF
|
||||
// IF !EMPTY( cItem4 )
|
||||
AADD( afoiTable, cItem4 )
|
||||
// ENDIF
|
||||
|
||||
|
||||
|
||||
RETURN Nil
|
||||
|
||||
@@ -1343,8 +1470,7 @@ FUNCTION ProcNGDesc( cBuffer, oNgi, cStyle )
|
||||
lendTable := .t.
|
||||
ELSE
|
||||
IF LFstTableItem
|
||||
nNumTableItems := GetNumberofTableItems( cLine )
|
||||
|
||||
nNumTableItems := GetNumberofTableItems( cLine )
|
||||
procngtable( cline, nNumTableItems )
|
||||
LFstTableItem := .f.
|
||||
ELSE
|
||||
@@ -1413,7 +1539,8 @@ FUNC maxelem( a )
|
||||
|
||||
LOCAL nCount
|
||||
FOR nCount := 1 TO nSize
|
||||
tam := LEN( a[ nCount ] )
|
||||
|
||||
tam := LEN( a[ nCount ] )
|
||||
max := IF( tam > max, tam, max )
|
||||
NEXT
|
||||
nPos := ASCAN( a, { | x | LEN( x ) == max } )
|
||||
@@ -1471,7 +1598,7 @@ FUNCTION FormatNgBuff( cBuffer, cStyle, ongi )
|
||||
|
||||
cReturn := '<par>' + cReturn + ' </par>'
|
||||
ELSEIF cStyle == 'Syntax'
|
||||
cReturn := strtran(cReturn,space(6),"")
|
||||
cReturn := strtran(cReturn,space(4),"")
|
||||
cReturn := '<par><b>' + cReturn + ' </b></par>'
|
||||
|
||||
ELSEIF cStyle == 'Arguments' .OR. cStyle == "Return"
|
||||
|
||||
@@ -511,7 +511,7 @@ FUNCTION ProcessOs2()
|
||||
strtran(cBuffer,"<par>",'')
|
||||
strtran(cBuffer,"</par>",'')
|
||||
cBuffer:=Alltrim(cBuffer)
|
||||
cbuFfer:='<par><b>'+cBuffer+'</b></par>'
|
||||
cbuFfer:='<par>'+cBuffer+'</par>'
|
||||
endif
|
||||
|
||||
procos2desc(cbuffer,oOs2,"Syntax")
|
||||
@@ -707,7 +707,7 @@ LOCAL nPos,nPosEnd,lArgBold:=.f.
|
||||
cReturn:='<par>'+creturn+' </par>'
|
||||
|
||||
ELSEIF cStyle=='Syntax'
|
||||
cReturn:='<par><b>'+cReturn+' </b></par>'
|
||||
cReturn:='<par>'+cReturn+' </par>'
|
||||
ELSEIF cStyle=='Arguments'
|
||||
nPos:=0
|
||||
if at("<par>",cReturn)>0
|
||||
@@ -787,7 +787,11 @@ LOCAL nPos,cItem,cItem2,cItem3,xtype,nColorpos,cColor
|
||||
nColorpos:=ASCAn(aColorTable,{|x,y| upper(x[1])==upper(ccolor)})
|
||||
cColor:=aColortable[nColorPos,2]
|
||||
Endif
|
||||
if !empty(cBuffer)
|
||||
cItem:=cBuffer
|
||||
else
|
||||
citem:=''
|
||||
endif
|
||||
AADD(afiTable,cItem)
|
||||
|
||||
|
||||
@@ -941,7 +945,7 @@ If AT('<par>',cBuffer)>0 .and. AT('</par>',cBuffer)>0
|
||||
endif
|
||||
if !empty(cBuffer)
|
||||
cBuffer:=SUBSTR(cBuffer,2)
|
||||
oOs2:WritePar(cBuffer)
|
||||
oOs2:WriteParBold(cBuffer)
|
||||
endif
|
||||
|
||||
Elseif cStyle=="Default"
|
||||
|
||||
@@ -931,7 +931,11 @@ LOCAL nPos,cItem,cItem2,cItem3,xtype,nColorpos,cColor
|
||||
nColorpos:=ASCAn(aColorTable,{|x,y| upper(x[1])==upper(ccolor)})
|
||||
cColor:=aColortable[nColorPos,2]
|
||||
Endif
|
||||
if !empty(cBuffer)
|
||||
cItem:=cBuffer
|
||||
else
|
||||
cItem:=''
|
||||
endif
|
||||
if ccolor<>NIL
|
||||
AADD(afiTable,ccolor+cItem)
|
||||
else
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
..\..\doc\en\binnum.txt
|
||||
..\..\doc\en\browse.txt
|
||||
..\..\doc\en\datetime.txt
|
||||
..\..\doc\en\dbstrux.txt
|
||||
..\..\doc\en\dir.txt
|
||||
..\..\doc\en\error.txt
|
||||
..\..\doc\en\file.txt
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
..\..\doc\en\browse.txt
|
||||
..\..\doc\en\command.txt
|
||||
..\..\doc\en\datetime.txt
|
||||
..\..\doc\en\dbstrux.txt
|
||||
..\..\doc\en\dir.txt
|
||||
..\..\doc\en\error.txt
|
||||
..\..\doc\en\file.txt
|
||||
|
||||
@@ -127,7 +127,7 @@ METHOD WriteLink( cLink ,cName ) CLASS THTML
|
||||
IF cName!=Nil
|
||||
cLink:=cName
|
||||
ENDIF
|
||||
|
||||
cTemp:=Strtran(cTemp," ","")
|
||||
FWRITE( Self:nHandle, "<LI><a href=" + Lower(cTemp) + ">" + cLink + "</a></LI>" + CRLF )
|
||||
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
*
|
||||
* The exception is that if you link the Harbour Runtime Library (HRL)
|
||||
* and/or the Harbour Virtual Machine (HVM) with other files to produce
|
||||
* an executable, this does not by itself cause the resulting executable
|
||||
* an executable, this does not by itself cause the resulting executable
|
||||
* to be covered by the GNU General Public License. Your use of that
|
||||
* executable is in no way restricted on account of linking the HRL
|
||||
* and/or HVM code into it.
|
||||
@@ -80,9 +80,9 @@ METHOD New( cFile ) CLASS TOs2
|
||||
FWRITE( Self:nHandle, ':docprof toc=123456.'+CRLF)
|
||||
fWrite(Self:nHandle,':title.'+"Harbour Reference Guide"+CRLF)
|
||||
|
||||
fWrite(Self:nHandle,'.* FT_HelpC generated IPF Source File.'+CRLF)
|
||||
fWrite(Self:nHandle,'.* HBDOC generated IPF Source File.'+CRLF)
|
||||
|
||||
fWrite(Self:nHandle,'.* FT_HELPC Document Source Extractor, (c)2000 Luiz Rafael Culik.'+CRLF)
|
||||
fWrite(Self:nHandle,'.* HBDOC Document Source Extractor, (c)1999-2000 Luiz Rafael Culik.'+CRLF)
|
||||
|
||||
RETURN Self
|
||||
|
||||
|
||||
Reference in New Issue
Block a user