See changelog 20000619-23:05 GMT -3

This commit is contained in:
Luiz Rafael Culik
2000-06-20 02:21:06 +00:00
parent aa44709394
commit 18b0427b49
16 changed files with 246 additions and 40 deletions

View File

@@ -21,7 +21,7 @@
* $FUNCNAME$
* ARRAY()
* $CATEGORY$
* ARRAY
* Array
* $ONELINER$
* Create an uninitialized array of specified length
* $SYNTAX$
@@ -63,7 +63,7 @@
* $FUNCNAME$
* AADD()
* $CATEGORY$
* ARRAY
* Array
* $ONELINER$
* Dynamically add an element to an array
* $SYNTAX$
@@ -101,7 +101,7 @@
* $FUNCNAME$
* ASIZE()
* $CATEGORY$
* ARRAY
* Array
* $ONELINER$
* Adjust the size of an array
* $SYNTAX$
@@ -140,7 +140,7 @@
* $FUNCNAME$
* ATAIL()
* $CATEGORY$
* ARRAY
* Array
* $ONELINER$
* Returns the rightmost element of an array
* $SYNTAX$
@@ -171,7 +171,7 @@
* $FUNCNAME$
* AINS()
* $CATEGORY$
* ARRAY
* Array
* $ONELINER$
* Insert a NIL value at an array subscript position.
* $SYNTAX$
@@ -211,7 +211,7 @@
* $FUNCNAME$
* ADEL()
* $CATEGORY$
* ARRAY
* Array
* $ONELINER$
* Delete an element form an array.
* $SYNTAX$
@@ -250,7 +250,7 @@
* $FUNCNAME$
* AFILL()
* $CATEGORY$
* ARRAY
* Array
* $ONELINER$
* Fill an array with a specified value
* $SYNTAX$
@@ -296,7 +296,7 @@
* $FUNCNAME$
* ASCAN()
* $CATEGORY$
* ARRAY
* Array
* $ONELINER$
* Scan array elements for a specified condition
* $SYNTAX$
@@ -349,7 +349,7 @@
* $FUNCNAME$
* AEVAL()
* $CATEGORY$
* ARRAY
* Array
* $ONELINER$
* Evaluated the subscript element of an array
* $SYNTAX$
@@ -394,7 +394,7 @@
* $FUNCNAME$
* ACOPY()
* $CATEGORY$
* ARRAY
* Array
* $ONELINER$
* Copy elements from one array to another
* $SYNTAX$
@@ -457,7 +457,7 @@
* $FUNCNAME$
* ACLONE()
* $CATEGORY$
* ARRAY
* Array
* $ONELINER$
* Duplicate a multidimensional array
* $SYNTAX$

View File

@@ -105,8 +105,8 @@
* database record.
* Following are active keys that handled by DBEDIT(): </par>
* ---------------------------------------------------
* ---------------------------------------------------
*
* <table>
* Key Meaning
*
@@ -134,14 +134,15 @@
* 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.
*
* DBEDIT() nMode could be one of the following: </par>
* ---------------------------------------------
*
* <table>
* Dbedit.ch Meaning
*
@@ -151,12 +152,13 @@
* DE_EMPTY No records in work area, database is empty.
* DE_EXCEPT Key exception.
* </table>
*
* The user define function or code block must return a value that tell
* DBEDIT() what to do next.
* DBEDIT() what to do next.
*
* User function return codes: </par>
* ---------------------------
* --------------------------- </par>
*
* <table>
* Dbedit.ch Value Meaning
*
@@ -164,6 +166,7 @@
* 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:
* - The database is empty.
* - The user try to move past top of file or past bottom file.

View File

@@ -26,7 +26,7 @@
* <ClassName> Name of the class to define. By tradition, Harbour
* classes start with "T" to avoid collisions with user-
* created classes.
*
* <SuperClass> The Parent class to use for inheritance
* $DESCRIPTION$
* CLASS creates a class from which you can create objects.
@@ -83,13 +83,24 @@
* Define a DATA instance variable for the objects of a class
* $SYNTAX$
* DATA <DataName1> [,<DataNameN>] [ AS <type> ] [ INIT <uValue> ]
* [ EXPORTED] [PROTECTED] [HIDDEN] [ READONLY]
* $ARGUMENTS$
* <DataName1> Name of the DATA
* <type> Optional data type specification from the following:
* Character, Numeric, Date, Logical, Codeblock, Nil
* <uValue> Optional initial value when creating a new object
* <uValue> Optional initial value when creating a new object
*
* EXPORTED This clause tell that this data is visible in where
* was defined and all subclasses.
*
* PROTECTED This clause tell that the data is visible only where is
* defined
*
* HIDDEN This clause say that the data is only visible on the
* class that was defined,and is not inherit by the
* subclasses.
* $DESCRIPTION$
* DATA elements can also be thought of as the "properties" of an
* object. They can be of any data type, including codeblock.
@@ -122,7 +133,6 @@
* METHOD New() // Constructor
*
* ENDCLASS
</fixed>
* $STATUS$
* R
* $COMPLIANCE$

