20000424-11:42 GMT-8 Brian Hays <bhays@abacuslaw.com>

This commit is contained in:
Brian Hays
2000-04-25 06:27:22 +00:00
parent cb0695c055
commit 36fdbbffd3
5 changed files with 112 additions and 105 deletions

View File

@@ -1,3 +1,10 @@
20000424-11:42 GMT-8 Brian Hays <bhays@abacuslaw.com>
* doc/en/datetime.txt
* doc/en/dbstrux.txt
* doc/en/dir.txt
* doc/en/hvm.txt
% minor grammatical touch-ups
20000425-05:42 GMT+1 Victor Szakats <info@szelvesz.hu>
* source/compiler/hbfix.c
@@ -71,15 +78,15 @@
* added hb_compPCodeEval() to evaluate pcodes
* added assertion code to keep some tables in sync
with available opcodes
* fixed bug when PARAMETER statement was used after
* fixed bug when PARAMETER statement was used after
LOCAL variables declaration
* HB_P_PUSHLOCALNEAR/HB_P_POPLOCALNEAR occupies
3 bytes in the pcode buffer athough it uses
3 bytes in the pcode buffer athough it uses
the first two bytes only to store a value (these
opcodes can be replaced with HB_P_(PUSH/POP)LOCAL
after final fixing)
NOTE: When the PARAMETER statement is used then the
NOTE: When the PARAMETER statement is used then the
position of local variable is increased after the
whole function/procedure is compiled (PARAMETERS
is an usual executable statement that can be used
@@ -109,7 +116,7 @@
*source/vm/itemapi.c
* reverted a change (items unreferencing) because it caused
GPFs when an inlined method of an object was called
(it requires more testing)
(it requires more testing)
20000424-03:44 GMT+1 Victor Szakats <info@szelvesz.hu>
@@ -190,7 +197,7 @@
a := 1
CallProc( { @a } )
? a //prints: 2
PROC CallProc( x )
LOCAL y:=x[ 1 ]
y++

View File

@@ -102,7 +102,7 @@
* $DESCRIPTION$
* This function returns the current system date.
* $EXAMPLES$
* ? Date()
* ? Date()
* $TESTS$
* ? "Today is ",Day(date())," of ",cMonth(date())," of ",Year(date())
* $STATUS$
@@ -113,7 +113,7 @@
* All
* $FILES$
* Library is rtl
* $SEEALSO$
* $SEEALSO$
* CTOD(),DTOS(),DTOC(),DAY(),MONTH(),CMONTH()
* $END$
*/
@@ -130,7 +130,7 @@
* $ARGUMENTS$
* <cDateString> A character date in format 'mm/dd/yy'
* $RETURNS$
* <dDate> A date expression
* <dDate> A date expression
* $DESCRIPTION$
* This function converts a date that has been entered as a character
* expression to a date expression.The character expression will be in
@@ -159,7 +159,7 @@
* $CATEGORY$
* Date
* $ONELINER$
* Return the numeric day of th month.
* Return the numeric day of the month.
* $SYNTAX$
* DAY(<cDate>) --> nMonth
* $ARGUMENTS$
@@ -199,8 +199,8 @@
* $RETURNS$
* <nDay> The number of days
* $DESCRIPTION$
* This function converst <nSecs> seconds to the equivalent number
* of days;86399 seconds represent one day,0 seconds being midnight.
* This function converts <nSecs> seconds to the equivalent number
* of days; 86399 seconds represents one day, 0 seconds being midnight.
* $EXAMPLES$
* ? DAYS(2434234)
* ? "Has been passed ",DAYS(63251),' since midnight'
@@ -263,9 +263,9 @@
* $RETURNS$
* <dDate> Character represention of date
* $DESCRIPTION$
* This function converts any date expression (a field or variable )
* This function converts any date expression (a field or variable)
* expressed as <dDateString> to a character expression in the default
* format "MM/DD/YY".The date format is expressed by this function is
* format "MM/DD/YY". The date format expressed by this function is
* controled in part by the date format specified in the SET DATE
* command
* $EXAMPLES$
@@ -298,8 +298,8 @@
* <dDate> String notation of the date
* $DESCRIPTION$
* This function returns the value of <dDateString> as a character
* string in the format of YYYYMMDD.If the value of <dDateString> is
* an empty date , this function will returbn eight blank spaces.
* string in the format of YYYYMMDD. If the value of <dDateString> is
* an empty date, this function will return eight blank spaces.
* $EXAMPLES$
* ? DTOS(Date())
* $STATUS$
@@ -323,7 +323,7 @@
* $ONELINER$
* Calculates elapted time.
* $SYNTAX$
* ELAPTIME(<cStartTime>,<cEndTime>) --> cDiference
* ELAPTIME(<cStartTime>,<cEndTime>) --> cDiference
* $ARGUMENTS$
* <cStartTime> Start in time as a string format
* <cEndTime> End time as a string format
@@ -333,7 +333,7 @@
* This function returns a string that shows the difference between
* the starting time represented as <cStartTime> and the ending time
* as <cEndTime>. If the stating time is greater then the ending
* time,the function will assume that the date changed once.
* time, the function will assume that the date changed once.
* $EXAMPLES$
* Static cStartTime
* Init Proc Startup
@@ -356,7 +356,7 @@
/* $DOC$
* $FUNCNAME$
* MONTH()
* MONTH()
* $CATEGORY$
* Date
* $ONELINER$
@@ -369,7 +369,7 @@
* <nMonth> Corresponding number of the month in the year, ranging from
* 0 to 12
* $DESCRIPTION$
* This function returns a number that representate the month of given
* This function returns a number that represents the month of a given
* date expression <dDate>. If a NULL date (CTOD('')) is passed to the
* function, the value of the function will be 0.
* $EXAMPLES$
@@ -430,13 +430,13 @@
* Return the number of seconds from the system date.
* $SYNTAX$
* SECS( <cTime> ) --> nSeconds
* $ARGUMENTS$
* $ARGUMENTS$
* <cTime> Character expression in a time string format
* $RETURNS$
* <nSeconds> Number of seconds
* $DESCRIPTION$
* This function returns a numeric value that is a number of elapsed
* seconds from midnight base on a time string given as <cTime>.
* seconds from midnight based on a time string given as <cTime>.
* $EXAMPLES$
* ? Secs(Time())
* ? Secs(time()-10)
@@ -503,7 +503,7 @@
* by the setting of the SET CENTURY and SET DATE commands. Addition
* ally, an empty date expression passed to this function will yield
* a zero value.
*
*
* $EXAMPLES$
* ? Year(date())
* ? year(CTOD("01/25/3251"))

View File

@@ -79,7 +79,7 @@
* $ARGUMENTS$
* <b>TO <xcFileName></b> is the name of the new database file to
* create. (.dbf) is the default extension if none is given. It can be
* specified as literal file name or as a character expression
* specified as a literal file name or as a character expression
* enclosed in parentheses.
*
* <b>FIELDS <field,...></b> is an optional list of field names to copy
@@ -95,11 +95,11 @@
* COPY STRUCTURE command is preprocessed into __dbCopyStruct()
* function during compile time.
* $EXAMPLES$
* // Create a new file that contain the same structure
* // Create a new file that contains the same structure
* USE TEST
* COPY STRUCTURE TO MyCopy
*
* // Create a new file that contain part of the original structure
* // Create a new file that contains part of the original structure
* USE TEST
* COPY STRUCTURE TO SomePart FIELDS name, address
* $STATUS$
@@ -142,7 +142,7 @@
* FIELD_DEC N 3 0
* </table>
*
* Each record in the new file contain information about one field in
* Each record in the new file contains information about one field in
* the original file. CREATE FROM could be used to create a database
* from the structure extended file.
*
@@ -199,9 +199,9 @@
* $SYNTAX$
* COPY STRUCTURE EXTENDED TO <xcFileName>
* $ARGUMENTS$
* <b>TO <xcFileName></b> is the name of target definition file to
* <b>TO <xcFileName></b> The name of the target definition file to
* create. (.dbf) is the default extension if none is given. It can be
* specified as literal file name or as a character expression
* specified as a literal file name or as a character expression
* enclosed in parentheses.
* $DESCRIPTION$
* COPY STRUCTURE EXTENDED create a new database named <cFileName> with
@@ -216,7 +216,7 @@
* FIELD_DEC N 3 0
* </table>
*
* Each record in the new file contain information about one field in
* Each record in the new file contains information about one field in
* the original file. CREATE FROM could be used to create a database
* from the structure extended file.
*
@@ -281,22 +281,22 @@
* <cRDDName> is RDD name to create target with. If omitted, the
* default RDD is used.
*
* <lNew> is an optional logical expression, (.T.) open the target file
* name <cFileName> in the next available unused work-area and making
* it the current work-area, (.F.) open the target file in current
* <lNew> is an optional logical expression, (.T.) opens the target file
* name <cFileName> in the next available unused work-area and makes
* it the current work-area. (.F.) opens the target file in the current
* work-area. Default value is (.F.). The value of <lNew> is ignored if
* <cFileFrom> is not specified.
*
* <cAlias> is an optional alias to USE the target file with. If not
* specified, alias is based on the root name of <cFileName>.
* $RETURNS$
* __dbCreate() return (.T.) if there is database in USED in the
* __dbCreate() returns (.T.) if there is database USED in the
* current work-area (this might be the newly selected work-area), or
* (.F.) if there is no database in USED. Note that on success a (.T.)
* would be return, but on failure you are probably end up with a
* (.F.) if there is no database USED. Note that on success a (.T.)
* would be returned, but on failure you probably end up with a
* run-time error and not a (.F.) value.
* $DESCRIPTION$
* __dbCreate() works in two modes depend on the value of <cFileFrom>:
* __dbCreate() works in two modes depending on the value of <cFileFrom>:
*
* <b>1)</b> If <cFileFrom> is empty or not specified a new empty
* structure extended file with the name <cFileName> is created and
@@ -312,16 +312,16 @@
* FIELD_DEC N 3 0
* </table>
*
* CREATE command is preprocessed into __dbCopyStruct() function during
* compile time and use this mode.
* The CREATE command is preprocessed into the __dbCopyStruct() function
* during compile time and uses this mode.
*
* <b>2)</b> If <cFileFrom> is specified, it is opened and assumed to
* be a structure extended file where each record contain at least the
* be a structure extended file where each record contains at least the
* following fields (in no particular order): FIELD_NAME, FIELD_TYPE,
* FIELD_LEN and FIELD_DEC. Any other field is ignored. From this
* information the file <cFileName> is then create and opened in the
* information the file <cFileName> is then created and opened in the
* current or new work-area (according to <lNew>), if this is a new
* work-area it become the current.
* work-area it becomes the current.
*
* For prehistoric compatibility reasons, structure extended file
* Character fields which are longer than 255 characters should be
@@ -478,8 +478,8 @@
* record contain at least the following fields (in no particular
* order): FIELD_NAME, FIELD_TYPE, FIELD_LEN and FIELD_DEC. Any other
* field is ignored. From this information the file <xcFileName> is
* then create and opened in the current or new work-area (according to
* the NEW clause), if this is a new work-area it become the current.
* then created and opened in the current or new work-area (according to
* the NEW clause), if this is a new work-area it becomes the current.
*
* For prehistoric compatibility reasons, structure extended file
* Character fields which are longer than 255 characters should be
@@ -492,7 +492,7 @@
* </fixed>
*
* CREATE FROM command is preprocessed into __dbCopyStruct() function
* during compile time and use this mode.
* during compile time and uses this mode.
* $EXAMPLES$
* See example in the CREATE command
* $STATUS$
@@ -578,10 +578,10 @@
* $STATUS$
* R
* $COMPLIANCE$
* CA-Clipper have internal undocumented function named __FLEDIT(),
* in Harbour we name it __dbStructFilter(). The new name give better
* description of what this function do. In Harbour __FLEDIT() simply
* call __dbStructFilter() and therefor the later is the recommended
* CA-Clipper has internal undocumented function named __FLEDIT(),
* in Harbour we name it __dbStructFilter(). The new name gives a better
* description of what this function does. In Harbour __FLEDIT() simply
* calls __dbStructFilter() and therefor the later is the recommended
* function to use.
*
* This function is only visible if source/rdd/dbstrux.prg was compiled
@@ -632,7 +632,7 @@
* structure, based on a given field list.
*
* Note that field names in <aStruct> MUST be specified in uppercase
* or else no match would found.
* or else no match would be found.
*
* SET EXACT has no effect on the return value.
* $EXAMPLES$
@@ -665,9 +665,9 @@
* $STATUS$
* R
* $COMPLIANCE$
* __dbStructFilter() is a Harbour extension, CA-Clipper have internal
* undocumented function named __FLEDIT() that does exactly the same.
* The new name give better description of what this function do.
* __dbStructFilter() is a Harbour extension. CA-Clipper has an internal
* undocumented function named __FLEDIT() that does exactly the same
* thing. The new name gives a better description of what this function does.
* $PLATFORMS$
* All
* $FILES$

View File

@@ -25,23 +25,23 @@
* $ARGUMENTS$
* <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.
* OS (like * and ?). If <cFileMask> contains no path, then SET DEFAULT
* path is used to display files in the mask.
* $RETURNS$
* __Dir() always returns NIL.
* __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.
* If no <cFileMask> is given, __Dir() displays information about all
* *.dbf in the SET DEFAULT path. This information contains: file name,
* 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.
* with the following details: Name, Extension, Size, Date.
*
* DIR command is preprocessed into __Dir() function during compile
* time.
* time.
*
* __Dir() is a compatibility function, it is superseded by DIRECTORY()
* which return all the information in a multidimensional array.
* which return all the information in a multidimensional array.
* $EXAMPLES$
<fixed>
* __Dir() // information for all DBF files in current directory
@@ -58,13 +58,13 @@
* $STATUS$
* R
* $COMPLIANCE$
* DBF information: CA-Clipper display 8.3 file names, Harbour display
* the first 15 characters of a long file name if available.
* DBF information: CA-Clipper displays 8.3 file names, Harbour displays
* 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.
* long file names to feet this template.
* $FILES$
* Library is rtl
* $SEEALSO$
@@ -84,21 +84,21 @@
* $ARGUMENTS$
* <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.
* OS (like * and ?). If <cFileMask> contains no path, then SET DEFAULT
* 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.
* 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.
* with the following details: Name, Extension, Size, Date.
*
* DIR command is preprocessed into __Dir() function during compile
* time.
* time.
*
* __Dir() is a compatibility function, it is superseded by DIRECTORY()
* which return all the information in a multidimensional array.
* which returns all the information in a multidimensional array.
* $EXAMPLES$
<fixed>
* DIR // information for all DBF files in current directory
@@ -115,13 +115,13 @@
* $STATUS$
* R
* $COMPLIANCE$
* DBF information: CA-Clipper display 8.3 file names, Harbour display
* the first 15 characters of a long file name if available.
* DBF information: CA-Clipper displays 8.3 file names, Harbour displays
* 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.
* long file names to feet this template.
* $SEEALSO$
* ADIR(),DIRECTORY(),SET DEFAULT,__DIR()*
* $END$
@@ -140,43 +140,43 @@
* $ARGUMENTS$
* <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.
* OS (like * and ?). If you omit <cFileMask> or if <cFileMask> contains
* 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.
* 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.
* Each element is a Numeric integer for the file size in Bytes.
* 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.
* 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.
* 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.
* Array, only files with normal attribute would return.
* $RETURNS$
* ADIR() return the number of file entries that meet <cFileMask>
* 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.
* specified.
*
* ADIR() is a compatibility function, it is superseded by DIRECTORY()
* which return all the information in a multidimensional array.
* which returns all the information in a multidimensional array.
* $EXAMPLES$
<fixed>
* LOCAL aName, aSize, aDate, aTime, aAttr, nLen, i
@@ -198,7 +198,7 @@
* R
* $COMPLIANCE$
* <aName> is going to be fill with long file name and not necessarily
* the 8.3 uppercase name.
* the 8.3 uppercase name.
* $FILES$
* Library is rtl
* $SEEALSO$

View File

@@ -11,7 +11,7 @@
*
* Copyright 1999 Eddie Ruina
* Documentation for: __VMVARLGET()
*
*
* Copyright 1999 Chen Kedem <niki@actcom.co.il>
* Documentation for: CLIPINIT(), __SETHELPK()
*
@@ -36,14 +36,14 @@
* $RETURNS$
* <cProcName> The name of the function that it is being executed. </par>
* $DESCRIPTION$
* This function look at the top of the stack and gets the current
* This function looks at the top of the stack and gets the current
* executed function if no arguments are passed. Otherwise it returns
* the name of the function or procedure at <nLevel>. </par>
* $EXAMPLES$
* See Test
* </fixed>
* $TESTS$
* This test will show the functions and procedures in stack
* This test will show the functions and procedures in stack.
* before executing it.
* function Test()
* LOCAL n := 1
@@ -69,7 +69,7 @@
* $CATEGORY$
* Misc
* $ONELINER$
* Gets the line number of the current function on the stack
* Gets the line number of the current function on the stack.
* $SYNTAX$
* PROCLINE( <nLevel> ) --> <nLine>
* $ARGUMENTS$
@@ -77,8 +77,8 @@
* $RETURNS$
* <nLine> The line number of the function that it is being executed. </par>
* $DESCRIPTION$
* This function look at the top of the stack and gets the current
* line number of executed function if no arguments are passed.
* This function looks at the top of the stack and gets the current
* line number of the executed function if no arguments are passed.
* Otherwise it returns the line number of the function or procedure
* at <nLevel>. </par>
* $EXAMPLES$
@@ -115,8 +115,8 @@
* $RETURNS$
* <cEmptyString> Return an empty string </par>
* $DESCRIPTION$
* This function is added to the RTL for full compatibility. It allways
* returns an empty string. </par>
* This function is added to the RTL for full compatibility. It
* always returns an empty string. </par>
* $EXAMPLES$
* ? ProcFile()
* </fixed>
@@ -183,7 +183,7 @@
* $ONELINER$
* Retrieves the number of arguments passed to a function.
* $SYNTAX$
* PCOUNT() --> <nArgs>
* PCOUNT() --> <nArgs>
* $ARGUMENTS$
* None </par>
* $RETURNS$
@@ -268,14 +268,14 @@
* $DESCRIPTION$
* CLIPINIT() is one of the pre-defined INIT PROCEDURE and is executed
* at program startup. It declare an empty MEMVAR PUBLIC array called
* GetList that is going to be used by the Get system, It activate the
* default error handler, and (at least for the moment) call the
* function that set the default help key. </par>
* GetList that is going to be used by the Get system. It activates the
* default error handler, and (at least for the moment) calls the
* function that sets the default help key. </par>
* $STATUS$
* R
* $COMPLIANCE$
* It is said that CLIPINIT() should not call that function that set
* the default help key since CA-Clipper do it in some other place. </par>
* It is said that CLIPINIT() should not call the function that sets
* the default help key since CA-Clipper does it in some other place. </par>
* $PLATFORMS$
* All </par>
* $SEEALSO$
@@ -293,7 +293,7 @@
* $SYNTAX$
* __SetHelpK() --> NIL
* $ARGUMENTS$
* none. </par>
* None. </par>
* $RETURNS$
* __SetHelpK() always return NIL. </par>
* $DESCRIPTION$
@@ -352,20 +352,20 @@
* DO( <xFuncProc> [, <xArguments...>] )
* $ARGUMENTS$
* <xFuncProc> = Either a string with a function/procedure name to be called
* or a codeblock to evaluate </par>
* or a codeblock to evaluate. </par>
* <xArguments> = arguments passed to a called function/procedure or to
* a codeblock </par>
* a codeblock. </par>
* $RETURNS$
* A value that was returned from called function </par>
* A value that was returned from called function. </par>
* $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 procedure specified in DO <proc> WITH ... statement. </par>
* If called procedure/function doesn't exist then the runtime error
* If called procedure/function doesn't exist then a runtime error
* is generated. </par>
* This function can be used as replacement of macro operator.
* It is also used internally to implement DO <proc> WITH <args...>
* In this case <xFuncProc> is of type HB_SYMB </par>
* In this case <xFuncProc> is of type HB_SYMB. </par>
* $EXAMPLES$
* cbCode ={|x| MyFunc( x )}
* DO( cbCode, 1 )