See changelog 20000619-23:05 GMT -3
This commit is contained in:
@@ -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$
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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$
|
||||
*/
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1206,7 +1206,7 @@ FUNCTION ProcChmTable( cBuffer, nNum )
|
||||
cBuffer := STRTRAN( cBuffer, ">", ">" )
|
||||
|
||||
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
|
||||
|
||||
@@ -1208,7 +1208,7 @@ FUNCTION ProchtmTable( cBuffer, nNum )
|
||||
cBuffer := STRTRAN( cBuffer, ">", ">" )
|
||||
|
||||
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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -888,7 +888,7 @@ FUNCTION ProcOs2Table( cBuffer , nNum )
|
||||
cBuffer := STRTRAN( cBuffer, ">", ">." )
|
||||
|
||||
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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user