View File

@@ -37,6 +37,7 @@
* EN English 437
* FR French 850
* GL Galician 850
* DE German 850
* HE862 Hebrew 862
* HEWIN Hebrew 1255
* HU852 Hungarian 852

View File

@@ -19,7 +19,7 @@
* $FUNCNAME$
* ISAFFIRM()
* $CATEGORY$
* NATION
* Nation
* $ONELINER$
* Checks if passed char is an affirmation char
* $SYNTAX$
@@ -53,7 +53,7 @@
* $FUNCNAME$
* ISNEGATIVE()
* $CATEGORY$
* NATION
* Nation
* $ONELINER$
* Checks if passed char is a negation char.
* $SYNTAX$
@@ -87,7 +87,7 @@
* $FUNCNAME$
* NATIONMSG()
* $CATEGORY$
* NATION
* Nation
* $ONELINER$
* Returns international strings messages.
* $SYNTAX$

View File

@@ -15,7 +15,7 @@
*
* <b>************************************************************************</b> </par>
* <b>* This file contains information on obtaining, installing, and using *</b> </par>
* <b>* Harbour. Please read it *completely* before asking for help. *</b> </par>
* <b>* Harbour. Please read it *completely* before asking for help. *</b> </par>
* <b>************************************************************************</b> </par>
* Harbour is a free implementation of an xBase language compiler. It is

View File

@@ -34,6 +34,9 @@
* RTRIM() Documentation
* SPACE() Documentation
* REPLICATE() Documentation
* VAL() Documentation
* TRANSFORM() Documentation
* STRTRAN() Documentation
* See doc/license.txt for licensing terms.
*
*/
@@ -472,7 +475,7 @@
* $FILES$
* Library is rtl
* $SEEALSO$
* STRZERO()
* STRZERO(),TRANSFORM(),VAL()
* $END$
*/
@@ -1274,3 +1277,182 @@
* PADC(),PADL(),PADR(),REPLICATE()
* $END$
*/
/* $DOC$
* $FUNCNAME$
* VAL()
* $CATEGORY$
* Strings
* $ONELINER$
* Convert a number from a character type to numeric
* $SYNTAX$
* VAL( <cNumber> ) --> nNumber
* $ARGUMENTS$
* <cNumber> Any valid character string of numbers.
* $RETURNS$
* <nNumber> The numeric value of <cNumber>
* $DESCRIPTION$
* This function converts any number previosly defined as an character
* expression <cNumber> into a numeric expression.
*
* This functions is the oppose of the STR() function.
* $EXAMPLES$
* ? VAL('31421') // 31421
* $TESTS$
* See regression test
* $STATUS$
* R
* $COMPLIANCE$
* This function is Ca-Clipper compatible
* $PLATFORMS$
* All
* $FILES$
* Library is RTL
* $SEEALSO$
* STR(),TRANSFORM()
* $END$
*/
/* $DOC$
* $FUNCNAME$
* STRTRAN()
* $CATEGORY$
* Strings
* $ONELINER$
* Translate substring valuw with a main string
* $SYNTAX$
* STRTRAN( <cString>, <cLocString>, <cRepString>, <nPos>, <nOccurences> ) --> cReturn
* $ARGUMENTS$
* <cString> The main string to search
*
* <cLocString> The string to locate in the main string
*
* <cRepString> The string to replace the <cLocString>
*
* <nPos> The first occurence to be replaced
*
* <nOccurences> Number of occurence to replace
* $RETURNS$
* <cReturn> Formated string
* $DESCRIPTION$
* This function searches for any occurence of <cLocString> in <cString>
* and replacesit with <cRepString>.If <cRepString> is not specified, a
* NULL byte will replace <cLocString>.
*
* If <nPos> is used,its value defines the first occurence to be
* replaced.The default value is 1.Additionally,if used,the value of
* <nOccurences> tell the function how many occurrences of <cLocString>
* in <cString> are to the replaced.The default of <nOccurences> is
* all occurrences.
* $EXAMPLES$
* ? StrTran("Harbour Power"," "," ") // Harbour Power
* ? StrTran("Harbour Power The Future of xBase"," "," ",,2) // Harbour Power The future of xBase
* $TESTS$
* See regression test
* $STATUS$
* R
* $COMPLIANCE$
* Will not work with a search string of > 64 KB on some platforms
* $PLATFORMS$
* All
* $FILES$
* Libraty is rtl
* $SEEALSO$
* SUBSTR(),AT()
* $END$
*/
/* $DOC$
* $FUNCNAME$
* TRANSFORM()
* $CATEGORY$
* Strings
* $ONELINER$
* Formats a value based on a specific picture template.
* $SYNTAX$
* TRANSFORM( <xExpression>, <cTemplate> ) --> cFormated
* $ARGUMENTS$
* <xExpression> Any expression to be formated.
*
* <cTemplate> Character string with picture template
* $RETURNS$
* <cFormated> An formatted expression in character format
* $DESCRIPTION$
* This function returns <xExpression> in the format of the picture
* expression passed to the function as <cTemplate>.
*
* Their are two components that can make up <cTemplate> : a function
* string and a template string.Function strings are those functions
* that globally tell what the format of <xExpression> should be.These
* functions are represented by a single character precede by the
* @ symbol.
*
* There are a couple of rules to follow when using function strings
* and template strings:
*
* - First, a single space must fall between the function template
* and the template string if they are used in conjunction with
* one another.
*
* - Second,if both components make up the value of <cTemplate>,the
* function string must precede the template string.Otherwise,the
* function string may appear with out the template string and
* vice versa.
*
* The table below shows the possible function strings avaliable with
* the TRANSFORM() function.
*
* <table>
* @B Left justify the string within the format.
* @C Issue a CR after format is numbers are positive.
* @D Put dates in SET DATE format.
* @E Put dates in BRITISH format.
* @L Make a zero padded string out of the number.
* @R Insert nontemplate characters.
* @X Issue a DB after format is numbers are negative.
* @Z Display any zero as blank spaces.
* @( Quotes around negative numbers
* @! Convert alpha characters to uppercased format.
* </table>
*
* The second part of <cTemplate> consists of the format string.Each
* character in the string may be formated based on using the follow
* characters as template markers for the string.
*
* <table>
* A,N,X,9,# Any data type
* L Shows logical as "T" or "F"
* Y Shows logical as "Y" or "N"
* ! Convert to uppercase
* $ Dolar sing in place of leading spaces in numeric expression
* * Asterisks in place of leading spaces in numeric expression
* , Commas position
* . Decimal point position
* </table>
* $EXAMPLES$
* local cString := 'This is harbour'
* local nNumber := 9923.34
* local nNumber1 := -95842.00
* Local lValue := .T.
* Local dDate := DATE()
* ? 'working with String'
* ? "Current String is" ,cString
* ? "All uppercased",transform(cString,"@!")
* ? "Date is",ddate
* ? "Date is ",transform(ddate,"@D")
* ? Transform( nNumber , "@L 99999999" ) // , "009923.34"
* ? Transform( 0 , "@L 9999" ) // "0000"
*
* $TESTS$
* See regression Test
* $STATUS$
* R
* $COMPLIANCE$
* The @L function template is a FOXPRO/Xbase Extension
* $PLATFORMS$
* All
* $FILES$
* Library is rtl
* $SEEALSO$
* @...SAY,DEVOUTPICT()
* $END$
*/

