See changelog 20000301 14:10
This commit is contained in:
@@ -1,3 +1,22 @@
|
||||
20000301-14:10 GMT-3 Luiz Rafael Culik <culik@sl.conex.net>
|
||||
*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 <info@szelvesz.hu>
|
||||
* source/rtl/console.c
|
||||
source/rtl/oldclear.c
|
||||
|
||||
@@ -9,6 +9,9 @@
|
||||
* Copyright 1999 Chen Kedem <niki@actcom.co.il>
|
||||
* Documentation for: ASORT()
|
||||
*
|
||||
* Copyright 1999 Luiz Rafael Culik <culik@sl.conex.net>
|
||||
* 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$
|
||||
* <nElements> is the number of elements in the specified dimension.
|
||||
* $RETURNS$
|
||||
* ARRAY() returns an array of specified dimensions.
|
||||
* <aArray> an array of specified dimensions.
|
||||
* $DESCRIPTION$
|
||||
* This function returns an uninitialized array with the length of
|
||||
* <nElements>. Nested arrays are uninitialized within the same array
|
||||
@@ -69,8 +72,8 @@
|
||||
*
|
||||
* <xValue> Element to add to array <aArray>
|
||||
* $RETURNS$
|
||||
* The value of <xValue> if specified, otherwise this function
|
||||
* returns a NIL value.
|
||||
* <Value> if specified <xValue>,<xValue> will return , otherwise
|
||||
* this function returns a NIL value.
|
||||
* $DESCRIPTION$
|
||||
* This function dynamically increases the length of the array
|
||||
* named <aArray> by one element and stores the value of <xValue> to
|
||||
@@ -106,7 +109,7 @@
|
||||
*
|
||||
* <nLen> Numeric value representing the new size of <aArray>
|
||||
* $RETURNS$
|
||||
* ASIZE() returns an array pointer reference to <aTarget>.
|
||||
* <aTarget> an array pointer reference to <aTarget>.
|
||||
* $DESCRIPTION$
|
||||
* This function will dynamically increase or decrease the size
|
||||
* of <aArray> by adjusting the length of the array to <nLen> subscript
|
||||
@@ -143,7 +146,7 @@
|
||||
* $ARGUMENTS$
|
||||
* <aArray> is the array.
|
||||
* $RETURNS$
|
||||
* Atail() return the expression of the last element in the array.
|
||||
* <Element> the expression of the last element in the array.
|
||||
* $DESCRIPTION$
|
||||
* This function return the value of the last element in the array named
|
||||
* <aArray>. This function does not alter the size of the array or any of
|
||||
@@ -176,7 +179,7 @@
|
||||
*
|
||||
* <nPos> Subscript position in <aArray>
|
||||
* $RETURNS$
|
||||
* AINS() returns a array pointer reference to <aTarget>.
|
||||
* <aTarget> an array pointer reference.
|
||||
* $DESCRIPTION$
|
||||
* This function inserts a NIL value in the array named <aArray>
|
||||
* at the <nPos>th position.
|
||||
@@ -215,7 +218,7 @@
|
||||
*
|
||||
* <nPos> Subscript of the element to be removed.
|
||||
* $RETURNS$
|
||||
* ADEL() Returns an array pointer reference to <aTarget>.
|
||||
* <aTarget> an array pointer reference.
|
||||
* $DESCRIPTION$
|
||||
* This function deletes the element found at <nPos> subscript
|
||||
* position in the array <aArray>. All elements in the array
|
||||
@@ -259,7 +262,7 @@
|
||||
*
|
||||
* <nCount> Number of subscript to be filled
|
||||
* $RETURNS$
|
||||
* AFILL() returns an array pointer to <aTarget>.
|
||||
* <aTarget> an array pointer.
|
||||
* $DESCRIPTION$
|
||||
* This function will fill each element of an array named <aArray> with
|
||||
* the value <xValue>. If specified, <nStart> denotes the beginning
|
||||
@@ -360,7 +363,7 @@
|
||||
*
|
||||
* <nCount> The number of elements to process.
|
||||
* $RETURNS$
|
||||
* AEVAL() returns an array pointer reference.
|
||||
* <aArray> an array pointer reference.
|
||||
* $DESCRIPTION$
|
||||
* This function will evaluate and process the subscript elements
|
||||
* in <aArray>. A code block passed as <bBlock> defines the
|
||||
@@ -410,7 +413,7 @@
|
||||
* <nTargetPos> the starting subscript position in <aTarget> to copy
|
||||
* elements to.
|
||||
* $RETURNS$
|
||||
* ACOPY() returns an array pointer reference
|
||||
* <aTarget> an array pointer reference
|
||||
* $DESCRIPTION$
|
||||
* This function copies array elements from <aSource> to <aTarget>.
|
||||
* <nStart> is the beginning element to be copied from <aSource>; the
|
||||
@@ -459,7 +462,7 @@
|
||||
* $ARGUMENTS$
|
||||
* <aSource> Name of the array to be cloned.
|
||||
* $RETURNS$
|
||||
* ACLONE() A new array pointer reference complete with nested array
|
||||
* <aDuplicate> 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 <aArray> or NIL if the
|
||||
* <aArray> reference to the now sorted <aArray> or NIL if the
|
||||
* passed <aArray> is not an array.
|
||||
* $DESCRIPTION$
|
||||
* ASORT() sort all or part of a given array. If <bSort> is omitted,
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
* accessibility of the file in a network environment.
|
||||
*
|
||||
* $RETURNS$
|
||||
* FOPEN() returns a DOS file handle
|
||||
* <nHandle> a DOS file handle
|
||||
* $DESCRIPTION$
|
||||
* This function opens a file expressed as <cFile> and returns a DOS
|
||||
* file handle to be used with other low-level file functions.The
|
||||
@@ -165,7 +165,7 @@
|
||||
* <cBufferVar> Character expression passed by reference
|
||||
* <nBytes> Number of bytes to read.
|
||||
* $RETURNS$
|
||||
* FREAD() returns the number of bytes successfyly read from the file
|
||||
* <nBytes> the number of bytes successfyly read from the file
|
||||
* <nHandle>
|
||||
* $DESCRIPTION$
|
||||
* This function reads the characters from a DOS file whose file handle
|
||||
@@ -219,7 +219,7 @@
|
||||
* <cBuffer> Character expression to be written.
|
||||
* <nBytes> The number of bytes to write.
|
||||
* $RETURNS$
|
||||
* FWRITE() returns the number of bytes successfully written.
|
||||
* <nBytesWritten> the number of bytes successfully written.
|
||||
* $DESCRIPTION$
|
||||
* This function writes the contents of <cBuffer> to the file designa-
|
||||
* ted by its file handle <nHandle>. If used, <nBytes> is the number of
|
||||
@@ -411,7 +411,7 @@
|
||||
* <cOldFile> Old filenarne to he changed
|
||||
* <cNewFile> New filename
|
||||
* $RETURNS$
|
||||
* FRENAME() returns If sucessful, a 0 will he returned otherwise,
|
||||
* <nSuccess> If sucessful, a 0 will he returned otherwise,
|
||||
* a -1 will be returned.
|
||||
* $DESCRIPTION$
|
||||
* This function renames the specified file <cOldFile> to <cNewFile>.
|
||||
@@ -463,7 +463,7 @@
|
||||
* <nOffset> The number of bytes to move.
|
||||
* <nOrigin> The relative position in the file.
|
||||
* $RETURNS$
|
||||
* FSEEK() return the current position relative to begin-of-file
|
||||
* <nPosition> the current position relative to begin-of-file
|
||||
* $DESCRIPTION$
|
||||
* This function sets the file pointer in the file whose DOS file
|
||||
* handle is <nHandle> and moves the file pointer by <expN2> bytes
|
||||
@@ -531,7 +531,8 @@
|
||||
* $ARGUMENTS$
|
||||
* <cFileSpec> Dos Skeleton or file name to find.
|
||||
* $RETURNS$
|
||||
* FILE() return a logical true (.T.) or logical false (.F.).
|
||||
* <lExists> a logical true (.T.) if the file exists or logical
|
||||
* false (.F.).
|
||||
* $DESCRIPTION$
|
||||
* This function return a logical true (.T.) if the given filename
|
||||
* <cFileSpec> exist.
|
||||
@@ -571,7 +572,7 @@
|
||||
*
|
||||
* <nBytes> Number of bytes to read.
|
||||
* $RETURNS$
|
||||
* FREADSTR() return an characted expression
|
||||
* <cString> an characted expression
|
||||
* $DESCRIPTION$
|
||||
* This function returns a character string of <nBytes> bytes from a
|
||||
* file whose DOS file handle is <nHandle>.
|
||||
|
||||
@@ -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$
|
||||
*/
|
||||
|
||||
|
||||
@@ -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, "<HEAD>" + CRLF )
|
||||
nX := Self:nHandle
|
||||
FWRITE( Self:nHandle, "<BODY>" + 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,"</P></dd>"+CRLF+ "</DL>"+CRLF+"<DL>"+CRLF+"<dt><b>" + Alltrim(cPar) + '</b></dt>' + CRLF )
|
||||
ELSEif !lPar .and. !lEnddl
|
||||
FWRITE( Self:nHandle,'<DL>'+CRLF+"<dt><b>" + Alltrim(cPar) + '</b></dt>' + CRLF )
|
||||
ELSEif !lPar .and. lEnddl
|
||||
FWRITE( Self:nHandle,"</PRE></dd>"+CRLF+"</DL>"+CRLF+ "<DL>"+CRLF+"<dt><b>" + Alltrim(cPar) + '</b></dt>' + CRLF )
|
||||
ELSEif lPar .and. !lEnddl
|
||||
FWRITE( Self:nHandle,"</P></dd>"+CRLF+"<DL>"+CRLF+"<dt><b>" + Alltrim(cPar) + '</b></dt>' + CRLF )
|
||||
|
||||
FWRITE( Self:nHandle, "</DL>"+CRLF+"<DL>"+CRLF+"<dt><b>" + Alltrim(cPar) + '</b></dt>' + CRLF )
|
||||
|
||||
RETURN Self
|
||||
ENDIF
|
||||
RETURN Self
|
||||
|
||||
METHOD CLOSE() CLASS THTML
|
||||
|
||||
@@ -118,5 +130,6 @@ METHOD WriteLink( cLink ,cName ) CLASS THTML
|
||||
|
||||
FWRITE( Self:nHandle, "<LI><a href=" + Lower(cTemp) + ">" + cLink + "</a></LI>" + CRLF )
|
||||
|
||||
|
||||
RETURN Self
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -31,3 +31,5 @@ int _GT_Internal_StringAsInt(char *String, int Start, int End)
|
||||
}
|
||||
return(Value);
|
||||
}
|
||||
\page
|
||||
}
|
||||
|
||||
@@ -135,3 +135,4 @@ METHOD WriteLink( cLink ) CLASS TTROFF
|
||||
FWRITE( Self:nHandle, ALLTRIM( cLink ) +CRLF)
|
||||
|
||||
RETURN Self
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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("<UL>")
|
||||
ProcWwwalso( oHtm, cSeealso )
|
||||
oHtm:WriteText("</UL>")
|
||||
ENDIF
|
||||
oHtm:WriteText("</DL>")
|
||||
oHtm:Close()
|
||||
oHtm:WriteText("</UL></DL>")
|
||||
if lDoc
|
||||
oHtm:WriteText("</DL>")
|
||||
oHtm:Close()
|
||||
Endif
|
||||
|
||||
ENDIF
|
||||
lDoc := .F.
|
||||
lClassDoc := .F.
|
||||
|
||||
if lEndReturns .and. lClassDoc
|
||||
lEndReturns:=.f.
|
||||
oHtm:WriteText("</p></dd>")
|
||||
endif
|
||||
if lEndArgs .and. lClassDoc
|
||||
lEndArgs:=.f.
|
||||
oHtm:WriteText("</p></dd>")
|
||||
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("</p></dd>")
|
||||
endif
|
||||
|
||||
oHtm:WriteText("<a NAME="+'"'+alltrim(UPPERLOWER(cFuncname))+'"'+"></a>")
|
||||
|
||||
// 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("<H1>"+ alltrim(PAD( cFuncName, 21 )) + "</H1>")
|
||||
AADD( aWWW,{ cFuncName+" "+UPPERLOWER(cOneLine),LEFT(cFileName,AT(".",cFileName)-1)} )
|
||||
oHtm:WriteText("<p>"+cOneline+"</p>"+ hb_osnewline())
|
||||
|
||||
if lData
|
||||
oHtm:WriteText("<H1>DATA "+ alltrim(PAD( cFuncName, 21 )) + "</H1>")
|
||||
oHtm:WriteText("<p>"+cOneline+"</p>"+ hb_osnewline())
|
||||
ELSEIF lMethod
|
||||
oHtm:WriteText("<H1> METHOD "+ alltrim(PAD( cFuncName, 21 )) + "</H1>")
|
||||
oHtm:WriteText("<p>"+cOneline+"</p>"+ hb_osnewline())
|
||||
ELSE
|
||||
oHtm:WriteText("<H1>"+ alltrim(PAD( cFuncName, 21 )) + "</H1>")
|
||||
AADD( aWWW,{ cFuncName,LEFT(cFileName,AT(".",cFileName)-1)} )
|
||||
oHtm:WriteText("<p>"+cOneline+"</p>"+ 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('<DD><P>')
|
||||
nMode := D_SYNTAX
|
||||
lAddBlank := .T.
|
||||
lEndSyntax := .T.
|
||||
|
||||
ELSEIF AT( cArg, cBuffer ) > 0
|
||||
if lEndSyntax
|
||||
lEndSyntax:=.f.
|
||||
oHtm:WriteText("</P></dd>")
|
||||
/* oHtm:WriteText("</Pre></dd>") */
|
||||
endif
|
||||
|
||||
oHtm:WriteParBold( " Arguments" )
|
||||
ohtm:WriteText('<DD><P>')
|
||||
@@ -331,11 +431,6 @@ FUNCTION ProcessWww()
|
||||
lAddBlank := .T.
|
||||
lEndArgs:=.t.
|
||||
ELSEIF AT( cRet, cBuffer ) > 0
|
||||
if lEndArgs
|
||||
lEndArgs:=.f.
|
||||
|
||||
oHtm:WriteText("</P></dd>")
|
||||
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("</P></dd>")
|
||||
endif
|
||||
IF !lBlankLine
|
||||
oHtm:WriteText( "<br>" )
|
||||
ENDIF
|
||||
|
||||
oHtm:WriteParBold( " Description" )
|
||||
ohtm:WriteText('<DD><P>')
|
||||
|
||||
nMode := D_NORMAL
|
||||
lAddBlank := .T.
|
||||
lEndDesc:=.t.
|
||||
|
||||
ELSEIF AT( cExam, cBuffer ) > 0
|
||||
if lEndDesc
|
||||
lEndDesc:=.f.
|
||||
oHtm:WriteText("<P></dd>")
|
||||
endif
|
||||
|
||||
IF !lBlankLine
|
||||
* oHtm:WritePar( "" )
|
||||
@@ -375,51 +466,35 @@ FUNCTION ProcessWww()
|
||||
|
||||
|
||||
ELSEIF AT( cTest, cBuffer ) > 0
|
||||
if lAddEndPreTag
|
||||
oHtm:WriteText("</PRE></DD>")
|
||||
lAddEndPreTag:=.f.
|
||||
Endif
|
||||
|
||||
IF !lBlankLine
|
||||
* oHtm:WritePar( "" )
|
||||
ENDIF
|
||||
oHtm:WriteParBold( " Tests" )
|
||||
oHtm:WriteText("<DD><PRE>")
|
||||
oHtm:WriteParBold( " Tests", .t.,.f.)
|
||||
oHtm:WriteText("<DD><P>")
|
||||
nMode := D_NORMAL
|
||||
lAddBlank := .T.
|
||||
|
||||
ELSEIF AT( cStatus, cBuffer ) > 0
|
||||
if lAddEndPreTag
|
||||
oHtm:WriteText("</PRE></DD>")
|
||||
lAddEndPreTag:=.f.
|
||||
Endif
|
||||
|
||||
nMode := D_STATUS
|
||||
|
||||
ELSEIF AT( cCompl, cBuffer ) > 0
|
||||
if lAddEndPreTag
|
||||
oHtm:WriteText("</PRE></DD>")
|
||||
lAddEndPreTag:=.f.
|
||||
Endif
|
||||
|
||||
IF !lBlankLine
|
||||
* oHtm:WritePar( "" )
|
||||
ENDIF
|
||||
oHtm:WriteParBold( " Compliance" )
|
||||
oHtm:WriteText("<DD><PRE>")
|
||||
oHtm:WriteText("<DD><P>")
|
||||
nMode := D_NORMAL
|
||||
lAddBlank := .T.
|
||||
ELSEIF AT( cPlat, cBuffer ) > 0
|
||||
if lAddEndPreTag
|
||||
oHtm:WriteText("</PRE></DD>")
|
||||
lAddEndPreTag:=.f.
|
||||
Endif
|
||||
|
||||
IF !lBlankLine
|
||||
* oHtm:WritePar( "" )
|
||||
ENDIF
|
||||
oHtm:WriteParBold( " Platforms" )
|
||||
oHtm:WriteText("<DD><PRE>")
|
||||
oHtm:WriteText("<DD><P>")
|
||||
nMode := D_NORMAL
|
||||
lAddBlank := .T.
|
||||
ELSEIF AT( cFiles, cBuffer ) > 0
|
||||
@@ -428,7 +503,260 @@ FUNCTION ProcessWww()
|
||||
* oHtm:WritePar( "" )
|
||||
ENDIF
|
||||
oHtm:WriteParBold( " Files" )
|
||||
oHtm:WriteText("<DD><P>")
|
||||
nMode := D_NORMAL
|
||||
lAddBlank := .T.
|
||||
ELSEIF AT( cFunction, cBuffer ) > 0
|
||||
|
||||
IF !lBlankLine
|
||||
* oHtm:WritePar( "" )
|
||||
ENDIF
|
||||
oHtm:WriteParBold( " Functions" )
|
||||
oHtm:WriteText("<DD><P>")
|
||||
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:="<Br>"+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:= "<B>" + Substr(cBuffer,At("<",cBuffer)-1,At(">",cBuffer)-2)+"</b>"+Substr(cBuffer,At(">",cBuffer)+4)
|
||||
lFirstArg:=.F.
|
||||
ELSE
|
||||
cBuffer:= "<br><B>" + Substr(cBuffer,At("<",cBuffer)-1,At(">",cBuffer)-2)+"</b>"+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('<br>')
|
||||
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("<DD><P>")
|
||||
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('<DD><P>')
|
||||
nMode := D_SYNTAX
|
||||
lAddBlank := .T.
|
||||
lEndSyntax := .T.
|
||||
|
||||
ELSEIF AT( cArg, cBuffer ) > 0
|
||||
|
||||
oHtm:WriteParBold( " Arguments" )
|
||||
ohtm:WriteText('<DD><P>')
|
||||
|
||||
nMode := D_ARG
|
||||
lAddBlank := .T.
|
||||
lEndArgs:=.t.
|
||||
ELSEIF AT( cRet, cBuffer ) > 0
|
||||
|
||||
IF !lBlankLine
|
||||
* oHtm:WritePar( "" )
|
||||
ENDIF
|
||||
|
||||
oHtm:WriteParBold( " Returns" )
|
||||
ohtm:WriteText('<DD><P>')
|
||||
nMode := D_ARG
|
||||
lAddBlank := .T.
|
||||
lEndReturns := .T.
|
||||
ELSEIF AT( cDesc, cBuffer ) > 0
|
||||
IF !lBlankLine
|
||||
oHtm:WriteText( "<br>" )
|
||||
ENDIF
|
||||
|
||||
|
||||
oHtm:WriteParBold( " Description" )
|
||||
ohtm:WriteText('<DD><P>')
|
||||
nMode := D_NORMAL
|
||||
lAddBlank := .T.
|
||||
lEndDesc := .T.
|
||||
ELSEIF AT( cdatalink, cBuffer ) > 0
|
||||
|
||||
oHtm:WriteParBold( " Data" )
|
||||
ohtm:WriteText('<DD><P>')
|
||||
nMode := D_DATALINK
|
||||
lAddBlank := .T.
|
||||
lEnddatalink := .T.
|
||||
lIsDataLink := .T.
|
||||
|
||||
ELSEIF AT( cDatanolink, cBuffer ) > 0
|
||||
if !lisdatalink
|
||||
oHtm:WriteParBold( " Data" )
|
||||
|
||||
ohtm:WriteText('<DD><P>')
|
||||
endif
|
||||
nMode := D_NORMAL
|
||||
lAddBlank := .T.
|
||||
lEndDatalink:=.t.
|
||||
|
||||
ELSEIF AT( cMethodslink, cBuffer ) > 0
|
||||
|
||||
oHtm:WriteParBold( " Method" )
|
||||
ohtm:WriteText('<DD><P>')
|
||||
nMode := D_METHODLINK
|
||||
lAddBlank := .T.
|
||||
lEndMethodlink := .T.
|
||||
lIsMethodLink := .T.
|
||||
|
||||
ELSEIF AT( cMethodsnolink, cBuffer ) > 0
|
||||
if !lisdatalink
|
||||
oHtm:WriteParBold( " METHOD" )
|
||||
|
||||
ohtm:WriteText('<DD><P>')
|
||||
endif
|
||||
|
||||
nMode := D_NORMAL
|
||||
lAddBlank := .T.
|
||||
lEndMethodlink := .T.
|
||||
|
||||
|
||||
ELSEIF AT( cExam, cBuffer ) > 0
|
||||
|
||||
IF !lBlankLine
|
||||
* oHtm:WritePar( "" )
|
||||
ENDIF
|
||||
oHtm:WriteParBold( " Examples" )
|
||||
oHtm:WriteText("<DD><PRE>")
|
||||
nMode := D_EXAMPLE
|
||||
lAddBlank := .T.
|
||||
lAddEndPreTag:=.T.
|
||||
|
||||
|
||||
ELSEIF AT( cTest, cBuffer ) > 0
|
||||
|
||||
IF !lBlankLine
|
||||
* oHtm:WritePar( "" )
|
||||
ENDIF
|
||||
oHtm:WriteParBold( " Tests" )
|
||||
oHtm:WriteText("<dd><p>")
|
||||
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("<dd><p>")
|
||||
nMode := D_NORMAL
|
||||
lAddBlank := .T.
|
||||
ELSEIF AT( cPlat, cBuffer ) > 0
|
||||
|
||||
IF !lBlankLine
|
||||
* oHtm:WritePar( "" )
|
||||
ENDIF
|
||||
oHtm:WriteParBold( " Platforms" )
|
||||
oHtm:WriteText("<dd><p>")
|
||||
nMode := D_NORMAL
|
||||
lAddBlank := .T.
|
||||
ELSEIF AT( cFiles, cBuffer ) > 0
|
||||
|
||||
IF !lBlankLine
|
||||
* oHtm:WritePar( "" )
|
||||
ENDIF
|
||||
oHtm:WriteParBold( " Files" )
|
||||
oHtm:WriteText("<dd><p>")
|
||||
nMode := D_NORMAL
|
||||
lAddBlank := .T.
|
||||
ELSEIF AT( cFunction, cBuffer ) > 0
|
||||
@@ -441,7 +769,7 @@ FUNCTION ProcessWww()
|
||||
* oHtm:WritePar( "" )
|
||||
ENDIF
|
||||
oHtm:WriteParBold( " Functions" )
|
||||
oHtm:WriteText("<DD><PRE>")
|
||||
oHtm:WriteText("<dd><p>")
|
||||
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("<a href="+cFileName+"#"+UPPERLOWER(cTemp)+">"+ cBuffer+'</a>')
|
||||
|
||||
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("<a href="+cFileName+"#"+UPPERLOWER(cTemp)+">"+ cBuffer+'</a>')
|
||||
|
||||
|
||||
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('</p></dd></dl>')
|
||||
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( " </P></dd>")
|
||||
|
||||
RETURN nil
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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<nfiles
|
||||
oRtf:EndPage()
|
||||
endif
|
||||
nMode := D_IGNORE
|
||||
ENDIF
|
||||
|
||||
@@ -215,8 +245,6 @@ FUNCTION ProcessRtf()
|
||||
|
||||
// Act on the input
|
||||
IF lDoc
|
||||
// 1) function name
|
||||
|
||||
IF AT( cFunc, cBuffer ) > 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
|
||||
|
||||
@@ -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("<ul>")
|
||||
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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user