From 01c90d7d2d075049dc87d741e29d1d04cc018867 Mon Sep 17 00:00:00 2001 From: Luiz Rafael Culik Date: Wed, 1 Mar 2000 17:10:21 +0000 Subject: [PATCH] See changelog 20000301 14:10 --- harbour/ChangeLog | 19 ++ harbour/doc/en/array.txt | 27 +- harbour/doc/en/file.txt | 15 +- harbour/doc/harbext.txt | 2 +- harbour/source/tools/html.prg | 29 +- harbour/source/tools/rtf.prg | 87 ++++- harbour/source/tools/strasint.c | 2 + harbour/source/tools/troff.prg | 1 + harbour/utils/hbdoc/alpha.lnk | 8 +- harbour/utils/hbdoc/genhtm.prg | 534 ++++++++++++++++++++++++++----- harbour/utils/hbdoc/genng.prg | 18 +- harbour/utils/hbdoc/genrtf.prg | 313 ++++++++++++++---- harbour/utils/hbdoc/hbdoc.prg | 46 +-- harbour/utils/hbdoc/hrb.rsp | 118 ++----- harbour/utils/hbdoc/hrbtools.rsp | 165 ++-------- 15 files changed, 927 insertions(+), 457 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index e120872b6f..a12f7fe8e2 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,22 @@ +20000301-14:10 GMT-3 Luiz Rafael Culik + *doc/en/ARRAY.TXT + *added Copyright header + *small changes to the docs + *doc/en/FILE.TXT + *small changes to the docs + *source/tools/rtf.prg + *source/tools/os2.prg + *source/tools/html.prg + *Some changes to generate a better output + *utils/hbdoc/hbdoc.prg + *Changes to reflect the new file outputs + *utils/hbdoc/genrtf.prg + *utils/hbdoc/genhtm.prg + *utils/hbdoc/genos2.prg + *Changes to reflect the changes of the classes + *utils/hbdoc/hrb.rsp + *utils/hbdoc/hrbtools.rsp + *Change to use the new docs dir 20000301-14:34 GMT+1 Victor Szakats * source/rtl/console.c source/rtl/oldclear.c diff --git a/harbour/doc/en/array.txt b/harbour/doc/en/array.txt index 3ed4a9a8df..31be3ba71b 100644 --- a/harbour/doc/en/array.txt +++ b/harbour/doc/en/array.txt @@ -9,6 +9,9 @@ * Copyright 1999 Chen Kedem * Documentation for: ASORT() * + * Copyright 1999 Luiz Rafael Culik + * Documentation for: ARRAY(),AADD(),ACLONE(),ACOPY(),ASIZE() + * ATAIL(),AINS(),ADEL(),AFILL(),ASCAN(),AEVAL() * See doc/license.txt for licensing terms. * */ @@ -25,7 +28,7 @@ * $ARGUMENTS$ * is the number of elements in the specified dimension. * $RETURNS$ - * ARRAY() returns an array of specified dimensions. + * an array of specified dimensions. * $DESCRIPTION$ * This function returns an uninitialized array with the length of * . Nested arrays are uninitialized within the same array @@ -69,8 +72,8 @@ * * Element to add to array * $RETURNS$ - * The value of if specified, otherwise this function - * returns a NIL value. + * if specified , will return , otherwise + * this function returns a NIL value. * $DESCRIPTION$ * This function dynamically increases the length of the array * named by one element and stores the value of to @@ -106,7 +109,7 @@ * * Numeric value representing the new size of * $RETURNS$ - * ASIZE() returns an array pointer reference to . + * an array pointer reference to . * $DESCRIPTION$ * This function will dynamically increase or decrease the size * of by adjusting the length of the array to subscript @@ -143,7 +146,7 @@ * $ARGUMENTS$ * is the array. * $RETURNS$ - * Atail() return the expression of the last element in the array. + * the expression of the last element in the array. * $DESCRIPTION$ * This function return the value of the last element in the array named * . This function does not alter the size of the array or any of @@ -176,7 +179,7 @@ * * Subscript position in * $RETURNS$ - * AINS() returns a array pointer reference to . + * an array pointer reference. * $DESCRIPTION$ * This function inserts a NIL value in the array named * at the th position. @@ -215,7 +218,7 @@ * * Subscript of the element to be removed. * $RETURNS$ - * ADEL() Returns an array pointer reference to . + * an array pointer reference. * $DESCRIPTION$ * This function deletes the element found at subscript * position in the array . All elements in the array @@ -259,7 +262,7 @@ * * Number of subscript to be filled * $RETURNS$ - * AFILL() returns an array pointer to . + * an array pointer. * $DESCRIPTION$ * This function will fill each element of an array named with * the value . If specified, denotes the beginning @@ -360,7 +363,7 @@ * * The number of elements to process. * $RETURNS$ - * AEVAL() returns an array pointer reference. + * an array pointer reference. * $DESCRIPTION$ * This function will evaluate and process the subscript elements * in . A code block passed as defines the @@ -410,7 +413,7 @@ * the starting subscript position in to copy * elements to. * $RETURNS$ - * ACOPY() returns an array pointer reference + * an array pointer reference * $DESCRIPTION$ * This function copies array elements from to . * is the beginning element to be copied from ; the @@ -459,7 +462,7 @@ * $ARGUMENTS$ * Name of the array to be cloned. * $RETURNS$ - * ACLONE() A new array pointer reference complete with nested array + * A new array pointer reference complete with nested array * values. * $DESCRIPTION$ * This function makes a complete copy of the array expressed as @@ -508,7 +511,7 @@ * {| x, y | x < y }. The code block should accept two parameters and * must return .T. if the sort is in order, .F. if not. * $RETURNS$ - * ASORT() return reference to the now sorted or NIL if the + * reference to the now sorted or NIL if the * passed is not an array. * $DESCRIPTION$ * ASORT() sort all or part of a given array. If is omitted, diff --git a/harbour/doc/en/file.txt b/harbour/doc/en/file.txt index 3bbf43ac5c..8cd3e9d572 100644 --- a/harbour/doc/en/file.txt +++ b/harbour/doc/en/file.txt @@ -51,7 +51,7 @@ * accessibility of the file in a network environment. * * $RETURNS$ - * FOPEN() returns a DOS file handle + * a DOS file handle * $DESCRIPTION$ * This function opens a file expressed as and returns a DOS * file handle to be used with other low-level file functions.The @@ -165,7 +165,7 @@ * Character expression passed by reference * Number of bytes to read. * $RETURNS$ - * FREAD() returns the number of bytes successfyly read from the file + * the number of bytes successfyly read from the file * * $DESCRIPTION$ * This function reads the characters from a DOS file whose file handle @@ -219,7 +219,7 @@ * Character expression to be written. * The number of bytes to write. * $RETURNS$ - * FWRITE() returns the number of bytes successfully written. + * the number of bytes successfully written. * $DESCRIPTION$ * This function writes the contents of to the file designa- * ted by its file handle . If used, is the number of @@ -411,7 +411,7 @@ * Old filenarne to he changed * New filename * $RETURNS$ - * FRENAME() returns If sucessful, a 0 will he returned otherwise, + * If sucessful, a 0 will he returned otherwise, * a -1 will be returned. * $DESCRIPTION$ * This function renames the specified file to . @@ -463,7 +463,7 @@ * The number of bytes to move. * The relative position in the file. * $RETURNS$ - * FSEEK() return the current position relative to begin-of-file + * the current position relative to begin-of-file * $DESCRIPTION$ * This function sets the file pointer in the file whose DOS file * handle is and moves the file pointer by bytes @@ -531,7 +531,8 @@ * $ARGUMENTS$ * Dos Skeleton or file name to find. * $RETURNS$ - * FILE() return a logical true (.T.) or logical false (.F.). + * a logical true (.T.) if the file exists or logical + * false (.F.). * $DESCRIPTION$ * This function return a logical true (.T.) if the given filename * exist. @@ -571,7 +572,7 @@ * * Number of bytes to read. * $RETURNS$ - * FREADSTR() return an characted expression + * an characted expression * $DESCRIPTION$ * This function returns a character string of bytes from a * file whose DOS file handle is . diff --git a/harbour/doc/harbext.txt b/harbour/doc/harbext.txt index 29f86af875..7e5ff061b4 100644 --- a/harbour/doc/harbext.txt +++ b/harbour/doc/harbext.txt @@ -63,6 +63,6 @@ * Could affect Adir() and Dir if they were modified to take advantage * of it - currently, they will return long names if the os supports it. * - ** $END$ + * $END$ */ diff --git a/harbour/source/tools/html.prg b/harbour/source/tools/html.prg index c70a58afbe..2b601e7126 100644 --- a/harbour/source/tools/html.prg +++ b/harbour/source/tools/html.prg @@ -34,9 +34,9 @@ */ #include 'hbclass.ch' - +#include 'common.ch' #define CRLF HB_OSNewLine() - +Static nX:=0 *+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± *+ *+ Class THTML @@ -58,13 +58,16 @@ CLASS THTML ENDCLASS METHOD New( cFile ) CLASS THTML + If Nx >0 + FCLOSE(NX) + ENDIF IF VALTYPE( cFile ) <> NIL .AND. VALTYPE( cFile ) == "C" Self:cFile := LOWER( cFile ) Self:nHandle := FCREATE( Self:cFile ) ENDIF - - FWRITE( Self:nHandle, "" + CRLF ) + nX := Self:nHandle + FWRITE( Self:nHandle, "" + CRLF ) RETURN Self @@ -87,11 +90,20 @@ METHOD WriteText( cPar ) CLASS THTML RETURN Self -METHOD WriteParBold( cPar ) CLASS THTML +METHOD WriteParBold( cPar,lEndDl,lPar ) CLASS THTML + DEFAULT lEnddl to .T. + DEFAULT lPar to .T. + If lEndDl .and. lPar + FWRITE( Self:nHandle,"

"+CRLF+ ""+CRLF+"
"+CRLF+"
" + Alltrim(cPar) + '
' + CRLF ) + ELSEif !lPar .and. !lEnddl + FWRITE( Self:nHandle,'
'+CRLF+"
" + Alltrim(cPar) + '
' + CRLF ) + ELSEif !lPar .and. lEnddl + FWRITE( Self:nHandle,""+CRLF+"
"+CRLF+ "
"+CRLF+"
" + Alltrim(cPar) + '
' + CRLF ) + ELSEif lPar .and. !lEnddl + FWRITE( Self:nHandle,"