View File

@@ -1,6 +1,6 @@
!name: Harbour Version 0.34 (c) reference Guide
!credits: Harbour Version 0.34 (c) http://www.harbour-project.org
06/04/2000 build By Luiz Rafael Culik
!name: Harbour Version %HB_VERSION% (c) reference Guide
!credits: Harbour Version %HB_VERSION% (c) http://www.harbour-project.org
%HB_BLDDATE% build By Luiz Rafael Culik
Functions Documented by:
Chen Kedem, Luiz Rafael Culik,Brian Hays

View File

@@ -36,3 +36,6 @@ en\gnulice.txt
en\compiler.txt
en\lang.txt
en\setmode.txt
en\eval.txt
en\sayget.txt
en\strotype.txt

View File

@@ -11,7 +11,7 @@ Version 0.34 Build 34 (2000-06-02)
- MEMOEDIT support started
- CONTRIBs better separated from core Harbour (TOOLS moved there)
- Simplified and enhanced base for multiplatform coding
- Language API (link/compile time language module selection)
- Language API (link/compile time language modul selection)
- Several small optimizations, enhancements and fixes (compiler, macro, GT,
inkey, make and build systems, more strict compiler warnings)
- Compiler pcode size optimizations (new compact pcode versions added and

View File

@@ -1206,7 +1206,7 @@ FUNCTION ProcChmTable( cBuffer, nNum )
cBuffer := STRTRAN( cBuffer, ">", "&gt;" )
cItem := SUBSTR( cBuffer, 1, AT( SPACE( 3 ), cBuffer ) - 1 )
cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem, "" ) )
cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem, "" ),,1 )
IF nNum == 2
cItem2 := SUBSTR( cBuffer, 1 )
ELSE

View File

@@ -1208,7 +1208,7 @@ FUNCTION ProchtmTable( cBuffer, nNum )
cBuffer := STRTRAN( cBuffer, ">", "&gt;" )
cItem := SUBSTR( cBuffer, 1, AT( SPACE( 3 ), cBuffer ) - 1 )
cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem, "" ) )
cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem, "" ,,1) )
IF nNum == 2
cItem2 := SUBSTR( cBuffer, 1 )
ELSE

View File

@@ -1009,7 +1009,7 @@ FUNCTION GenNgTable( oNgi )
nPos := maxelem( asitable )
nPos1 := ASCAN( aLenssItem, { | x | x == nPos } )
oNgi:WritePar( "" )
/* oNgi:WritePar( "" )*/
// nMax2:=checkcar(aTable,1)+1
nMax2 := alensfitem[ 1 ]
nPos := maxelem( afitable )
@@ -1112,7 +1112,7 @@ FUNCTION GenNgTable( oNgi )
ENDIF
ENDIF
oNgi:WritePar( "" )
/* oNgi:WritePar( "" )*/
afiTable := {}
asitable := {}
atitable := {}
@@ -1157,7 +1157,7 @@ FUNCTION ProcNgTable( cBuffer, nNum )
/*
If !empty(cBuffer)
cItem := SUBSTR( cBuffer, 1, AT( SPACE( 3 ), cBuffer ) - 1 )
cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem, "" ) )
cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem, "" ,,1) )
else
citem:=''
endif

View File

@@ -888,7 +888,7 @@ FUNCTION ProcOs2Table( cBuffer , nNum )
cBuffer := STRTRAN( cBuffer, ">", "&gt." )
cItem := SUBSTR( cBuffer, 1, AT( SPACE( 3 ), cBuffer ) - 1 )
cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem, "" ) )
cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem, "" ,,1) )
IF nNum == 2
cItem2 := SUBSTR( cBuffer, 1 )
ELSE

View File

@@ -156,6 +156,7 @@ METHOD WriteLink( cLink, cName ) CLASS THTML
IF cName != Nil
cLink := cName
ENDIF
cTemp := STRTRAN( cTemp, "@...", "" )
cTemp := STRTRAN( cTemp, " ", "" )
FWRITE( Self:nHandle, "<LI><a href=" + LOWER( cTemp ) + ">" + cLink + "</a></LI>" + CRLF )
@@ -274,6 +275,7 @@ METHOD WriteChmLink( cLink, cName ) CLASS THTML
IF cName != Nil
cLink := cName
ENDIF
cTemp := STRTRAN( cTemp, "@...", "" )
cTemp := STRTRAN( cTemp, " ", "" )
FWRITE( Self:nHandle, "<a href=" + LOWER( cTemp ) + ">" + cLink + "</a><br>" + CRLF )
Return Self

View File

@@ -250,6 +250,7 @@ METHOD WriteTitle( cTopic, cTitle ,cCategory) CLASS TOs2
LOCAL nPos
LOCAL cWrite
LOCAL nItem
Local lHead:=.F.
LOCAL nrItem,nIItem
LOCAL cRefCateg
LOCAL cIndCateg
@@ -266,12 +267,16 @@ METHOD WriteTitle( cTopic, cTitle ,cCategory) CLASS TOs2
If Self:ScanInd(cIndCateg)==0
niItem := ASCAN( Self:aIndRef, { | a | upper(a) == upper(cIndCateg )} )
FWRITE( Self:nHandle, ':h1 ' + ::aIndRef[niItem] + "."+ UPPER( cCategory ) + CRLF)
lHead := .T.
ELSE // Just in case that nItem>0 so the Link is already referenced
niItem := ASCAN( Self:aIndRef, { | a | upper(a) == upper(cIndCateg) } )
ENDIF
IF niItem>0
FWRITE( Self:nHandle, ':h2 '+ 'id=' + ::aIndRef[niItem] +' res=' + ALLTRIM( STR( nItem ) ) + '.' + cTopic + CRLF )
Endif
IF niItem>0 .AND. lHead
FWRITE( Self:nHandle, ':h2 '+ ' res=' + ALLTRIM( STR( nItem ) ) + '.' + cTopic + CRLF )
elseIF niItem>0 .AND. !lHead
FWRITE( Self:nHandle, ':h2 id='+ ::aIndRef[niItem] + ' res=' + ALLTRIM( STR( nItem ) ) + '.' + cTopic + CRLF )
Endif
lHead:=.F.
If Self:ScanRef(cRefCateg)==0
nrItem := ASCAN( Self:aHeadRef, { | a | upper(a) == upper(cRefCateg )} )
FWRITE( Self:nHandle, ':i1 id=' + ::aHeadRef[nrItem] + "."+ UPPER( cCategory ) + CRLF)