"+CRLF+"
"+CRLF+"
" + Alltrim(cPar) + '
' + CRLF ) - FWRITE( Self:nHandle, "
"+CRLF+"
"+CRLF+"
" + Alltrim(cPar) + '
' + CRLF ) - -RETURN Self + ENDIF +RETURN Self METHOD CLOSE() CLASS THTML @@ -118,5 +130,6 @@ METHOD WriteLink( cLink ,cName ) CLASS THTML FWRITE( Self:nHandle, "
  • " + cLink + "
  • " + CRLF ) + RETURN Self diff --git a/harbour/source/tools/rtf.prg b/harbour/source/tools/rtf.prg index 8ddf91086f..c763fdaf5b 100644 --- a/harbour/source/tools/rtf.prg +++ b/harbour/source/tools/rtf.prg @@ -36,7 +36,7 @@ #define CRLF HB_OSNewLine() #include 'hbclass.ch' - +#include 'common.ch' *+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± *+ *+ Class TRTF @@ -50,11 +50,16 @@ CLASS TRTF METHOD WriteHeader() METHOD New( cFile ) METHOD WritePar( cPar ) + METHOD WriteParText( cPar ) METHOD WriteLink( clink ) + METHOD WriteJumpLink( clink ) METHOD Close() - METHOD WriteParBold( cPar ) + METHOD WriteParBold( cPar ,lCenter) + METHOD WriteParBoldText( cPar ,cText) METHOD WriteTitle( cTitle, cTopic ) + METHOD WriteJumpTitle( cTitle, cTopic ) METHOD EndPar() + METHOD EndPage() ENDCLASS METHOD NEW( cFile ) CLASS TRTF @@ -66,7 +71,7 @@ RETURN Self METHOD WriteHeader() CLASS TRTF - LOCAL cHeader := '{\rtf1\ansi\pard\plain\fs20' + CRLF + ; + LOCAL cHeader := '{\rtf1\ansi\pard\fs20' + CRLF + ; '\deff5{\fonttbl' + CRLF + ; '{\f0\froman Tms Rmn;}' + CRLF + ; '{\f1\fdecor Symbol;}' + CRLF + ; @@ -112,18 +117,36 @@ RETURN Self METHOD WritePar( cPar ) CLASS TRTF cPar:=StrTran(cPar,"{","\{") cPar:=StrTran(cPar,"}","\}") - FWRITE( Self:nHandle, '\pard{\cf1\fs30 ' + HB_OEMTOANSI(" ")+ HB_OEMTOANSI(cPar )) + FWRITE( Self:nHandle, '\par \pard\cf1\f6\fs20' + HB_OEMTOANSI(cPar )+CRLF) +RETURN Self +METHOD WriteParText( cPar ) CLASS TRTF + cPar:=StrTran(cPar,"{","\{") + cPar:=StrTran(cPar,"}","\}") + FWRITE( Self:nHandle, HB_OEMTOANSI(cPar )+CRLF) RETURN Self - METHOD EndPar() CLASS TRTF - FWRITE( Self:nHandle, ' }\par' + CRLF ) + FWRITE( Self:nHandle, '\par' + CRLF ) RETURN Self -METHOD WriteParBold( cPar ) CLASS TRTF +METHOD WriteParBold( cPar,lCenter ) CLASS TRTF + DEFAULT lCenter to .F. + cPar:=StrTran(cPar,"{","\{") + cPar:=StrTran(cPar,"}","\}") + if lCenter + FWRITE( Self:nHandle, '\par \pard\qc\cf1\f6\fs30\i\b ' + ALLTRIM(HB_OEMTOANSI( cPar )) + CRLF ) + else + FWRITE( Self:nHandle, '\par \pard\cf1\f6\fs30\i\b ' + ALLTRIM(HB_OEMTOANSI( cPar )) + CRLF ) + Endif +RETURN Self + +METHOD WriteParBoldText( cPar,cText ) CLASS TRTF cPar:=StrTran(cPar,"{","\{") cPar:=StrTran(cPar,"}","\}") - FWRITE( Self:nHandle, '\pard{\plain\cf1\f2\fs30\i\b\qc ' + ALLTRIM(HB_OEMTOANSI( cPar )) + ' }\par' + CRLF ) + cText:=StrTran(cText,"{","\{") + cText:=StrTran(cText,"}","\}") + + FWRITE( Self:nHandle, '\par \pard\cf1\f6\fs20\i\b ' + ALLTRIM(HB_OEMTOANSI( cPar )) + ' \b\cf1\f6\fs20\i ' +ALLTRIM(HB_OEMTOANSI(cText)) + CRLF ) RETURN Self METHOD WriteTitle( cTitle, cTopic ) CLASS TRTF @@ -143,10 +166,37 @@ METHOD WriteTitle( cTitle, cTopic ) CLASS TRTF cTopic := ALLTRIM( HB_OEMTOANSI(cTopic )) - cWrite := '{\f2' + CRLF + ; - ' #{\footnote \pard\plain \fs20 # ' + "IDH_"+cTemp + ' }' + CRLF + ; - ' ${\footnote \pard\plain \fs20 $ ' + ALLTRIM( cTopic ) + ' }' + CRLF + ; - ' K{\footnote \pard\plain \fs20 K ' + ALLTRIM( cTopic ) + ' }' + CRLF + ; + cWrite := '{\f6' + CRLF + ; + ' #{\footnote \pard\fs20 # ' + "IDH_"+cTemp + ' }' + CRLF + ; + ' ${\footnote \pard\fs20 $ ' + ALLTRIM( cTopic ) + ' }' + CRLF + ; + ' K{\footnote \pard\fs20 K ' + ALLTRIM( cTopic ) + ' }' + CRLF + ; + '}' + CRLF + + FWRITE( Self:nHandle, cWrite ) + + FWRITE( Self:nHandle, '\pard\qc\cf1\f6\fs30\i\b ' + ALLTRIM(HB_OEMTOANSI( cTopic )) + CRLF ) +RETURN Self + +METHOD WriteJumpTitle( cTitle, cTopic ) CLASS TRTF + + LOCAL cTemp + LOCAL nPos + LOCAL cWrite + + nPos := AT( "()", cTitle ) + + IF nPos > 0 + cTemp := ALLTRIM( HB_OEMTOANSI(STRTRAN( cTitle, "()", "xx" ) )) + ELSE + cTemp := HB_OEMTOANSI(ALLTRIM( cTitle )) + cTemp :=STRTRAN( cTemp,"@", "x" ) + ENDIF + + cTopic := ALLTRIM( HB_OEMTOANSI(cTopic )) + + cWrite := '{\f6' + CRLF + ; + ' #{\footnote \pard\fs20 # ' + "IDH_"+cTemp + ' }' + CRLF + ; + ' ${\footnote \pard\fs20 $ ' + ALLTRIM( cTopic ) + ' }' + CRLF + ; '}' + CRLF FWRITE( Self:nHandle, cWrite ) @@ -154,12 +204,14 @@ METHOD WriteTitle( cTitle, cTopic ) CLASS TRTF Self:WriteParBold( cTopic ) RETURN Self +METHOD EndPage() CLASS TRTF + FWRITE( Self:nHandle,"\par "+CRLF+ '\page' + CRLF ) +Return Self METHOD CLOSE() CLASS TRTF - FWRITE( Self:nHandle, '\page' + CRLF ) - FWRITE( Self:nHandle, '}' + CRLF ) +// FWRITE( Self:nHandle, '}' + CRLF ) FCLOSE( Self:nHandle ) @@ -167,7 +219,12 @@ RETURN Self METHOD WriteLink( cLink ) CLASS TRTF - FWRITE( Self:nHandle, '\pard{\cf1\fs30 {\f2\uldb ' + ALLTRIM( HB_OEMTOANSI(cLink) ) + '}{\v\f2 ' + "IDH_"+IF(AT( "()",cLink)>0 , ALLTRIM( HB_OEMTOANSI(STRTRAN( cLink, "()", "xx" ) )),ALLTRIM( HB_OEMTOANSI(STRTRAN( cLink, "@", "x" )) )) + '} }\par' + CRLF ) + FWRITE( Self:nHandle, '\par \pard\cf1\fs20 {\f6\uldb '+ ALLTRIM( HB_OEMTOANSI(cLink) ) + '}{\v\f6 ' + "IDH_"+IF(AT( "()",cLink)>0 , ALLTRIM( HB_OEMTOANSI(STRTRAN( cLink, "()", "xx" ) )),ALLTRIM( HB_OEMTOANSI(STRTRAN( cLink, "@", "x" )) )) + '}' + CRLF ) + +RETURN Self +METHOD WriteJumpLink( cLink,cName,cText ) CLASS TRTF + + FWRITE( Self:nHandle, '\par \pard\cf1\fs20 {\f6\ul '+ ALLTRIM( HB_OEMTOANSI(cName) ) + '}{\v\f6 ' + "IDH_"+IF(AT( "()",cLink)>0 , ALLTRIM( HB_OEMTOANSI(STRTRAN( cLink, "()", "xx" ) )),ALLTRIM( HB_OEMTOANSI(STRTRAN( cLink, "@", "x" )) )) + '}'+cText+ CRLF ) RETURN Self diff --git a/harbour/source/tools/strasint.c b/harbour/source/tools/strasint.c index b2e92e8ea6..34379faa86 100644 --- a/harbour/source/tools/strasint.c +++ b/harbour/source/tools/strasint.c @@ -31,3 +31,5 @@ int _GT_Internal_StringAsInt(char *String, int Start, int End) } return(Value); } +\page +} diff --git a/harbour/source/tools/troff.prg b/harbour/source/tools/troff.prg index 76bcb3877c..37e07494cc 100644 --- a/harbour/source/tools/troff.prg +++ b/harbour/source/tools/troff.prg @@ -135,3 +135,4 @@ METHOD WriteLink( cLink ) CLASS TTROFF FWRITE( Self:nHandle, ALLTRIM( cLink ) +CRLF) RETURN Self + diff --git a/harbour/utils/hbdoc/alpha.lnk b/harbour/utils/hbdoc/alpha.lnk index 959f6461f9..f6c19034d1 100644 --- a/harbour/utils/hbdoc/alpha.lnk +++ b/harbour/utils/hbdoc/alpha.lnk @@ -1,15 +1,19 @@ !name: Harbour build 31a reference Guide !credits: Harbour (c) http://www.harbour-project.org - 2000/01/18 build By Luiz Rafael Culik + 2000/02/28 build By Luiz Rafael Culik Functions Documented by: - Chen Kedem, Luiz Rafael Culik + Chen Kedem, Luiz Rafael Culik,Brian Hays !menu: Reference Functions A-M funcam.ngo Functions N-_ funcn_.ngo Command comm.ngo +Tools Tools.ngo +OOP Commands oopcom.ngo !menu: Harbour Compiler Options Compil~1.ngo GNU License gnulic~1.ngo GNU License P2 gnulic~2.ngo License license.ngo Readme overview.ngo +Harbour Extension harbou~1.ngo + diff --git a/harbour/utils/hbdoc/genhtm.prg b/harbour/utils/hbdoc/genhtm.prg index 32a6c35725..69cdf0f43b 100644 --- a/harbour/utils/hbdoc/genhtm.prg +++ b/harbour/utils/hbdoc/genhtm.prg @@ -81,12 +81,15 @@ FUNCTION ProcessWww() #define D_ONELINE 7 #define D_STATUS 8 #define D_EXAMPLE 9 +#define D_DATALINK 10 +#define D_METHODLINK 11 LOCAL i LOCAL j LOCAL nFiles := LEN( aDirList ) LOCAL nCommentLen LOCAL lEof LOCAL lDoc + LOCAL lClassDoc LOCAL cBuffer LOCAL nEnd LOCAL nCount @@ -102,37 +105,54 @@ FUNCTION ProcessWww() LOCAL cTemp LOCAL cChar LOCAL nPos - LOCAL lFirstArg := .T. - LOCAL lAddEndPreTag := .T. + LOCAL lFirstSintax := .T. + LOCAL lAddEndPreTag := .F. LOCAL lEndDesc := .F. LOCAL lEndArgs :=.F. LOCAL lEndSyntax := .F. LOCAL lEndReturns := .F. + LOCAL lEndData := .F. + LOCAL lDataLink + LOCAL lBlankLine := .F. // Blank line encountered and sent out LOCAL lAddBlank := .F. // Need to add a blank line if next line is not blank LOCAL oHtm LOCAL nReadHandle - LOCAL cDoc := DELIM + "DOC" + DELIM // DOC keyword - LOCAL cEnd := DELIM + "END" + DELIM // END keyword - LOCAL cFunc := DELIM + "FUNCNAME" + DELIM // FUNCNAME keyword - LOCAL cCat := DELIM + "CATEGORY" + DELIM // CATEGORY keyword - LOCAL cOne := DELIM + "ONELINER" + DELIM // ONELINER keyword - LOCAL cSyn := DELIM + "SYNTAX" + DELIM // SYNTAX keyword - LOCAL cArg := DELIM + "ARGUMENTS" + DELIM // ARGUMENTS keyword - LOCAL cRet := DELIM + "RETURNS" + DELIM // RETURNS keyword - LOCAL cDesc := DELIM + "DESCRIPTION" + DELIM // DESCRIPTION keyword - LOCAL cExam := DELIM + "EXAMPLES" + DELIM // EXAMPLES keyword - LOCAL cSee := DELIM + "SEEALSO" + DELIM // SEEALSO keyword - LOCAL cInc := DELIM + "INCLUDE" + DELIM // INCLUDE keyword - LOCAL cComm := DELIM + "COMMANDNAME" + DELIM // COMMAND keyword - LOCAL cCompl := DELIM + "COMPLIANCE" + DELIM - LOCAL cTest := DELIM + 'TESTS' + DELIM - LOCAL cStatus := DELIM + 'STATUS' + DELIM - LOCAL cPlat := DELIM + 'PLATFORMS' + DELIM - LOCAL cFiles := DELIM + 'FILES' + DELIM - LOCAL cSubCode := DELIM + 'SUBCODE' + DELIM - LOCAL cFunction := DELIM + 'FUNCTION' +DELIM - + LOCAL lEndConstru := .F. + LOCAL lFirstPass:= .T. + LOCAL lFirstArg := .T. + LOCAL lData := .F. + LOCAL lEndDataLink := .F. + LOCAL lEndMethodLink := .F. + LOCAL lMethod := .F. + LOCAL cDoc := DELIM + "DOC" + DELIM // DOC keyword + LOCAL cEnd := DELIM + "END" + DELIM // END keyword + LOCAL cFunc := DELIM + "FUNCNAME" + DELIM // FUNCNAME keyword + LOCAL cCat := DELIM + "CATEGORY" + DELIM // CATEGORY keyword + LOCAL cOne := DELIM + "ONELINER" + DELIM // ONELINER keyword + LOCAL cSyn := DELIM + "SYNTAX" + DELIM // SYNTAX keyword + LOCAL cArg := DELIM + "ARGUMENTS" + DELIM // ARGUMENTS keyword + LOCAL cRet := DELIM + "RETURNS" + DELIM // RETURNS keyword + LOCAL cDesc := DELIM + "DESCRIPTION" + DELIM // DESCRIPTION keyword + LOCAL cExam := DELIM + "EXAMPLES" + DELIM // EXAMPLES keyword + LOCAL cSee := DELIM + "SEEALSO" + DELIM // SEEALSO keyword + LOCAL cInc := DELIM + "INCLUDE" + DELIM // INCLUDE keyword + LOCAL cComm := DELIM + "COMMANDNAME" + DELIM // COMMAND keyword + LOCAL cCompl := DELIM + "COMPLIANCE" + DELIM + LOCAL cTest := DELIM + 'TESTS' + DELIM + LOCAL cStatus := DELIM + 'STATUS' + DELIM + LOCAL cPlat := DELIM + 'PLATFORMS' + DELIM + LOCAL cFiles := DELIM + 'FILES' + DELIM + LOCAL cSubCode := DELIM + 'SUBCODE' + DELIM + LOCAL cFunction := DELIM + 'FUNCTION' +DELIM + LOCAL cConstruct := DELIM + 'CONSTRUCTOR' + DELIM + LOCAL cDatalink := DELIM + 'DATALINK' + DELIM + LOCAL cDatanolink := DELIM + 'DATANOLINK' + DELIM + LOCAL cMethodslink := DELIM + 'METHODSLINK' + DELIM + LOCAL cMethodsNolink := DELIM + 'METHODSNOLINK' + DELIM + LOCAL cData := DELIM +"DATA"+ DELIM + LOCAL cMethod := DELIM +'METHOD' +DELIM + LOCAL cClassDoc := DELIM+ "CLASSDOC" + DELIM // // Entry Point // @@ -141,6 +161,8 @@ FUNCTION ProcessWww() @ MODULELINE, 20 SAY "Documenting: " // loop through all of the files lFirstArg:=.T. + lFirstPass:=.T. + lFirstSintax:=.T. FOR i := 1 TO nFiles // Open file for input @@ -162,6 +184,7 @@ FUNCTION ProcessWww() ENDIF lEof := .F. lDoc := .F. + lClassDoc:= .F. // First find the author DO WHILE .NOT. lEof @@ -176,7 +199,7 @@ FUNCTION ProcessWww() // check to see if we are in doc mode or getting out of doc mode IF AT( cDoc, cBuffer ) > 0 - IF lDoc + IF lDoc write_error( cDoc + " encountered during extraction of Doc" ; + " at line" + STR( nLinecnt, 5, 0 ),,,, aDirList[ i, F_NAME ] ) ENDIF @@ -186,8 +209,20 @@ FUNCTION ProcessWww() nLineCnt ++ cCategory := cFuncName := cSeeAlso := "" nMode := D_IGNORE + ELSEIF AT( cClassDoc, cBuffer ) > 0 + IF lClassDoc + write_error( cDoc + " encountered during extraction of Doc" ; + + " at line" + STR( nLinecnt, 5, 0 ),,,, aDirList[ i, F_NAME ] ) + ENDIF + lClassDoc := .T. + cBuffer := TRIM( SUBSTR( ReadLN( @lEof ), ; + nCommentLen ) ) + nLineCnt ++ + cCategory := cFuncName := cSeeAlso := "" + nMode := D_IGNORE + ELSEIF AT( cEnd, cBuffer ) > 0 - IF .NOT. lDoc + IF .NOT. lDoc .and. !lClassDoc write_error( cEnd + " encountered outside of Doc area at line" ; + STR( nLinecnt, 5, 0 ),,,, aDirList[ i, F_NAME ] ) ELSE @@ -203,27 +238,53 @@ FUNCTION ProcessWww() ENDIF AADD( aDocInfo, { cCategory, cFuncName, cOneLine, cFileName } ) // Now close down this little piece - lDoc := .F. IF .NOT. EMPTY( cSeeAlso ) oHtm:WriteParBold( "See Also " ) oHtm:WriteText("
      ") ProcWwwalso( oHtm, cSeealso ) - oHtm:WriteText("
    ") - ENDIF - oHtm:WriteText("
    ") - oHtm:Close() + oHtm:WriteText("
    ") + if lDoc + oHtm:WriteText("
    ") + oHtm:Close() + Endif + + ENDIF + lDoc := .F. + lClassDoc := .F. + + if lEndReturns .and. lClassDoc + lEndReturns:=.f. + oHtm:WriteText("

    ") + endif + if lEndArgs .and. lClassDoc + lEndArgs:=.f. + oHtm:WriteText("

    ") + endif + + + // if lClassDoc +// Rename htm\temp.htm to (cFileName) + // Erase htm\temp.htm + // ENDIF + nMode := D_IGNORE ENDIF @ MODULELINE, 33 CLEAR TO MODULELINE, MAXCOL() ENDIF - // Act on the input - IF lDoc + + + + + + + IF lDoc .or. lClassDoc // 1) function name - IF AT( cFunc, cBuffer ) > 0 .OR. AT( cComm, cBuffer ) > 0 .OR. AT( cSubCode, cBuffer ) >0 + IF AT( cFunc, cBuffer ) > 0 .OR. AT( cComm, cBuffer ) > 0 .OR. AT( cSubCode, cBuffer ) >0 + cBuffer := ReadLN( @lEof ) nLineCnt ++ // Save the function name @@ -277,12 +338,45 @@ FUNCTION ProcessWww() // Add on the extension cFileName := LEFT( cFileName, 21 ) + ".htm" - - oHTM := THTML():new( "htm\" + LOWER( cFileName ) ) - IF oHtm:nHandle < 1 + if lDoc + oHtm:=THTML():New('htm\'+cFileName) + endif + IF lFirstPass .and. lClassDoc + lFirstPass:=.F. + oHtm:=THTML():New('htm\'+cFileName) + ENDIF + IF ohtm:nHandle < 1 ? "Error creating", cFileName, ".htm" write_error( "Error creating",,,, cFileName + ".htm" ) ENDIF + + ELSEIF AT( cdata, cBuffer ) > 0 .OR. AT( cmethod, cBuffer ) > 0 .and. lClassDoc + if AT( cdata, cBuffer ) > 0 + lData := .T. + lMethod := .F. + ELSEIF AT( cmethod, cBuffer ) > 0 + lMethod := .T. + lData:= .F. + ENDIF + + cBuffer := ReadLN( @lEof ) + nLineCnt ++ + // Save the function name + cFuncName := UPPER( ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) ) + @ MODULELINE, 33 CLEAR TO MODULELINE, MAXCOL() + @ MODULELINE, 33 SAY cFuncName + + nMode := D_NORMAL + if AT("(",cfuncname)>0 + cFuncname:=substr(cFuncName,1,AT("(",cFuncName)-1) + endif + if lEndDesc .and. lClassDoc + lEndDesc:=.f. + oHtm:WriteText("

    ") + endif + + oHtm:WriteText("") + // 2) Category ELSEIF AT( cCat, cBuffer ) > 0 cBuffer := ReadLN( @lEof ) @@ -303,26 +397,32 @@ FUNCTION ProcessWww() nMode := D_ONELINE // Now start writing out what we know - oHtm:WriteText("

    "+ alltrim(PAD( cFuncName, 21 )) + "

    ") - AADD( aWWW,{ cFuncName+" "+UPPERLOWER(cOneLine),LEFT(cFileName,AT(".",cFileName)-1)} ) - oHtm:WriteText("

    "+cOneline+"

    "+ hb_osnewline()) + + if lData + oHtm:WriteText("

    DATA "+ alltrim(PAD( cFuncName, 21 )) + "

    ") + oHtm:WriteText("

    "+cOneline+"

    "+ hb_osnewline()) + ELSEIF lMethod + oHtm:WriteText("

    METHOD "+ alltrim(PAD( cFuncName, 21 )) + "

    ") + oHtm:WriteText("

    "+cOneline+"

    "+ hb_osnewline()) + ELSE + oHtm:WriteText("

    "+ alltrim(PAD( cFuncName, 21 )) + "

    ") + AADD( aWWW,{ cFuncName,LEFT(cFileName,AT(".",cFileName)-1)} ) + oHtm:WriteText("

    "+cOneline+"

    "+ hb_osnewline()) + Endif + lFirstSintax := .T. // 4) all other stuff ELSE + if lDoc IF AT( cSyn, cBuffer ) > 0 - - oHtm:WriteParBold( " Syntax" ) + oHtm:WriteParBold( " Syntax" ,.f.,.f.) ohtm:WriteText('

    ') nMode := D_SYNTAX lAddBlank := .T. lEndSyntax := .T. + ELSEIF AT( cArg, cBuffer ) > 0 - if lEndSyntax - lEndSyntax:=.f. - oHtm:WriteText("

    ") -/* oHtm:WriteText("") */ - endif oHtm:WriteParBold( " Arguments" ) ohtm:WriteText('

    ') @@ -331,11 +431,6 @@ FUNCTION ProcessWww() lAddBlank := .T. lEndArgs:=.t. ELSEIF AT( cRet, cBuffer ) > 0 - if lEndArgs - lEndArgs:=.f. - - oHtm:WriteText("

    ") - endif IF !lBlankLine * oHtm:WritePar( "" ) @@ -347,22 +442,18 @@ FUNCTION ProcessWww() lAddBlank := .T. lEndReturns:=.t. ELSEIF AT( cDesc, cBuffer ) > 0 - if lEndReturns - lEndReturns:=.f. - oHtm:WriteText("

    ") - endif + IF !lBlankLine + oHtm:WriteText( "
    " ) + ENDIF oHtm:WriteParBold( " Description" ) ohtm:WriteText('

    ') + nMode := D_NORMAL lAddBlank := .T. lEndDesc:=.t. ELSEIF AT( cExam, cBuffer ) > 0 - if lEndDesc - lEndDesc:=.f. - oHtm:WriteText("

    ") - endif IF !lBlankLine * oHtm:WritePar( "" ) @@ -375,51 +466,35 @@ FUNCTION ProcessWww() ELSEIF AT( cTest, cBuffer ) > 0 - if lAddEndPreTag - oHtm:WriteText("") - lAddEndPreTag:=.f. - Endif IF !lBlankLine * oHtm:WritePar( "" ) ENDIF - oHtm:WriteParBold( " Tests" ) - oHtm:WriteText("
    ")
    +                   oHtm:WriteParBold( " Tests", .t.,.f.)
    +                   oHtm:WriteText("

    ") nMode := D_NORMAL lAddBlank := .T. ELSEIF AT( cStatus, cBuffer ) > 0 - if lAddEndPreTag - oHtm:WriteText("

    ") - lAddEndPreTag:=.f. - Endif nMode := D_STATUS ELSEIF AT( cCompl, cBuffer ) > 0 - if lAddEndPreTag - oHtm:WriteText("") - lAddEndPreTag:=.f. - Endif IF !lBlankLine * oHtm:WritePar( "" ) ENDIF oHtm:WriteParBold( " Compliance" ) - oHtm:WriteText("
    ")
    +                  oHtm:WriteText("

    ") nMode := D_NORMAL lAddBlank := .T. ELSEIF AT( cPlat, cBuffer ) > 0 - if lAddEndPreTag - oHtm:WriteText("

    ") - lAddEndPreTag:=.f. - Endif IF !lBlankLine * oHtm:WritePar( "" ) ENDIF oHtm:WriteParBold( " Platforms" ) - oHtm:WriteText("
    ")
    +                  oHtm:WriteText("

    ") nMode := D_NORMAL lAddBlank := .T. ELSEIF AT( cFiles, cBuffer ) > 0 @@ -428,7 +503,260 @@ FUNCTION ProcessWww() * oHtm:WritePar( "" ) ENDIF oHtm:WriteParBold( " Files" ) + oHtm:WriteText("

    ") + nMode := D_NORMAL + lAddBlank := .T. + ELSEIF AT( cFunction, cBuffer ) > 0 + + IF !lBlankLine + * oHtm:WritePar( "" ) + ENDIF + oHtm:WriteParBold( " Functions" ) + oHtm:WriteText("

    ") + nMode := D_NORMAL + lAddBlank := .T. + + ELSEIF AT( cSee, cBuffer ) > 0 + nMode := D_SEEALSO + ELSEIF AT( cInc, cBuffer ) > 0 + nMode := D_INCLUDE + + + // All other input is trimmed of comments and sent out + + ELSE + // translate any \$ into $ + cBuffer := STRTRAN( cBuffer, "\" + DELIM, DELIM ) + IF nMode = D_SYNTAX + IF LEN( cBuffer ) > LONGLINE + write_error( "Syntax", cBuffer, nLineCnt, ; + LONGLINE, aDirList[ i, F_NAME ] ) + ENDIF + lBlankLine := EMPTY( cBuffer ) + IF lAddBlank + lAddBlank := .F. + ENDIF + cBuffer := ProcwwwBuf( cBuffer ) + if lFirstSintax + oHtm:WriteText( cBuffer ) + lFirstSintax:=.f. + Else + cBuffer:="
    "+cBuffer + oHtm:WriteText( cBuffer ) + Endif + lFirstArg := .T. + ELSEIF nMode = D_ARG + IF LEN( cBuffer ) > LONGLINE + write_error( "Arguments", cBuffer, nLineCnt, ; + LONGLINE, aDirList[ i, F_NAME ] ) + ENDIF + lBlankLine := EMPTY( cBuffer ) + IF lAddBlank + lAddBlank := .F. + ENDIF + IF AT("<",Alltrim(cBuffer))> 0 + nPos := AT("<",ALLTRIM(cBuffer)) + IF nPos <= 3 + cBuffer := STRTRAN( cBuffer, "<", "<" ) + cBuffer := STRTRAN( cBuffer, ">", ">" ) + IF lFirstArg + cBuffer:= "" + Substr(cBuffer,At("<",cBuffer)-1,At(">",cBuffer)-2)+""+Substr(cBuffer,At(">",cBuffer)+4) + lFirstArg:=.F. + ELSE + cBuffer:= "
    " + Substr(cBuffer,At("<",cBuffer)-1,At(">",cBuffer)-2)+""+Substr(cBuffer,At(">",cBuffer)+4) + ENDIF + ELSE + cBuffer := STRTRAN( cBuffer, "<", "<" ) + cBuffer := STRTRAN( cBuffer, ">", ">" ) + ENDIF + ENDIF + + oHtm:WriteText( cBuffer ) + + ELSEIF nMode = D_NORMAL + IF LEN( cBuffer ) > LONGLINE + write_error( "General", cBuffer, nLineCnt, ; + LONGLINE, aDirList[ i, F_NAME ] ) + ENDIF + lBlankLine := EMPTY( cBuffer ) + + IF lBlankLine + oHtm:WriteText('
    ') + lAddBlank := .F. + ENDIF + ohtm:WriteText(Alltrim(StripNgControls( cBuffer ))) + + ELSEIF nMode = D_EXAMPLE + IF LEN( cBuffer ) > LONGLINE + write_error( "General", cBuffer, nLineCnt, ; + LONGLINE, aDirList[ i, F_NAME ] ) + ENDIF + lBlankLine := EMPTY( cBuffer ) + IF lAddBlank + lAddBlank := .F. + ENDIF + oHtm:WriteText( strtran(StripNgControls( cBuffer ),space(6),"") ) + + ELSEIF nMode = D_SEEALSO + IF .NOT. EMPTY( cBuffer ) + cSeeAlso := StripFiles( ALLTRIM( cBuffer ) ) + ENDIF + ELSEIF nMode = D_INCLUDE + // read next line + IF .NOT. EMPTY( cBuffer ) + IF !lBlankLine + ENDIF + ENDIF + ELSEIF nMode = D_STATUS + IF !EMPTY( cBuffer ) + oHtm:WriteParBold( "Status" ) + oHtm:WriteText("

    ") + ENDIF + ProcStatusWww( oHtm, cBuffer ) + + ELSE + + // unknown data from somewhere + + write_error( "Unknown Data Type " + cBuffer,, ; + nLineCnt, ; + LONGONELINE, aDirList[ i, F_NAME ] ) + + ENDIF + ENDIF + ELSEIF lClassDoc + IF AT( cSyn, cBuffer ) > 0 .or. AT( cConstruct, cBuffer ) > 0 + IF AT( cSyn, cBuffer )>0 + oHtm:WriteParBold( " Syntax",.F.,.f. ) + ELSEIF AT( cConstruct, cBuffer ) > 0 + oHtm:WriteParBold( " Constructor syntax", .F.,.f.) + ENDIF + ohtm:WriteText('

    ') + nMode := D_SYNTAX + lAddBlank := .T. + lEndSyntax := .T. + + ELSEIF AT( cArg, cBuffer ) > 0 + + oHtm:WriteParBold( " Arguments" ) + ohtm:WriteText('

    ') + + nMode := D_ARG + lAddBlank := .T. + lEndArgs:=.t. + ELSEIF AT( cRet, cBuffer ) > 0 + + IF !lBlankLine +* oHtm:WritePar( "" ) + ENDIF + + oHtm:WriteParBold( " Returns" ) + ohtm:WriteText('

    ') + nMode := D_ARG + lAddBlank := .T. + lEndReturns := .T. + ELSEIF AT( cDesc, cBuffer ) > 0 + IF !lBlankLine + oHtm:WriteText( "
    " ) + ENDIF + + + oHtm:WriteParBold( " Description" ) + ohtm:WriteText('

    ') + nMode := D_NORMAL + lAddBlank := .T. + lEndDesc := .T. + ELSEIF AT( cdatalink, cBuffer ) > 0 + + oHtm:WriteParBold( " Data" ) + ohtm:WriteText('

    ') + nMode := D_DATALINK + lAddBlank := .T. + lEnddatalink := .T. + lIsDataLink := .T. + + ELSEIF AT( cDatanolink, cBuffer ) > 0 + if !lisdatalink + oHtm:WriteParBold( " Data" ) + + ohtm:WriteText('

    ') + endif + nMode := D_NORMAL + lAddBlank := .T. + lEndDatalink:=.t. + + ELSEIF AT( cMethodslink, cBuffer ) > 0 + + oHtm:WriteParBold( " Method" ) + ohtm:WriteText('

    ') + nMode := D_METHODLINK + lAddBlank := .T. + lEndMethodlink := .T. + lIsMethodLink := .T. + + ELSEIF AT( cMethodsnolink, cBuffer ) > 0 + if !lisdatalink + oHtm:WriteParBold( " METHOD" ) + + ohtm:WriteText('

    ') + endif + + nMode := D_NORMAL + lAddBlank := .T. + lEndMethodlink := .T. + + + ELSEIF AT( cExam, cBuffer ) > 0 + + IF !lBlankLine +* oHtm:WritePar( "" ) + ENDIF + oHtm:WriteParBold( " Examples" ) oHtm:WriteText("

    ")
    +                  nMode     := D_EXAMPLE
    +                  lAddBlank := .T.
    +                  lAddEndPreTag:=.T.                     
    +                  
    +
    +               ELSEIF AT( cTest, cBuffer ) > 0
    +
    +                  IF !lBlankLine
    + *                    oHtm:WritePar( "" )
    +                  ENDIF
    +                   oHtm:WriteParBold( " Tests" )
    +                   oHtm:WriteText("

    ") + nMode := D_NORMAL + lAddBlank := .T. + + ELSEIF AT( cStatus, cBuffer ) > 0 + + nMode := D_STATUS + + ELSEIF AT( cCompl, cBuffer ) > 0 + + IF !lBlankLine +* oHtm:WritePar( "" ) + ENDIF + oHtm:WriteParBold( " Compliance" ) + oHtm:WriteText("

    ") + nMode := D_NORMAL + lAddBlank := .T. + ELSEIF AT( cPlat, cBuffer ) > 0 + + IF !lBlankLine + * oHtm:WritePar( "" ) + ENDIF + oHtm:WriteParBold( " Platforms" ) + oHtm:WriteText("

    ") + nMode := D_NORMAL + lAddBlank := .T. + ELSEIF AT( cFiles, cBuffer ) > 0 + + IF !lBlankLine + * oHtm:WritePar( "" ) + ENDIF + oHtm:WriteParBold( " Files" ) + oHtm:WriteText("

    ") nMode := D_NORMAL lAddBlank := .T. ELSEIF AT( cFunction, cBuffer ) > 0 @@ -441,7 +769,7 @@ FUNCTION ProcessWww() * oHtm:WritePar( "" ) ENDIF oHtm:WriteParBold( " Functions" ) - oHtm:WriteText("

    ")
    +                  oHtm:WriteText("

    ") nMode := D_NORMAL lAddBlank := .T. @@ -460,6 +788,7 @@ FUNCTION ProcessWww() nMode := D_INCLUDE + // All other input is trimmed of comments and sent out ELSE @@ -517,6 +846,31 @@ FUNCTION ProcessWww() ENDIF ohtm:WriteText(Alltrim(StripNgControls( cBuffer ))) + ELSEIF nMode = D_DATALINK + IF LEN( cBuffer ) > LONGLINE + write_error( "General", cBuffer, nLineCnt, ; + LONGLINE, aDirList[ i, F_NAME ] ) + ENDIF + lBlankLine := EMPTY( cBuffer ) + IF lAddBlank + lAddBlank := .F. + ENDIF + cTemp:=ALLTRIM(Substr(cBuffer,1,AT(":",cBuffer)-1)) + ohtm:WriteText(""+ cBuffer+'') + + ELSEIF nMode = D_METHODLINK + IF LEN( cBuffer ) > LONGLINE + write_error( "General", cBuffer, nLineCnt, ; + LONGLINE, aDirList[ i, F_NAME ] ) + ENDIF + lBlankLine := EMPTY( cBuffer ) + IF lAddBlank + lAddBlank := .F. + ENDIF + cTemp:=ALLTRIM(Substr(cBuffer,1,AT("(",cBuffer)-1)) + ohtm:WriteText(""+ cBuffer+'') + + ELSEIF nMode = D_EXAMPLE IF LEN( cBuffer ) > LONGLINE write_error( "General", cBuffer, nLineCnt, ; @@ -555,12 +909,30 @@ FUNCTION ProcessWww() ENDIF ENDIF + + ENDIF +//////////////////// ENDIF ENDIF + + + if !lClassDoc .and. lEof + if valtype(oHtm)=="O" + oHtm:WriteText('

    ') + oHtm:Close() + Endif + + + ENDIF + ENDDO // Close down the input file FT_FUSE() + if lClassDoc + oHtm:Close() + Endif + NEXT RETURN nil /*********************************** @@ -672,5 +1044,5 @@ FUNCTION ProcStatusWww( nWriteHandle, cBuffer ) ELSE nWriteHandle:WriteText( " Not Started" ) ENDIF - nWriteHandle:WriteText( "

    ") + RETURN nil diff --git a/harbour/utils/hbdoc/genng.prg b/harbour/utils/hbdoc/genng.prg index da99daf56e..7b0095c966 100644 --- a/harbour/utils/hbdoc/genng.prg +++ b/harbour/utils/hbdoc/genng.prg @@ -468,7 +468,7 @@ FUNCTION ProcessiNg() IF !EMPTY( cBuffer ) oNgi:WriteParBold( "Status" ) ENDIF - ProcStatusWww( oNgi, cBuffer ) + ProcStatusNg( oNgi, cBuffer ) ELSE @@ -727,3 +727,19 @@ FUNCTION ProcNgiAlso2( cSeealso ) ENDIF NEXT RETURN aAlso + +FUNCTION ProcStatusng( nWriteHandle, cBuffer ) + IF LEN( ALLTRIM( cBuffer ) ) >1 + nWriteHandle:WritePar( cBuffer) + ELSEIF SUBSTR( ALLTRIM( cBuffer ), 1 ) == "R" + nWriteHandle:WritePar( " Ready" ) + ELSEIF SUBSTR( ALLTRIM( cBuffer ), 1 ) == "S" + nWriteHandle:WritePar( " Started" ) + ELSEIF SUBSTR( ALLTRIM( cBuffer ), 1 ) == "C" + nWriteHandle:WritePar( " Clipper" ) + ELSE + nWriteHandle:WritePar( " Not Started" ) + ENDIF + +RETURN nil + diff --git a/harbour/utils/hbdoc/genrtf.prg b/harbour/utils/hbdoc/genrtf.prg index bc0255d7f0..cbb350a11d 100644 --- a/harbour/utils/hbdoc/genrtf.prg +++ b/harbour/utils/hbdoc/genrtf.prg @@ -1,3 +1,4 @@ + /* * $Id$ */ @@ -81,6 +82,9 @@ FUNCTION ProcessRtf() #define D_INCLUDE 6 #define D_ONELINE 7 #define D_STATUS 8 +#define D_DATALINK 10 +#define D_METHODLINK 11 +#define D_EXAMPLE 12 LOCAL i LOCAL j LOCAL nFiles := LEN( aDirList ) @@ -91,7 +95,8 @@ FUNCTION ProcessRtf() LOCAL nEnd LOCAL nCount LOCAL xAddBlank - + LOCAL nNumTopics :=0 + LOCAL nCurTopics :=1 LOCAL cBar := "ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ" LOCAL nMode LOCAL cFuncName @@ -101,12 +106,17 @@ FUNCTION ProcessRtf() LOCAL nLineCnt LOCAL cSeeAlso LOCAL cTemp + LOCAL cTempx LOCAL cChar LOCAL lBlankLine := .F. // Blank line encountered and sent out LOCAL lAddBlank := .F. // Need to add a blank line if next line is not blank - + LOCAL lFirstArg := .T. + LOCAL lData := .F. + LOCAL lMethod := .F. LOCAL oRtf LOCAL nReadHandle + LOCAL lPar + LOCAL lWrite :=.f. LOCAL cDoc := DELIM + "DOC" + DELIM // DOC keyword LOCAL cEnd := DELIM + "END" + DELIM // END keyword LOCAL cFunc := DELIM + "FUNCNAME" + DELIM // FUNCNAME keyword @@ -127,8 +137,22 @@ FUNCTION ProcessRtf() LOCAL cFiles := DELIM + 'FILES' + DELIM LOCAL cSubCode := DELIM + 'SUBCODE' + DELIM LOCAL cFunction := DELIM + 'FUNCTION' +DELIM + LOCAL cConstruct := DELIM + 'CONSTRUCTOR' + DELIM + LOCAL cDatalink := DELIM + 'DATALINK' + DELIM + LOCAL cDatanolink := DELIM + 'DATANOLINK' + DELIM + LOCAL cMethodslink := DELIM + 'METHODSLINK' + DELIM + LOCAL cMethodsNolink := DELIM + 'METHODSNOLINK' + DELIM + LOCAL cData := DELIM +"DATA"+ DELIM + LOCAL cMethod := DELIM +'METHOD' +DELIM + LOCAL cClassDoc := DELIM+ "CLASSDOC" + DELIM + lFirstArg:=.T. + lData := .F. + lMethod := .F. + lIsDataLink := .F. + lIsMethodLink := .F. - + lWrite:=.f. + cTempx:='' // // Entry Point // @@ -136,7 +160,7 @@ FUNCTION ProcessRtf() @ INFILELINE, 20 SAY "Extracting: " @ MODULELINE, 20 SAY "Documenting: " // loop through all of the files - + oRtf := tRtf():new( "rtf\Harbour.rtf" ):WriteHeader() FOR i := 1 TO nFiles // Open file for input @@ -158,6 +182,9 @@ FUNCTION ProcessRtf() ENDIF lEof := .F. lDoc := .F. + lData:= .F. + lMethod := .F. + lPar:=.T. // First find the author DO WHILE .NOT. lEof @@ -171,8 +198,8 @@ FUNCTION ProcessRtf() ENDIF // check to see if we are in doc mode or getting out of doc mode - IF AT( cDoc, cBuffer ) > 0 - IF lDoc + IF AT( cDoc, cBuffer ) > 0 .or. AT( cClassDoc, cBuffer ) > 0 + IF lDoc write_error( cDoc + " encountered during extraction of Doc" ; + " at line" + STR( nLinecnt, 5, 0 ),,,, aDirList[ i, F_NAME ] ) ENDIF @@ -182,8 +209,9 @@ FUNCTION ProcessRtf() nLineCnt ++ cCategory := cFuncName := cSeeAlso := "" nMode := D_IGNORE + ELSEIF AT( cEnd, cBuffer ) > 0 - IF .NOT. lDoc + IF .NOT. lDoc write_error( cEnd + " encountered outside of Doc area at line" ; + STR( nLinecnt, 5, 0 ),,,, aDirList[ i, F_NAME ] ) ELSE @@ -198,15 +226,17 @@ FUNCTION ProcessRtf() cFuncName := "Unknown" ENDIF AADD( aDocInfo, { cCategory, cFuncName, cOneLine, cFileName } ) + // Now close down this little piece - lDoc := .F. - IF .NOT. EMPTY( cSeeAlso ) - oRtf:WritePar(""):EndPar() + IF .NOT. EMPTY( cSeeAlso ) + oRtf:WritePar("") //:endpar() oRtf:WriteParBold( "See Also" ) ProcRtfalso( oRtf, cSeealso ) - ENDIF - - oRtf:Close() + Endif + lDoc := .F. + if i 0 .OR. AT( cComm, cBuffer ) > 0 .OR. AT( cSubCode, cBuffer ) >0 cBuffer := ReadLN( @lEof ) nLineCnt ++ @@ -272,11 +300,29 @@ FUNCTION ProcessRtf() cFileName := LEFT( cFileName, 21 ) + ".rtf" - oRtf := TRTF():new( "rtf\" + cFileName ):WriteHeader() IF oRtf:nHandle < 1 ? "Error creating", cFileName, ".rtf" write_error( "Error creating",,,, cFileName + ".rtf" ) ENDIF + ELSEIF AT( cdata, cBuffer ) > 0 .OR. AT( cmethod, cBuffer ) > 0 + if AT( cdata, cBuffer ) > 0 + lData := .T. + lMethod := .F. + ELSEIF AT( cmethod, cBuffer ) > 0 + lMethod := .T. + lData:= .F. + ENDIF + cBuffer := ReadLN( @lEof ) + nLineCnt ++ + // Save the function name + cFuncName := UPPER( ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) ) + @ MODULELINE, 33 CLEAR TO MODULELINE, MAXCOL() + @ MODULELINE, 33 SAY cFuncName + + nMode := D_NORMAL + + // 2) Category + // 2) Category ELSEIF AT( cCat, cBuffer ) > 0 cBuffer := ReadLN( @lEof ) @@ -297,9 +343,15 @@ FUNCTION ProcessRtf() nMode := D_ONELINE // Now start writing out what we know + if lData + oRtf:WriteJumpTitle( left(cFilename,At('.',cFilename)-1)+ cFuncName, "Data "+cFuncName ) + Elseif lMethod + oRtf:WriteJumpTitle( left(cFilename,At('.',cFilename)-1)+cFuncName, "Method " +cFuncName ) + Else oRtf:WriteTitle( PAD( cFuncName, 21 ), cFuncName ) - oRtf:WriteParBold( cOneLine ) - oRtf:WritePar( cBar ):EndPar() + oRtf:WriteParBold( cOneLine,.t. ) + oRtf:WriteParBold( cBar,.t. ) + ENDIF // 4) all other stuff ELSE @@ -309,7 +361,16 @@ FUNCTION ProcessRtf() oRtf:WriteParBold( " Syntax" ) nMode := D_SYNTAX + lAddBlank := .T. + ELSEIF AT( cConstruct, cBuffer ) > 0 + + oRtf:WriteParBold( " Constructor syntax" ) + + nMode := D_SYNTAX + lAddBlank := .T. + + ELSEIF AT( cArg, cBuffer ) > 0 @@ -321,46 +382,87 @@ FUNCTION ProcessRtf() nMode := D_ARG lAddBlank := .T. - + lPar:=.t. ELSEIF AT( cRet, cBuffer ) > 0 IF !lBlankLine - oRtf:WritePar( "" ):EndPar() + oRtf:WritePar( "" ) //:endpar() ENDIF oRtf:WriteParBold( " Returns" ) nMode := D_ARG lAddBlank := .T. - + lPar:=.t. ELSEIF AT( cDesc, cBuffer ) > 0 - - IF !lBlankLine - oRtf:WritePar( "" ):EndPar() - ENDIF + oRtf:WritePar('') //:endpar() oRtf:WriteParBold( " Description" ) + oRtf:WritePar('') //:endpar() + nMode := D_NORMAL + + lAddBlank := .T. + lPar:= .T. + ELSEIF AT( cdatalink, cBuffer ) > 0 + IF !lBlankLine + oRtf:WritePar( "" ) //:endpar() + ENDIF + + oRtf:WriteParBold( " Data" ) + nMode := D_DATALINK + lAddBlank := .T. + + lIsDataLink := .T. + + ELSEIF AT( cDatanolink, cBuffer ) > 0 + if !lIsDataLink + oRtf:WriteParBold( " Data" ) + + endif + nMode := D_NORMAL + lAddBlank := .T. + lEndDatalink:=.T. + lPar:= .T. + ELSEIF AT( cMethodslink, cBuffer ) > 0 + + oRtf:WriteParBold( " Method" ) + nMode := D_METHODLINK + lAddBlank := .T. + + lIsMethodLink := .T. + + ELSEIF AT( cMethodsnolink, cBuffer ) > 0 + if !lIsMethodLink + oRtf:WriteParBold( " Methods" ) + endif nMode := D_NORMAL lAddBlank := .T. + lPar:= .T. + ELSEIF AT( cExam, cBuffer ) > 0 IF !lBlankLine - oRtf:WritePar( "" ):EndPar() + //ortf:endpar() + oRtf:WritePar('') //:endpar() + oRtf:WriteParBold( " Examples" ) ENDIF - oRtf:WriteParBold( " Examples" ) - nMode := D_NORMAL + + nMode := D_EXAMPLE lAddBlank := .T. + ELSEIF AT( cTest, cBuffer ) > 0 IF !lBlankLine - oRtf:WritePar( "" ):EndPar() + oRtf:WritePar('') //:endpar() + oRtf:WriteParBold( " Tests" ) + oRtf:WritePar('') //:endpar() ENDIF - oRtf:WriteParBold( " Tests" ) + nMode := D_NORMAL lAddBlank := .T. - + lPar:= .T. ELSEIF AT( cStatus, cBuffer ) > 0 nMode := D_STATUS @@ -368,40 +470,52 @@ FUNCTION ProcessRtf() ELSEIF AT( cCompl, cBuffer ) > 0 IF !lBlankLine - oRtf:WritePar( "" ):EndPar() + //ortf:endpar() + oRtf:WritePar('') //:endpar() + oRtf:WriteParBold( " Compliance" ) + oRtf:WritePar('') //:endpar() ENDIF - oRtf:WritePar( "" ):EndPar() - oRtf:WriteParBold( " Compliance" ) + nMode := D_NORMAL lAddBlank := .T. + lPar:= .T. ELSEIF AT( cPlat, cBuffer ) > 0 IF !lBlankLine - oRtf:WritePar( "" ):EndPar() + //ortf:endpar() + oRtf:WritePar('') //:endpar() + oRtf:WriteParBold( " Platforms" ) + oRtf:WritePar('') //:endpar() ENDIF - oRtf:WriteParBold( " Platforms" ) + nMode := D_NORMAL lAddBlank := .T. + lPar:= .T. ELSEIF AT( cFiles, cBuffer ) > 0 IF !lBlankLine - oRtf:WritePar( "" ):EndPar() + oRtf:WritePar('') //:endpar() + oRtf:WriteParBold( " Files" ) + oRtf:WritePar('') //:endpar() ENDIF - oRtf:WriteParBold( " Files" ) - nMode := D_NORMAL + + lPar:= .T. + nMode := D_NORMAL lAddBlank := .T. ELSEIF AT( cFunction, cBuffer ) > 0 IF !lBlankLine - oRtf:WritePar( "" ):EndPar() + oRtf:WritePar('') //:endpar() + oRtf:WriteParBold( " Functions" ) + oRtf:WritePar('') //:endpar() ENDIF - oRtf:WriteParBold( " Functions" ) + nMode := D_NORMAL lAddBlank := .T. - + lPar:= .T. ELSEIF AT( cSee, cBuffer ) > 0 nMode := D_SEEALSO ELSEIF AT( cInc, cBuffer ) > 0 @@ -419,13 +533,13 @@ FUNCTION ProcessRtf() ENDIF lBlankLine := EMPTY( cBuffer ) IF lAddBlank - oRtf:WritePar( "" ):EndPar() + oRtf:WritePar( "" ) //:endpar() lAddBlank := .F. ENDIF /* nNonBlank:=FirstNB(cBuffer) cBuffer=STUFF(cBuffer,nNonBlank,0,"^a1f ")*/ - oRtf:WritePar( cBuffer ):EndPar() - oRtf:WritePar(""):EndPar() + oRtf:WritePar( cBuffer ) //:endpar() + oRtf:WritePar("") //:endpar() ELSEIF nMode = D_ARG IF LEN( cBuffer ) > LONGLINE @@ -434,23 +548,78 @@ FUNCTION ProcessRtf() ENDIF lBlankLine := EMPTY( cBuffer ) IF lAddBlank - oRtf:WritePar( "" ):EndPar() + oRtf:WritePar( "" ) //:endpar() lAddBlank := .F. ENDIF - cBuffer := STRTRAN( cBuffer, "<", "<", 1 ) - cBuffer := STRTRAN( cBuffer, ">", ">", 1 ) - oRtf:WritePar( StripNgControls( cBuffer ) ):EndPar() - ELSEIF nMode = D_NORMAL + IF AT("<",Alltrim(cBuffer))> 0 + nPos := AT("<",ALLTRIM(cBuffer)) + if nPos>0 + oRtf:WriteParBoldText( substr(cBuffer,1,at(">",cbuffer)+1 ),substr(cBuffer,At(">",cBuffer)+1)+" ") + endif + + ELSE + oRtf:WriteParText( ALLTRIM(cBuffer) ) + ENDIF + ELSEIF nMode = D_DATALINK IF LEN( cBuffer ) > LONGLINE write_error( "General", cBuffer, nLineCnt, ; LONGLINE, aDirList[ i, F_NAME ] ) ENDIF lBlankLine := EMPTY( cBuffer ) IF lAddBlank - oRtf:WritePar( "" ):EndPar() lAddBlank := .F. ENDIF - oRtf:WritePar( StripNgControls( cBuffer ) ):EndPar() + cTemp:=Substr(cBuffer,1,AT(":",cBuffer)-1) + cBuffer:=Substr(cBuffer,AT(":",cBuffer)+1) + oRtf:WriteJumpLink(Left(cfilename,At('.',cFilename)-1)+alltrim(cTemp),cTemp,cBuffer) + + + + ELSEIF nMode = D_METHODLINK + IF LEN( cBuffer ) > LONGLINE + write_error( "General", cBuffer, nLineCnt, ; + LONGLINE, aDirList[ i, F_NAME ] ) + ENDIF + lBlankLine := EMPTY( cBuffer ) + IF lAddBlank + lAddBlank := .F. + ENDIF + cTemp:=Substr(cBuffer,1,AT("()",cBuffer)+1) + cName:=Substr(cBuffer,1,AT("()",cBuffer)-1) + cBuffer:=Substr(cBuffer,AT("()",cBuffer)+2) + oRtf:WriteJumpLink(Left(cfilename,At('.',cFilename)-1)+alltrim(cTemp) ,cTemp,cBuffer) + + ELSEIF nMode = D_NORMAL + IF LEN( cBuffer ) > LONGLINE + write_error( "General", cBuffer, nLineCnt, ; + LONGLINE, aDirList[ i, F_NAME ] ) + ENDIF + lBlankLine := EMPTY( cBuffer ) + if !lBlankLine + if lPar + oRtf:WritePar(cBuffer+" ") + lPar:=.f. + else + oRtf:WriteParText(" "+alltrim(cBuffer)) + endif + Endif + if lBlankline + //ortf:endpar() + ortf:writepar('') //:endpar() + lPar:=.T. + endif + ELSEIF nMode = D_EXAMPLE + IF LEN( cBuffer ) > LONGLINE + write_error( "General", cBuffer, nLineCnt, ; + LONGLINE, aDirList[ i, F_NAME ] ) + ENDIF + lBlankLine := EMPTY( cBuffer ) + + IF lAddBlank + oRtf:WritePar( "" ) //:endpar() + lAddBlank := .F. + ENDIF + oRtf:WritePar( cBuffer ) //:endpar() ELSEIF nMode = D_SEEALSO IF .NOT. EMPTY( cBuffer ) @@ -460,27 +629,20 @@ FUNCTION ProcessRtf() // read next line IF .NOT. EMPTY( cBuffer ) IF !lBlankLine - oRtf:WritePar( "" ):EndPar() + oRtf:WritePar( "" ) //:endpar() ENDIF - oRtf:WritePar( " Header File: " ; - + ALLTRIM( cBuffer ) ):EndPar() ENDIF ELSEIF nMode = D_STATUS IF !EMPTY( cBuffer ) - oRtf:WritePar(""):EndPar() + oRtf:WritePar('') //:endpar() oRtf:WriteParBold( "Status" ) - oRtf:WritePar(""):EndPar() + oRtf:WritePar('') //:endpar() xaddblank:=.T. ELSE - oRtf:WritePar(""):EndPar() + oRtf:WritePar("") //:endpar() xAddBlank:=.T. ENDIF ProcStatusRtf( oRtf, cBuffer ) - IF !xAddBlank - oRtf:WritePar(""):EndPar() - xaddblank:=.T. - ENDIF - xAddBlank:=.F. ELSE // unknown data from somewhere @@ -490,15 +652,18 @@ FUNCTION ProcessRtf() LONGONELINE, aDirList[ i, F_NAME ] ) ENDIF + endif ENDIF - ENDIF +// ENDIF + ENDIF + ? filesize(ortf:nhandle) + ENDDO // Close down the input file - FT_FUSE() NEXT - + ortf:close() RETURN NIL FUNCTION ProcRtfAlso( nWriteHandle, cSeeAlso ) @@ -510,7 +675,7 @@ FUNCTION ProcRtfAlso( nWriteHandle, cSeeAlso ) LOCAL xTemp LOCAL tPos nLen := LEN( cSeeAlso ) - WHILE .t. + WHILE .T. nPos := AT( ",", cSeeAlso ) IF nPos > 0 @@ -568,13 +733,19 @@ RETURN nil FUNCTION ProcStatusRTF( nWriteHandle, cBuffer ) IF LEN( ALLTRIM(cBuffer) ) >1 - nWriteHandle:WritePar( cBuffer ):EndPar() + nWriteHandle:WritePar( cBuffer ) //:endpar() ELSEIF SUBSTR( ALLTRIM( cBuffer ), 1 ) == "R" - nWriteHandle:WritePar( " Ready" ):EndPar() + nWriteHandle:WritePar( " Ready" ) //:endpar() ELSEIF SUBSTR( ALLTRIM( cBuffer ), 1 ) == "S" - nWriteHandle:WritePar( " Started" ):EndPar() + nWriteHandle:WritePar( " Started" ) //:endpar() ELSE - nWriteHandle:WritePar( " Not Started" ):EndPar() + nWriteHandle:WritePar( " Not Started" ) //:endpar() ENDIF RETURN nil +func filesize(cfile) + + nretval := fseek(cfile,0,2) + + +return nretval diff --git a/harbour/utils/hbdoc/hbdoc.prg b/harbour/utils/hbdoc/hbdoc.prg index e86959e08b..15a1a39550 100644 --- a/harbour/utils/hbdoc/hbdoc.prg +++ b/harbour/utils/hbdoc/hbdoc.prg @@ -141,7 +141,7 @@ FUNCTION MAIN( cFlags, cLinkName, cAtFile ) // LOCAL variables: // NG/EH input - LOCAL aExtensions := { "*.prg", "*.c", "*.asm", "*.ch" , "*.txt" } + LOCAL aExtensions := { "*.ch","*.prg", "*.c", "*.asm" , "*.txt" } LOCAL i LOCAL j LOCAL nItem,nHpj,nPos @@ -419,47 +419,21 @@ FUNCTION MAIN( cFlags, cLinkName, cAtFile ) ELSEIF lRtf nHpj := FCREATE( 'HARBOUR.HPJ' ) FWRITE( nHpj, '[OPTIONS]' + CRLF ) - - FWRITE( nHpj, 'COMPRESS=HIGH' + CRLF ) - + FWRITE(nHpj, 'HCW=1'+CRLF) + FWRITE( nHpj, 'COMPRESS=60 Hall Zeck' + CRLF ) + FWRITE( nHpj, 'LCID=0x416 0x0 0x0 ;Português (brasileiro)'+CRLF) FWRITE( nHpj, 'REPORT=Yes' + CRLF ) FWRITE( nHpj, 'CONTENTS=IDH_OVERVIEW' + CRLF ) FWRITE( nHpj, 'TITLE=Harbour Winhelp' + CRLF ) FWRITE( nHpj, 'COPYRIGHT=Harbour (C) http://www.harbour-project.org' + CRLF ) FWRITE( nHpj, 'HLP=.\harbour.hlp' + CRLF ) FWRITE( nHpj, 'ROOT=' + CURDIR() + "\RTF" + CRLF ) + FWRITE( nHpj, 'CNT=.\Harbour.cnt'+CRLF) FWRITE( nHpj, '[FILES]' + CRLF ) - FOR i := 1 TO LEN( aDocInfo ) - - // Find match - - nItem := 1 - IF nItem > 0 - - IF i = 1 .OR. .NOT. ( ALLTRIM( aDocInfo[ i - 1, 1 ] ) == ALLTRIM( aDocInfo[ i, 1 ] ) ) - // Make the first copy - - FWRITE( nHpj, ALLTRIM( aDocInfo[ i, 4 ] ) + CRLF ) - - ELSE - // This may be slow but I don't have to worry about line length - FWRITE( nHpj, ALLTRIM( aDocInfo[ i, 4 ] ) + CRLF ) - ENDIF - aLinkInfo[ nItem, 3 ] = .T. - ELSE - // Write the error message - SET ALTERNATE TO - SET ALTERNATE OFF - SET CONSOLE ON - write_error( "Category not found: " + aDocInfo[ i, 1 ],,,, aDocInfo[ i, 4 ] ) - @ ERRORLINE, 0 CLEAR TO ERRORLINE, MAXCOL() - @ ERRORLINE, 20 SAY "Category not found: " + aDocInfo[ i, 1 ] + " in " + aDocInfo[ i, 4 ] - SET ALTERNATE TO "assembl.bat" ADDITIVE - SET ALTERNATE ON - SET CONSOLE OFF - ENDIF - - NEXT + FWRITE( nHpj, "harbour.rtf"+CRLF) + FWRITE( nHpj, '[CONFIG]'+CRLF+'contents()'+CRLF+'prev()'+CRLF+'next()'+CRLF+'BrowseButtons()'+CRLF) + FWRITE( nHpj, '[WINDOWS]'+CRLF+'Commands="Harbour Commands",(653,102,360,600),20736,(r14876671),(r12632256),f3'+CRLF+'Error="Harbour Run Time Errors",(653,102,360,600),20736,(r14876671),(r12632256),f3'+CRLF+'Tools="Harbour Tools",(653,102,360,600),20736,(r14876671),(r12632256),f3'+CRLF+'Class="Harbour OOP Commands",(653,102,360,600),20736,(r14876671),(r12632256),f3'+CRLF+'Funca="Harbour Run Time Functions A-M",(653,102,360,600),20736,(r14876671),(r12632256),f3'+CRLF+'Funcn="Harbour Run Time Functions N-_",(653,102,360,600),20736,(r14876671),(r12632256),f3'+CRLF+'Main="HARBOUR",(117,100,894,873),60672,(r14876671),(r12632256),f3'+CRLF) + FCLOSE( nHpj ) ELSEIF lWWW oHtm := THTML():New( "htm\harbour.htm" ) oHtm:WriteTitle( "Harbour Reference Guide" ) @@ -502,7 +476,7 @@ FUNCTION MAIN( cFlags, cLinkName, cAtFile ) oHtm:WriteText("
      ") FOR nPos := 1 TO LEN( aWww ) cTemp := aWww[ nPos,1 ] - IF AT( "()", cTemp ) == 0 .OR. UPPER(Left(ctemp,4)) =="BASE" .OR. UPPER(LEFT(cTemp,4))=="TERM" .OR. UPPER(LEFT(cTemp,5))=="TOOLS" + IF AT( "()", cTemp ) == 0 .And. UPPER(Left(ctemp,4)) =="BASE" .OR. UPPER(LEFT(cTemp,4))=="TERM" .OR. UPPER(LEFT(cTemp,5))=="TOOLS" oHtm:WriteLink( Lower(aWww[ nPos ,2]),UpperLower(aWww[nPos,1])) ENDIF NEXT diff --git a/harbour/utils/hbdoc/hrb.rsp b/harbour/utils/hbdoc/hrb.rsp index 177550e1b2..f7d7f4b645 100644 --- a/harbour/utils/hbdoc/hrb.rsp +++ b/harbour/utils/hbdoc/hrb.rsp @@ -1,93 +1,25 @@ -..\..\source\rdd\dbcmd.c -..\..\source\rtl\achoice.prg -..\..\source\rtl\adir.prg -..\..\source\rtl\alert.prg -..\..\source\rtl\arrays.c -..\..\source\rtl\asort.prg -..\..\source\rtl\binnum.c -..\..\source\rtl\break.c -..\..\source\rtl\browdb.prg -..\..\source\rtl\browse.prg -..\..\source\rtl\classes.c -..\..\source\rtl\codebloc.c -..\..\source\rtl\console.c -..\..\source\rtl\copyfile.c -..\..\source\rtl\dates.c -..\..\source\rtl\dbedit.prg -..\..\source\rtl\descend.c -..\..\source\rtl\devoutp.prg -..\..\source\rtl\dir.c -..\..\source\rtl\dircmd.prg -..\..\source\rtl\do.c -..\..\source\rtl\dummy.prg -..\..\source\rtl\empty.c -..\..\source\rtl\environ.c -..\..\source\rtl\errorapi.c -..\..\source\rtl\errorsys.prg -..\..\source\rtl\extend.c -..\..\source\rtl\fieldbl.prg -..\..\source\rtl\filesys.c -..\..\source\rtl\fm.c -..\..\source\rtl\gtapi.c -..\..\source\rtl\gtxxx.c -..\..\source\rtl\harbinit.prg -..\..\source\rtl\hardcr.c -..\..\source\rtl\initexit.c -..\..\source\rtl\inkey.c -..\..\source\rtl\input.prg -..\..\source\rtl\isprint.c -..\..\source\rtl\itemapi.c -..\..\source\rtl\langapi.c -..\..\source\rtl\len.c -..\..\source\rtl\license.prg -..\..\source\rtl\math.c -..\..\source\rtl\memofile.c -..\..\source\rtl\memoline.c -..\..\source\rtl\memvarbl.prg -..\..\source\rtl\memvars.c -..\..\source\rtl\menuto.prg -..\..\source\rtl\mlcount.c -..\..\source\rtl\mlpos.c -..\..\source\rtl\mouseapi.c -..\..\source\rtl\mousexxx.c -..\..\source\rtl\msgxxx.c -..\..\source\rtl\mtran.c -..\..\source\rtl\natmsg.c -..\..\source\rtl\net.c -..\..\source\rtl\objfunc.prg -..\..\source\rtl\oemansi.c -..\..\source\rtl\oldbox.c -..\..\source\rtl\oldclear.c -..\..\source\rtl\pcount.c -..\..\source\rtl\proc.c -..\..\source\rtl\pvalue.c -..\..\source\rtl\readkey.prg -..\..\source\rtl\readme.prg -..\..\source\rtl\samples.c -..\..\source\rtl\set.c -..\..\source\rtl\setcolor.c -..\..\source\rtl\setfunc.prg -..\..\source\rtl\setkey.prg -..\..\source\rtl\setta.prg -..\..\source\rtl\soundex.c -..\..\source\rtl\strings.c -..\..\source\rtl\tbcolumn.prg -..\..\source\rtl\tbrowse.prg -..\..\source\rtl\tclass.prg -..\..\source\rtl\terror.prg -..\..\source\rtl\text.prg -..\..\source\rtl\tget.prg -..\..\source\rtl\tgetlist.prg -..\..\source\rtl\tlabel.prg -..\..\source\rtl\tone.c -..\..\source\rtl\trace.c -..\..\source\rtl\transfrm.c -..\..\source\rtl\treport.prg -..\..\source\rtl\type.c -..\..\source\rtl\valtype.c -..\..\source\rtl\wait.prg -..\..\source\rtl\word.c -..\..\source\rtl\xhelp.c -..\..\source\rtl\xsavescr.prg -..\..\doc\subcodes.txt -..\..\doc\compiler.txt +..\..\doc\en\array.txt +..\..\doc\en\binnum.txt +..\..\doc\en\browse.txt +..\..\doc\en\command.txt +..\..\doc\en\dir.txt +..\..\doc\en\error.txt +..\..\doc\en\file.txt +..\..\doc\en\hvm.txt +..\..\doc\en\input.txt +..\..\doc\en\license.txt +..\..\doc\en\memo.txt +..\..\doc\en\menu.txt +..\..\doc\en\misc.txt +..\..\doc\en\nation.txt +..\..\doc\en\objfunc.txt +..\..\doc\en\rdd.txt +..\..\doc\en\readme.txt +..\..\doc\en\set.txt +..\..\doc\en\string.txt +..\..\doc\en\tclass.txt +..\..\doc\en\terminal.txt +..\..\doc\en\tgetlist.txt +..\..\doc\en\tlabel.txt +..\..\doc\en\treport.txt +..\..\doc\en\var.txt diff --git a/harbour/utils/hbdoc/hrbtools.rsp b/harbour/utils/hbdoc/hrbtools.rsp index c7a8b6e46a..a3ed6018a2 100644 --- a/harbour/utils/hbdoc/hrbtools.rsp +++ b/harbour/utils/hbdoc/hrbtools.rsp @@ -1,131 +1,36 @@ -..\..\source\rdd\dbcmd.c -..\..\source\rtl\achoice.prg -..\..\source\rtl\adir.prg -..\..\source\rtl\alert.prg -..\..\source\rtl\arrays.c -..\..\source\rtl\asort.prg -..\..\source\rtl\binnum.c -..\..\source\rtl\break.c -..\..\source\rtl\browdb.prg -..\..\source\rtl\browse.prg -..\..\source\rtl\classes.c -..\..\source\rtl\codebloc.c -..\..\source\rtl\console.c -..\..\source\rtl\copyfile.c -..\..\source\rtl\dates.c -..\..\source\rtl\dbedit.prg -..\..\source\rtl\descend.c -..\..\source\rtl\devoutp.prg -..\..\source\rtl\dir.c -..\..\source\rtl\dircmd.prg -..\..\source\rtl\do.c -..\..\source\rtl\dummy.prg -..\..\source\rtl\empty.c -..\..\source\rtl\environ.c -..\..\source\rtl\errorapi.c -..\..\source\rtl\errorsys.prg -..\..\source\rtl\extend.c -..\..\source\rtl\fieldbl.prg -..\..\source\rtl\filesys.c -..\..\source\rtl\fm.c -..\..\source\rtl\gtapi.c -..\..\source\rtl\gtxxx.c -..\..\source\rtl\harbinit.prg -..\..\source\rtl\hardcr.c -..\..\source\rtl\initexit.c -..\..\source\rtl\inkey.c -..\..\source\rtl\input.prg -..\..\source\rtl\isprint.c -..\..\source\rtl\itemapi.c -..\..\source\rtl\langapi.c -..\..\source\rtl\len.c -..\..\source\rtl\license.prg -..\..\source\rtl\math.c -..\..\source\rtl\memofile.c -..\..\source\rtl\memoline.c -..\..\source\rtl\memvarbl.prg -..\..\source\rtl\memvars.c -..\..\source\rtl\menuto.prg -..\..\source\rtl\mlcount.c -..\..\source\rtl\mlpos.c -..\..\source\rtl\mouseapi.c -..\..\source\rtl\mousexxx.c -..\..\source\rtl\msgxxx.c -..\..\source\rtl\mtran.c -..\..\source\rtl\natmsg.c -..\..\source\rtl\net.c -..\..\source\rtl\objfunc.prg -..\..\source\rtl\oemansi.c -..\..\source\rtl\oldbox.c -..\..\source\rtl\oldclear.c -..\..\source\rtl\pcount.c -..\..\source\rtl\proc.c -..\..\source\rtl\pvalue.c -..\..\source\rtl\readkey.prg -..\..\source\rtl\readme.prg -..\..\source\rtl\samples.c -..\..\source\rtl\set.c -..\..\source\rtl\setcolor.c -..\..\source\rtl\setfunc.prg -..\..\source\rtl\setkey.prg -..\..\source\rtl\setta.prg -..\..\source\rtl\soundex.c -..\..\source\rtl\strings.c -..\..\source\rtl\tbcolumn.prg -..\..\source\rtl\tbrowse.prg -..\..\source\rtl\tclass.prg -..\..\source\rtl\terror.prg -..\..\source\rtl\text.prg -..\..\source\rtl\tget.prg -..\..\source\rtl\tgetlist.prg -..\..\source\rtl\tlabel.prg -..\..\source\rtl\tone.c -..\..\source\rtl\trace.c -..\..\source\rtl\transfrm.c -..\..\source\rtl\treport.prg -..\..\source\rtl\type.c -..\..\source\rtl\valtype.c -..\..\source\rtl\wait.prg -..\..\source\rtl\word.c -..\..\source\rtl\xhelp.c -..\..\source\rtl\xsavescr.prg -..\..\source\tools\asciisum.c -..\..\source\tools\strasint.c -..\..\source\tools\ascpos.c -..\..\source\tools\atdiff.c -..\..\source\tools\chareven.c -..\..\source\tools\charmix.c -..\..\source\tools\charodd.c -..\..\source\tools\chrcount.c -..\..\source\tools\chrfirst.c -..\..\source\tools\chrtotal.c -..\..\source\tools\ctchksum.c -..\..\source\tools\ctchrmix.c -..\..\source\tools\ctcrypt.c -..\..\source\tools\dates2.c -..\..\source\tools\datesx.c -..\..\source\tools\dbftools.c -..\..\source\tools\fileread.prg -..\..\source\tools\hb_f.c -..\..\source\tools\html.prg -..\..\source\tools\io.c -..\..\source\tools\mathx.c -..\..\source\tools\nconvert.prg -..\..\source\tools\ng.prg -..\..\source\tools\numtxten.prg -..\..\source\tools\numtxthu.prg -..\..\source\tools\os2.prg -..\..\source\tools\rtf.prg -..\..\source\tools\strcount.c -..\..\source\tools\strleft.c -..\..\source\tools\strcspn.c -..\..\source\tools\strdiff.c -..\..\source\tools\strexpan.c -..\..\source\tools\strfmt.c -..\..\source\tools\stringp.prg -..\..\source\tools\stringsx.c -..\..\source\tools\strright.c -..\..\source\tools\strpbrk.c -..\..\source\tools\troff.prg +..\..\doc\en\array.txt +..\..\doc\en\binnum.txt +..\..\doc\en\browse.txt +..\..\doc\en\command.txt +..\..\doc\en\dir.txt +..\..\doc\en\error.txt +..\..\doc\en\file.txt +..\..\doc\en\ht_class.txt +..\..\doc\en\ht_conv.txt +..\..\doc\en\ht_dbf.txt +..\..\doc\en\ht_doc.txt +..\..\doc\en\ht_file.txt +..\..\doc\en\ht_gt.txt +..\..\doc\en\ht_str.txt +..\..\doc\en\hvm.txt +..\..\doc\en\input.txt +..\..\doc\en\license.txt +..\..\doc\en\memo.txt +..\..\doc\en\menu.txt +..\..\doc\en\misc.txt +..\..\doc\en\nation.txt +..\..\doc\en\objfunc.txt +..\..\doc\en\rdd.txt +..\..\doc\en\readme.txt +..\..\doc\en\set.txt +..\..\doc\en\string.txt +..\..\doc\en\tclass.txt +..\..\doc\en\terminal.txt +..\..\doc\en\tgetlist.txt +..\..\doc\en\tlabel.txt +..\..\doc\en\treport.txt +..\..\doc\en\var.txt ..\..\doc\subcodes.txt -..\..\doc\compiler.txt +..\..\doc\harbext.txt +..\..\doc\gnulice.txt +