From 707959c7a9db9da437cf6dee0c292a2b5beda9d7 Mon Sep 17 00:00:00 2001 From: Luiz Rafael Culik Date: Sun, 11 Jun 2000 08:40:12 +0000 Subject: [PATCH] See changelog 20000611-05:40 GMT -3 --- harbour/utils/hbdoc/genchm.prg | 11 +- harbour/utils/hbdoc/genhtm.prg | 10 +- harbour/utils/hbdoc/genng.prg | 10 +- harbour/utils/hbdoc/genos2.prg | 320 +++++++++++++++++++++++---------- harbour/utils/hbdoc/genrtf.prg | 10 +- harbour/utils/hbdoc/hbdoc.prg | 4 +- harbour/utils/hbdoc/os2.prg | 56 ++++-- 7 files changed, 290 insertions(+), 131 deletions(-) diff --git a/harbour/utils/hbdoc/genchm.prg b/harbour/utils/hbdoc/genchm.prg index 6b220fcf3a..4a09975e64 100644 --- a/harbour/utils/hbdoc/genchm.prg +++ b/harbour/utils/hbdoc/genchm.prg @@ -290,7 +290,7 @@ FUNCTION ProcessChm() cBuffer := ReadLN( @lEof ) nLineCnt ++ // Save the function name - cFuncName := UPPER( ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) ) + cFuncName := ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) @ MODULELINE, 33 CLEAR TO MODULELINE, MAXCOL() @ MODULELINE, 33 SAY cFuncName @@ -298,9 +298,9 @@ FUNCTION ProcessChm() // Open a new file IF AT( "FT_", cFuncName ) > 0 - cTemp := SUBSTR( cFuncName, 4 ) + cTemp := upper(SUBSTR( cFuncName, 4 )) ELSE - cTemp := cFuncName + cTemp := upper(cFuncName) ENDIF IF ( nEnd := AT( "(", cTemp ) ) > 0 @@ -364,7 +364,7 @@ FUNCTION ProcessChm() cBuffer := ReadLN( @lEof ) nLineCnt ++ // Save the function name - cFuncName := UPPER( ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) ) + cFuncName := ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) @ MODULELINE, 33 CLEAR TO MODULELINE, MAXCOL() @ MODULELINE, 33 SAY cFuncName @@ -389,7 +389,7 @@ FUNCTION ProcessChm() cBuffer := ReadLN( @lEof ) nLineCnt ++ // get the category - cCategory := UPPER( ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) ) + cCategory := ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) // 3) One line description @@ -1113,7 +1113,6 @@ FUNCTION ProcChmDesc( cBuffer, oChm, cStyle ) lHasFixed:=.F. Endif - cBuffer := STRTRAN( cBuffer, "", "" ) cBuffer := STRTRAN( cBuffer, "", "" ) if !lHasFixed diff --git a/harbour/utils/hbdoc/genhtm.prg b/harbour/utils/hbdoc/genhtm.prg index a64096d4d2..5a943d02d6 100644 --- a/harbour/utils/hbdoc/genhtm.prg +++ b/harbour/utils/hbdoc/genhtm.prg @@ -289,7 +289,7 @@ FUNCTION ProcessWww() cBuffer := ReadLN( @lEof ) nLineCnt ++ // Save the function name - cFuncName := UPPER( ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) ) + cFuncName := ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) @ MODULELINE, 33 CLEAR TO MODULELINE, MAXCOL() @ MODULELINE, 33 SAY cFuncName @@ -297,9 +297,9 @@ FUNCTION ProcessWww() // Open a new file IF AT( "FT_", cFuncName ) > 0 - cTemp := SUBSTR( cFuncName, 4 ) + cTemp := UPPER(SUBSTR( cFuncName, 4 )) ELSE - cTemp := cFuncName + cTemp := UPPER(cFuncName) ENDIF IF ( nEnd := AT( "(", cTemp ) ) > 0 @@ -363,7 +363,7 @@ FUNCTION ProcessWww() cBuffer := ReadLN( @lEof ) nLineCnt ++ // Save the function name - cFuncName := UPPER( ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) ) + cFuncName := ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) @ MODULELINE, 33 CLEAR TO MODULELINE, MAXCOL() @ MODULELINE, 33 SAY cFuncName @@ -388,7 +388,7 @@ FUNCTION ProcessWww() cBuffer := ReadLN( @lEof ) nLineCnt ++ // get the category - cCategory := UPPER( ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) ) + cCategory := ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) // 3) One line description diff --git a/harbour/utils/hbdoc/genng.prg b/harbour/utils/hbdoc/genng.prg index 0c0212840d..53206e9b2a 100644 --- a/harbour/utils/hbdoc/genng.prg +++ b/harbour/utils/hbdoc/genng.prg @@ -260,7 +260,7 @@ FUNCTION ProcessiNg() cBuffer := ReadLN( @lEof ) nLineCnt ++ // Save the function name - cFuncName := UPPER( ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) ) + cFuncName := ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) @ MODULELINE, 33 CLEAR TO MODULELINE, MAXCOL() @ MODULELINE, 33 SAY cFuncName @@ -268,9 +268,9 @@ FUNCTION ProcessiNg() // Open a new file IF AT( "FT_", cFuncName ) > 0 - cTemp := SUBSTR( cFuncName, 4 ) + cTemp := upper(SUBSTR( cFuncName, 4 )) ELSE - cTemp := cFuncName + cTemp := upper(cFuncName) ENDIF IF ( nEnd := AT( "(", cTemp ) ) > 0 @@ -328,7 +328,7 @@ FUNCTION ProcessiNg() cBuffer := ReadLN( @lEof ) nLineCnt ++ // Save the function name - cFuncName := UPPER( ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) ) + cFuncName := ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) @ MODULELINE, 33 CLEAR TO MODULELINE, MAXCOL() @ MODULELINE, 33 SAY cFuncName @@ -338,7 +338,7 @@ FUNCTION ProcessiNg() cBuffer := ReadLN( @lEof ) nLineCnt ++ // get the category - cCategory := UPPER( ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) ) + cCategory := ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) // 3) One line description diff --git a/harbour/utils/hbdoc/genos2.prg b/harbour/utils/hbdoc/genos2.prg index 4dde722a1d..ad2d64c908 100644 --- a/harbour/utils/hbdoc/genos2.prg +++ b/harbour/utils/hbdoc/genos2.prg @@ -56,6 +56,11 @@ STATIC aAlso STATIC nCommentLen STATIC lEof STATIC aFiTable := {} +STATIC aSiTable := {} +STATIC aFoiTable := {} +STATIC atiTable := {} +STATIC nNumTableItems := 0 + STATIC lIsTable := .F. STATIC aColorTable := { { 'aqua', '' }, { 'black', '' }, { 'fuchia', '' }, { 'grey', '' }, { 'green', '' }, { 'lime', '' }, { 'maroon', '' }, { 'navy', '' }, { 'olive', '' }, { 'purple', '' }, { 'red', '' }, { 'silver', '' }, { 'teal', '' }, { 'white', '' }, { 'yellow', '' } } STATIC aCurDoc := {} @@ -234,7 +239,8 @@ FUNCTION ProcessOs2() oos2:writeText( ':efn.' ) ENDIF IF .NOT. EMPTY( cSeeAlso ) - oOs2:WritePar( ".br" + CRLF + "See Also:" ) + oOs2:WriteText( ".br") + oOs2:WriteParBold( "See Also&colon." ) FOR nAlso := 1 TO LEN( aAlso ) IF nAlso == 1 @@ -260,7 +266,7 @@ FUNCTION ProcessOs2() cBuffer := ReadLN( @lEof ) nLineCnt ++ // Save the function name - cFuncName := UPPER( ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) ) + cFuncName := ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) @ MODULELINE, 33 CLEAR TO MODULELINE, MAXCOL() @ MODULELINE, 33 SAY cFuncName @@ -268,9 +274,9 @@ FUNCTION ProcessOs2() // Open a new file IF AT( "FT_", cFuncName ) > 0 - cTemp := SUBSTR( cFuncName, 4 ) + cTemp := upper(SUBSTR( cFuncName, 4 )) ELSE - cTemp := cFuncName + cTemp := upper(cFuncName) ENDIF IF ( nEnd := AT( "(", cTemp ) ) > 0 @@ -325,7 +331,7 @@ FUNCTION ProcessOs2() cBuffer := ReadLN( @lEof ) nLineCnt ++ // Save the function name - cFuncName := UPPER( ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) ) + cFuncName := ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) @ MODULELINE, 33 CLEAR TO MODULELINE, MAXCOL() @ MODULELINE, 33 SAY cFuncName @@ -337,7 +343,7 @@ FUNCTION ProcessOs2() cBuffer := ReadLN( @lEof ) nLineCnt ++ // get the category - cCategory := UPPER( ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) ) + cCategory := ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) // 3) One line description @@ -358,7 +364,7 @@ FUNCTION ProcessOs2() oOs2:WriteJumpTitle( LEFT( cFilename, AT( '.', cFilename ) - 1 ) + cFuncName, "Method " + cFuncName ) ELSE - oOs2:WriteTitle( PAD( cFuncName, 40 ), cFuncName ) + oOs2:WriteTitle( PAD( cFuncName, 40 ), cFuncName ,cCategory) oOs2:WriteParBold( cOneLine ) ENDIF @@ -395,7 +401,7 @@ end IF GetItem( cBuffer, nCurdoc ) IF !lBlankLine - oOs2:WritePar( "" ) + oOs2:WriteText( ".br" ) ENDIF oOs2:WriteParBold( " Returns" ) @@ -408,7 +414,7 @@ end IF GetItem( cBuffer, nCurdoc ) IF !lBlankLine - oOs2:WritePar( "" ) + oOs2:WriteText( ".br" ) ENDIF oOs2:WriteParBold( " Description" ) @@ -418,7 +424,7 @@ end ELSEIF AT( cdatalink, cBuffer ) > 0 IF GetItem( cBuffer, nCurdoc ) IF !lBlankLine - oOs2:WritePar( "" ) //:endpar() + oOs2:WriteText( ".br" ) //:endpar() ENDIF oOs2:WriteParBold( " Data" ) @@ -458,7 +464,7 @@ end ELSEIF AT( cExam, cBuffer ) > 0 IF GetItem( cBuffer, nCurdoc ) IF !lBlankLine - oOs2:WritePar( "" ) + oOs2:WriteText( ".br" ) ENDIF oOs2:WriteParBold( " Examples" ) nMode := D_EXAMPLE @@ -467,7 +473,7 @@ end ELSEIF AT( cTest, cBuffer ) > 0 IF GetItem( cBuffer, nCurdoc ) IF !lBlankLine - oOs2:WritePar( "" ) + oOs2:WriteText( ".br" ) ENDIF oOs2:WriteParBold( " Tests" ) @@ -481,7 +487,7 @@ end ELSEIF AT( cCompl, cBuffer ) > 0 IF GetItem( cBuffer, nCurdoc ) IF !lBlankLine - oOs2:WritePar( "" ) + oOs2:WriteText( ".br" ) ENDIF oOs2:WriteParBold( " Compliance" ) nMode := D_COMPLIANCE @@ -490,7 +496,7 @@ end ELSEIF AT( cPlat, cBuffer ) > 0 IF GetItem( cBuffer, nCurdoc ) IF !lBlankLine - oOs2:WritePar( "" ) + oOs2:WriteText( ".br" ) ENDIF oOs2:WriteParBold( " Platforms" ) nMode := D_NORMAL @@ -499,7 +505,7 @@ end ELSEIF AT( cFiles, cBuffer ) > 0 IF GetItem( cBuffer, nCurdoc ) IF !lBlankLine - oOs2:WritePar( "" ) + oOs2:WriteText( ".br" ) ENDIF oOs2:WriteParBold( " Files" ) @@ -509,7 +515,7 @@ end ELSEIF AT( cFunction, cBuffer ) > 0 IF GetItem( cBuffer, nCurdoc ) IF !lBlankLine - oOs2:WritePar( "" ) + oOs2:WriteText( ".br" ) ENDIF oOs2:WriteParBold( " Function" ) @@ -535,7 +541,7 @@ end LONGLINE, aDirList[ i, F_NAME ] ) ENDIF lBlankLine := EMPTY( cBuffer ) - cBuffer := oOs2:DosToOs2Text(cBuffer) +// cBuffer := oOs2:DosToOs2Text(cBuffer) IF AT( "", cBuffer ) > 0 STRTRAN( cBuffer, "", '' ) STRTRAN( cBuffer, "", '' ) @@ -552,7 +558,7 @@ end LONGLINE, aDirList[ i, F_NAME ] ) ENDIF lBlankLine := EMPTY( cBuffer ) - oOs2:DosToOs2Text(cBuffer) +/* oOs2:dostoos2Text(cBuffer)*/ procos2desc( cbuffer, oOs2, "Arguments" ) ELSEIF nMode = D_ARG @@ -561,7 +567,7 @@ end LONGLINE, aDirList[ i, F_NAME ] ) ENDIF lBlankLine := EMPTY( cBuffer ) - oOs2:DosToOs2Text(cBuffer) +// oOs2:DosToOs2Text(cBuffer) procos2desc( cbuffer, oOs2, "Arguments" ) ELSEIF nMode = D_NORMAL IF LEN( cBuffer ) > LONGLINE @@ -569,7 +575,7 @@ end LONGLINE, aDirList[ i, F_NAME ] ) ENDIF lBlankLine := EMPTY( cBuffer ) - oOs2:DosToOs2Text(cBuffer) +// oOs2:DosToOs2Text(cBuffer) procos2desc( cBuffer, oOs2 ) ELSEIF nMode = D_DATALINK IF LEN( cBuffer ) > LONGLINE @@ -605,7 +611,7 @@ end // read next line IF .NOT. EMPTY( cBuffer ) IF !lBlankLine - oOs2:WritePar( "" ) + oOs2:WriteText( ".br" ) ENDIF ENDIF ELSEIF nMode = D_COMPLIANCE @@ -614,7 +620,7 @@ end LONGLINE, aDirList[ i, F_NAME ] ) ENDIF lBlankLine := EMPTY( cBuffer ) - oOs2:DosToOs2Text(cBuffer) +// oOs2:DosToOs2Text(cBuffer) procos2desc( cBuffer, oOs2, "Compliance" ) ELSEIF nMode = D_DESCRIPTION @@ -623,7 +629,7 @@ end LONGLINE, aDirList[ i, F_NAME ] ) ENDIF lBlankLine := EMPTY( cBuffer ) - oOs2:DosToOs2Text(cBuffer) +// oOs2:DosToOs2Text(cBuffer) procos2desc( cBuffer, oOs2, "Description" ) ELSEIF nMode = D_EXAMPLE @@ -634,10 +640,10 @@ end lBlankLine := EMPTY( cBuffer ) IF lAddBlank - oOs2:WritePar( "" ) //:endpar() + oOs2:WriteText( ".br" ) //:endpar() lAddBlank := .F. ENDIF - oOs2:DosToOs2Text(cBuffer) +// oOs2:DosToOs2Text(cBuffer) procos2desc( cBuffer, oOs2, "Example" ) ELSEIF nMode = D_STATUS @@ -683,11 +689,11 @@ FUNCTION ProcStatusOs2( nWriteHandle, cBuffer ) IF LEN( ALLTRIM( cBuffer ) ) > 1 nWriteHandle:WritePar( cBuffer ) ELSEIF SUBSTR( ALLTRIM( cBuffer ), 1 ) == "R" - nWriteHandle:WritePar( " Ready" ) + nWriteHandle:WritePar( "Ready" ) ELSEIF SUBSTR( ALLTRIM( cBuffer ), 1 ) == "S" - nWriteHandle:WritePar( " Started" ) + nWriteHandle:WritePar( "Started" ) ELSE - nWriteHandle:WritePar( " Not Started" ) + nWriteHandle:WritePar( "Not Started" ) ENDIF RETURN nil @@ -751,7 +757,7 @@ FUNCTION Formatos2Buff( cBuffer, cStyle, ongi ) lEndBuff := .t. ENDIF IF AT( DELIM, cLine ) = 0 - cReturn += ' ' + ALLTRIM( cLine ) + ' ' + cReturn += " "+ ALLTRIM( cLine ) + ' ' ENDIF ENDDO creturn := STRTRAN( creturn, "", "" ) @@ -760,13 +766,14 @@ FUNCTION Formatos2Buff( cBuffer, cStyle, ongi ) cReturn := '' + creturn + ' ' ELSEIF cStyle == 'Syntax' - cReturn := '' + cReturn + ' ' + cReturn := ' ' + cReturn + ' ' ELSEIF cStyle == 'Arguments' nPos := 0 + ? 'Estou em formatos2buff' + ? AT( "", cReturn ) IF AT( "", cReturn ) > 0 cReturn := STRTRAN( cReturn, "", "" ) cReturn := STRTRAN( cReturn, "", "" ) - cReturn := ALLTRIM( cReturn ) nPos := AT( " ", cReturn ) cOLine := LEFT( cReturn, nPos - 1 ) cReturn := STRTRAN( cReturn, coLine, "" ) @@ -777,6 +784,7 @@ FUNCTION Formatos2Buff( cBuffer, cStyle, ongi ) ENDIF ENDIF + DO WHILE !lEndBuff cLine := TRIM( SUBSTR( ReadLN( @lEof ), nCommentLen ) ) IF AT( '', cLine ) > 0 @@ -797,9 +805,9 @@ FUNCTION Formatos2Buff( cBuffer, cStyle, ongi ) creturn := STRTRAN( creturn, "", "" ) creturn := STRTRAN( creturn, "", "" ) IF lArgBold - cReturn := ' ' + cOLine + ' ' + cReturn + ' ' + cReturn := '' + cOLine + ' ' + cReturn + ' ' ELSE - cReturn := ' ' + cOLine + ' ' + cReturn + ' ' + cReturn := '' + cOLine + ' ' + cReturn + ' ' ENDIF lArgBold := .F. @@ -846,15 +854,17 @@ RETURN cbuffer *+ *+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± *+ -FUNCTION ProcOs2Table( cBuffer ) +FUNCTION ProcOs2Table( cBuffer , nNum ) LOCAL nPos LOCAL cItem LOCAL cItem2 LOCAL cItem3 + LOCAL cItem4 LOCAL xtype LOCAL nColorpos LOCAL cColor + cBuffer := ALLTRIM( cBuffer ) IF AT( " 0 nColorPos := AT( ":", cBuffer ) cColor := SUBSTR( cBuffer, nColorpos + 1 ) @@ -867,12 +877,50 @@ FUNCTION ProcOs2Table( cBuffer ) nColorpos := ASCAN( aColorTable, { | x, y | UPPER( x[ 1 ] ) == UPPER( ccolor ) } ) cColor := aColortable[ nColorPos, 2 ] ENDIF - IF !EMPTY( cBuffer ) - cItem := cBuffer + IF EMPTY( cBuffer ) + citem := '' + citem2 := '' + citem3 := '' + citem4 := '' ELSE - citem := '' + cBuffer := STRTRAN( cBuffer, "<", "<." ) + cBuffer := STRTRAN( cBuffer, ">", ">." ) + + cItem := SUBSTR( cBuffer, 1, AT( SPACE( 3 ), cBuffer ) - 1 ) + cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem, "" ) ) + IF nNum == 2 + cItem2 := SUBSTR( cBuffer, 1 ) + ELSE + cItem2 := SUBSTR( cBuffer, 1, AT( SPACE( 3 ), cBuffer ) - 1 ) + cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem2, "" ) ) + ENDIF + + IF nNum == 3 + cItem3 := SUBSTR( cBuffer, 1 ) + ELSEIF nNum > 3 + cItem3 := SUBSTR( cBuffer, 1, AT( SPACE( 3 ), cBuffer ) - 1 ) + cBuffer := ALLTRIM( STRTRAN( cBuffer, cItem3, "" ) ) + cItem4 := SUBSTR( cBuffer, 1 ) + ENDIF + ENDIF + IF cColor <> NIL + AADD( afiTable, "" + RTRIM( LTRIM( cItem ) ) + '' ) + AADD( asiTable, "" + cItem2 + '' ) + ELSE + AADD( afiTable, RTRIM( LTRIM( cItem ) ) ) + AADD( asiTable, cItem2 ) + ENDIF + + IF cColor <> NIL + AADD( atiTable, "" + cItem3 + '' ) + ELSE + AADD( atiTable, cItem3 ) + ENDIF + IF cColor <> NIL + AADD( afoiTable, "" + cItem4 + '' ) + ELSE + AADD( afoiTable, cItem4 ) ENDIF - AADD( afiTable, cItem ) RETURN Nil @@ -907,43 +955,53 @@ RETURN max *+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± *+ FUNCTION Genos2Table( oOs2 ) + Local x + Local cItem,cItem1,cItem2,cItem3 +// oos2:WritePar( "" ) + if nNumTableItems == 2 + citem := str(maxos2elem(afitable),2) + cItem1 := Str(maxos2elem(asitable),2) + oos2:writeText(":table cols="+"'"+cItem + " " + cItem1 +"'." ) + elseif nNumTableItems == 3 + oos2:writeText(":table cols="+"'"+str(maxos2elem(afitable),2) + " " + str(maxos2elem(asitable),2) + " " +str(maxos2elem(atitable),2) +"'." ) + elseif nNumTableItems == 4 + oos2:writeText(":table cols="+"'"+str(maxos2elem(afitable),2) + " " + str(maxos2elem(asitable),2) + " " +str(maxos2elem(atitable),2) + ' ' +str(maxos2elem(afoitable),2)+"'." ) + endif - LOCAL y - LOCAL nLen2 - LOCAL x - LOCAL nMax - LOCAL nSpace - LOCAL lCar := .f. - LOCAL nMax2 - LOCAL nSpace2 - LOCAL nPos1 - LOCAL nPos2 - LOCAL LColor - LOCAL nPos - LOCAL aLensFItem := {} - LOCAL aLensSItem := {} - FOR X := 1 TO LEN( afitable ) - AADD( aLensFItem, LEN( afiTable[ x ] ) ) + FOR x := 1 TO LEN( asitable ) + IF !EMPTY( asitable[ x ] ) + IF nNumTableItems == 2 + oos2:Writetext(':row.') + oos2:Writetext(':c.' + afitable[x]) + oos2:Writetext(':c.' + asitable[x]) + ELSEIF nNumTableItems == 3 + oos2:Writetext(':row.') + oos2:Writetext(':c.' + afitable[x]) + oos2:Writetext(':c.' + asitable[x]) + oos2:Writetext(':c.' + atitable[x]) + ELSEIF nNumTableItems == 4 + oos2:Writetext(':row.') + oos2:Writetext(':c.' + afitable[x]) + oos2:Writetext(':c.' + asitable[x]) + oos2:Writetext(':c.' + atitable[x]) + oos2:Writetext(':c.' + afoitable[x]) + ENDIF + ELSE + oos2:Writetext(':row.') + oos2:Writetext(':c.') + + ENDIF NEXT - ASORT( aLensFItem,,, { | x, y | x > y } ) - oOs2:WritePar( "" ) - // nMax2:=checkcar(aTable,1)+1 - nMax2 := alensfitem[ 1 ] - nPos := maxrtfelem( afitable ) - nPos2 := ASCAN( alensfitem, { | x | x == nPos } ) + oOs2:Writetext( ':etable.' ) + oos2:WriteText( ".br" ) + afiTable := {} + asitable := {} + atitable := {} + afoitable := {} - oOs2:WriteText( ':cgraphic.' ) - oOs2:WritePar( " " + REPL( 'Í', 80 ) ) - FOR x := 1 TO LEN( afiTable ) - oOs2:WritePar( IF( AT( "|", afiTable[ x ] ) > 0, STRTRAN( afiTable[ x ], "|", " " ), afiTable[ x ] ) ) - NEXT - oOs2:WritePar( " " + REPL( 'Í', 80 ) ) - oOs2:WriteText( ':ecgraphic.' ) - oOs2:WritePar( "" ) - afiTable := {} RETURN Nil @@ -958,7 +1016,8 @@ RETURN Nil FUNCTION Procos2Desc( cBuffer, oOs2, cStyle ) LOCAL cLine := '' - LOCAL lArgBold + LOCAL lArgBold := .F. + LOCAL lHasFixed := .F. LOCAL npos LOCAL CurPos := 0 LOCAL nColorPos @@ -968,25 +1027,26 @@ FUNCTION Procos2Desc( cBuffer, oOs2, cStyle ) LOCAL NIDENTLEVEL LOCAL coline LOCAL lEndPar := .F. - + LOCAL LFstTableItem := .T. LOCAL lEndFixed := .F. LOCAL lEndTable := .F. + DEFAULT cStyle TO "Default" lendfixed := .F. IF AT( '', cBuffer ) == 0 .AND. !EMPTY( cBuffer ) .AND. cstyle <> "Example" cBuffer := '' + cBuffer ENDIF IF EMPTY( cBuffer ) - oOs2:WritePar( "" ) + oOs2:WriteText( ".br" ) ENDIF IF cStyle <> "Example" .AND. AT( "", cBuffer ) == 0 .AND. AT( "", cBuffer ) = 0 IF AT( "", cBuffer ) >= 0 .OR. AT( "", cBuffer ) = 0 .AND. !EMPTY( cbuffer ) IF AT( "", cBuffer ) > 0 .AND. AT( "", cBuffer ) > 0 - +? " Estou Aqui" IF cStyle == "Arguments" creturn := cBuffer - + ? " Estou Aqui 2" cReturn := STRTRAN( cReturn, "", "" ) cReturn := STRTRAN( cReturn, "", "" ) cReturn := ALLTRIM( cReturn ) @@ -1001,9 +1061,9 @@ FUNCTION Procos2Desc( cBuffer, oOs2, cStyle ) // cBuffer:= strtran(cBuffer,"","") IF lArgBold - cReturn := ' ' + cOLine + ' ' + cReturn + ' ' + cReturn := '' + cOLine + ' ' + cReturn + ' ' ELSE - cReturn := ' ' + cOLine + ' ' + cReturn + ' ' + cReturn := '' + cOLine + ' ' + cReturn + ' ' ENDIF cbuffer := cReturn @@ -1019,8 +1079,7 @@ FUNCTION Procos2Desc( cBuffer, oOs2, cStyle ) IF AT( '', cBuffer ) > 0 .AND. AT( '', cBuffer ) > 0 cBuffer := STRTRAN( cBuffer, '', '' ) - cBuffer := STRTRAN( cBuffer, '', ':hp2. ' ) - cBuffer := STRTRAN( cBuffer, '', ':ehp2. ' ) + cBuffer := STRTRAN( cBuffer, '', ':hp3. ' ) cBuffer := STRTRAN( cBuffer, '', ':ehp3. ' ) cBuffer := STRTRAN( cBuffer, '', ':hp1. ' ) @@ -1032,24 +1091,75 @@ FUNCTION Procos2Desc( cBuffer, oOs2, cStyle ) ENDIF IF cStyle == "Description" .OR. cStyle == "Compliance" - nIdentLevel := 6 + nIdentLevel := 5 nPos := 0 - IF AT( '', cBuffer ) > 0 - cBuffer := STRTRAN( cBuffer, "", "" ) - ENDIF - IF !EMPTY( cBuffer ) - cBuffer := SUBSTR( cBuffer, 2 ) - oOs2:Writetext( cBuffer ) - ENDIF + + DO WHILE !lendPar + IF nPos == 0 + cLine := SUBSTR( cBuffer, 1, 220 ) + nPos := RAT( " ", cLine ) + IF nPos > 0 + + cLine := SUBSTR( cBuffer, 1, nPos ) +// cline:= Oos2:dostoos2text(cline) + ENDIF + + ELSE + cLine := SPACE( nidentLevel ) + SUBSTR( cBuffer, curPos, 220 ) + + IF AT( '', cLine ) > 0 + lEndPar := .T. + cLine := STRTRAN( cLine, " ", "" ) + ENDIF + nPos := RAT( " ", cLine ) + IF nPos > 0 + cLine := SPACE( nidentLevel ) + SUBSTR( cBuffer, curpos, nPos - nIdentlevel ) + nPos -= nIdentlevel + ELSE + IF cLine == "" + cLine := '' + ENDIF + + ENDIF + ENDIF + + IF !EMPTY( cLine ) + if AT("",cLine)>0 .or. AT("",cLine)>0 + cLine := STRTRAN( cLine, '', '' ) + cLine := STRTRAN( cLine, '', '' ) + oOs2:WriteParBold(cLine,.f.) + Else + IF LEFT(CLINE,LEN(SPACE(nidentLevel ))) ==SPACE(nidentLevel ) + oos2:WriteText( cLine ) + Else + oos2:WriteText(SPACE(nidentLevel )+ cLine ) + endif + Endif + oOs2:WriteTExt(".br") + ENDIF + curPos += nPos + ENDDO + ELSEIF cStyle == "Arguments" - + cBuffer := STRTRAN( cBuffer, ':', "&colon." ) + cBuffer := STRTRAN( cBuffer, '', 'hp2.' ) + cBuffer := STRTRAN( cBuffer, '', 'ehp2.' ) IF AT( '', cBuffer ) > 0 cBuffer := STRTRAN( cBuffer, "", "" ) ENDIF + + cBuffer := STRTRAN( cBuffer, "<", "<." ) + cBuffer := STRTRAN( cBuffer, ">", ">." ) + IF !EMPTY( cBuffer ) cBuffer := SUBSTR( cBuffer, 2 ) - oOs2:writeText( cBuffer ) + cBuffer := STRTRAN( cBuffer, 'hp2.', ':hp2.' ) + cBuffer := STRTRAN( cBuffer, 'ehp2.', ':ehp2.' ) + + oos2:writetext(cbuffer+CRLF+'.br') + +/*a oOs2:writeText( cBuffer+CRLF+".br") */ ENDIF ELSEIF cStyle == "Syntax" @@ -1058,9 +1168,10 @@ FUNCTION Procos2Desc( cBuffer, oOs2, cStyle ) ENDIF IF !EMPTY( cBuffer ) cBuffer := SUBSTR( cBuffer, 2 ) - oOs2:WriteParBold( cBuffer ) + oOs2:WriteParBold( cBuffer,.f.) + oOs2:writeText('.br') + oOs2:writeText('.br') ENDIF - ELSEIF cStyle == "Default" IF AT( '', cBuffer ) > 0 cBuffer := STRTRAN( cBuffer, "", "" ) @@ -1075,11 +1186,19 @@ FUNCTION Procos2Desc( cBuffer, oOs2, cStyle ) IF AT( '', cBuffer ) > 0 .OR. cStyle = "Example" IF AT( '', cBuffer ) = 0 .OR. !EMPTY( cBuffer ) + if AT( '', cBuffer ) > 0 + lHasFixed:=.T. + else + lHasFixed:=.F. + Endif + cBuffer := STRTRAN( cBuffer, "", "" ) cBuffer := STRTRAN( cBuffer, "", "" ) + ENDIF + if !lHasFixed oOs2:WritePar( cBuffer ) - ENDIF - + oOs2:WriteTExt(".br") + endif DO WHILE !lendFixed cLine := TRIM( SUBSTR( ReadLN( @lEof ), nCommentLen ) ) IF AT( "", cLine ) > 0 @@ -1094,23 +1213,32 @@ FUNCTION Procos2Desc( cBuffer, oOs2, cStyle ) lEndfixed := .t. ENDIF - IF AT( DELIM, cLine ) == 0 + IF AT( DELIM, cLine ) == 0 .and. !lendfixed oOs2:WritePar( cLine ) + oOs2:WriteTExt(".br") ENDIF ENDDO END IF AT( '
', cBuffer ) > 0 DO WHILE !lendTable - cBuffer := TRIM( SUBSTR( ReadLN( @lEof ), nCommentLen ) ) - IF AT( "
", cBuffer ) > 0 + cLine := TRIM( SUBSTR( ReadLN( @lEof ), nCommentLen ) ) + IF AT( "", cLine ) > 0 lendTable := .t. ELSE - procos2table( cBuffer ) + IF LFstTableItem + nNumTableItems := GetNumberofTableItems( cLine ) + procos2table( cline, nNumTableItems ) + LFstTableItem := .f. + ELSE + procos2table( cline, nNumTableItems ) + ENDIF + ENDIF ENDDO IF lEndTable Genos2Table( oOs2 ) + LFstTableItem := .T. ENDIF ENDIF diff --git a/harbour/utils/hbdoc/genrtf.prg b/harbour/utils/hbdoc/genrtf.prg index 30c41cc439..813cff5446 100644 --- a/harbour/utils/hbdoc/genrtf.prg +++ b/harbour/utils/hbdoc/genrtf.prg @@ -258,7 +258,7 @@ FUNCTION ProcessRtf() cBuffer := ReadLN( @lEof ) nLineCnt ++ // Save the function name - cFuncName := UPPER( ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) ) + cFuncName := ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) @ MODULELINE, 33 CLEAR TO MODULELINE, MAXCOL() @ MODULELINE, 33 SAY cFuncName @@ -266,9 +266,9 @@ FUNCTION ProcessRtf() // Open a new file IF AT( "FT_", cFuncName ) > 0 - cTemp := SUBSTR( cFuncName, 4 ) + cTemp := upper(SUBSTR( cFuncName, 4 )) ELSE - cTemp := cFuncName + cTemp := upper(cFuncName) ENDIF IF ( nEnd := AT( "(", cTemp ) ) > 0 @@ -324,7 +324,7 @@ FUNCTION ProcessRtf() cBuffer := ReadLN( @lEof ) nLineCnt ++ // Save the function name - cFuncName := UPPER( ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) ) + cFuncName := ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) @ MODULELINE, 33 CLEAR TO MODULELINE, MAXCOL() @ MODULELINE, 33 SAY cFuncName @@ -337,7 +337,7 @@ FUNCTION ProcessRtf() cBuffer := ReadLN( @lEof ) nLineCnt ++ // get the category - cCategory := UPPER( ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) ) + cCategory := ALLTRIM( SUBSTR( cBuffer, nCommentLen ) ) // 3) One line description diff --git a/harbour/utils/hbdoc/hbdoc.prg b/harbour/utils/hbdoc/hbdoc.prg index f594e604ed..fd7d320e95 100644 --- a/harbour/utils/hbdoc/hbdoc.prg +++ b/harbour/utils/hbdoc/hbdoc.prg @@ -503,12 +503,12 @@ FUNCTION MAIN( cFlags, cLinkName, cAtFile ) do while .t. citem:=alltrim(rtrim(ltrim(adocinfo[1,1]))) // citem:=strtran(adocinfo[1,1]," ","") - ohtm1:WriteLink('hb'+strtran(adocinfo[1,1]," ","")+'.htm',UpperLower(cItem)) + ohtm1:WriteLink('hb'+strtran(adocinfo[1,1]," ","")+'.htm',cItem) for ppp:=1 to len(adocinfo) if citem<>adocinfo[ppp,1] citem:=alltrim(rtrim(ltrim(adocinfo[ppp,1]))) - ohtm1:WriteLink('hb'+strtran(adocinfo[ppp,1]," ","")+'.htm',UpperLower(cItem)) + ohtm1:WriteLink('hb'+strtran(adocinfo[ppp,1]," ","")+'.htm',cItem) // citem:=strtran(adocinfo[ppp,1]," ","") endif diff --git a/harbour/utils/hbdoc/os2.prg b/harbour/utils/hbdoc/os2.prg index 0e2babc2c3..dac4039091 100644 --- a/harbour/utils/hbdoc/os2.prg +++ b/harbour/utils/hbdoc/os2.prg @@ -74,6 +74,7 @@ #define CRLF hb_osnewline() #include 'hbclass.ch' +#include 'common.ch' *+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± *+ @@ -87,16 +88,17 @@ CLASS TOs2 DATA nHandle DATA aLinkRef DATA nRef + DATA aHeadRef METHOD New( cFile ) METHOD WritePar( cPar ) METHOD WriteLink( cLink ) METHOD ScanLink( cLink ) - + METHOD ScanRef( cRef ) METHOD WriteJumpLink( cLink, cName, cText ) METHOD CLOSE() METHOD WriteText( cPar ) - METHOD WriteParBold( cPar ) - METHOD WriteTitle( cTopic, cTitle ) + METHOD WriteParBold( cPar ,lMarg) + METHOD WriteTitle( cTopic, cTitle ,cCategorie) METHOD DostoOs2Text( cText ) METHOD WriteJumpTitle( cTitle, cTopic ) ENDCLASS @@ -105,6 +107,7 @@ METHOD New( cFile ) CLASS TOs2 IF Self:aLinkRef == NIL Self:aLinkRef := {} + Self:aHeadRef := {} Self:nRef := 1 ENDIF @@ -126,7 +129,7 @@ RETURN Self METHOD WritePar( cPar ) CLASS TOs2 - FWRITE( Self:nHandle, Self:DostoOs2Text( cPar ) + CRLF ) + FWRITE( Self:nHandle, Self:DostoOs2Text( cPar ) + CRLF) RETURN Self @@ -136,32 +139,46 @@ METHOD WriteText( cPar ) CLASS TOs2 RETURN Self -METHOD WriteParBold( cPar ) CLASS TOs2 - - FWRITE( Self:nHandle, ':p.:hp2.' + ALLTRIM( cPar ) + ':ehp2.' + CRLF ) +METHOD WriteParBold( cPar ,lMarg) CLASS TOs2 +DEFAULT lMarg to .t. + IF lMarg + FWRITE( Self:nHandle,".br"+CRLF+ ":hp2." + SELF:DosToOs2Text( cPar ) + ':ehp2.'+CRLF +".br" + CRLF +":p."+CRLF+':lm margin=6.' +CRLF ) + Else + FWRITE( Self:nHandle,":hp2." + SELF:DosToOs2Text( cPar ) + ':ehp2.'+CRLF +".br") + Endif RETURN Self -METHOD WriteTitle( cTopic, cTitle ) CLASS TOs2 +METHOD WriteTitle( cTopic, cTitle ,cCategory) CLASS TOs2 LOCAL cTemp LOCAL nPos LOCAL cWrite LOCAL nItem + LOCAL nrItem + LOCAL cRefCateg cTopic := ALLTRIM( cTopic ) - + cRefCateg:=ALLTRIM(left(cCategory,5 )) IF Self:Scanlink( cTopic ) == 0 nItem := ASCAN( Self:aLinkRef, { | a | upper(a[ 1 ]) == upper(cTopic )} ) ELSE // Just in case that nItem>0 so the Link is already referenced nItem := ASCAN( Self:aLinkRef, { | a | upper(a[ 1 ]) == upper(cTopic) } ) ENDIF FWRITE( Self:nHandle, ':h1 res=' + ALLTRIM( STR( nItem ) ) + '.' + cTopic + CRLF ) - FWRITE( Self:nHandle, ':i1 id=' + UPPER( cTopic ) + "." + UPPER( cTopic ) + CRLF ) + If Self:ScanRef(cRefCateg)==0 + nrItem := ASCAN( Self:aHeadRef, { | a | upper(a) == upper(cRefCateg )} ) + FWRITE( Self:nHandle, ':i1 id=' + ::aHeadRef[nrItem] + " global." + UPPER( cCategory ) + CRLF ) + ELSE // Just in case that nItem>0 so the Link is already referenced + nrItem := ASCAN( Self:aHeadRef, { | a | upper(a) == upper(cRefCateg) } ) + ENDIF + if nritem>0 + FWRITE( Self:nHandle, ':i2 refid=' + ::aHeadRef[nrItem] + " global." + UPPER( cTopic ) + CRLF ) + Endif cTopic := ::DosToOs2Text(cTopic) cTitle := ::DosToOs2Text(cTitle) - FWRITE( Self:nHandle, ":p." + cTitle + CRLF ) + FWRITE( Self:nHandle, ":p." + cTitle + CRLF +".br"+CRLF) RETURN Self @@ -206,11 +223,24 @@ METHOD ScanLink( cLink ) CLASS TOs2 Self:nRef ++ ENDIF +RETURN nItem +METHOD ScanRef( cLink ) CLASS TOs2 + + LOCAL nItem + LOCAL nReturn + + nItem := ASCAN( Self:aHeadRef, { | a | Upper(a)== upper(cLink) } ) + + IF nItem == 0 + AADD( Self:aHeadRef, upper(cLink)) + ENDIF + RETURN nItem METHOD DosToOs2Text( cText ) CLASS TOs2 LOCAL cReturn + cReturn := STRTRAN( cText, '&', "&." ) cReturn := STRTRAN( cReturn, '"', "&cdq." ) cReturn := STRTRAN( cReturn, ':', "&colon." ) @@ -228,7 +258,9 @@ METHOD DosToOs2Text( cText ) CLASS TOs2 cReturn := STRTRAN( cReturn, '{', "&lbrc." ) cReturn := STRTRAN( cReturn, '=', "&eq." ) cReturn := STRTRAN( cReturn, '$', "&dollar." ) - + cReturn := STRTRAN( cReturn, "<", "<." ) + cReturn := STRTRAN( cReturn, ">", ">." ) + cReturn := STRTRAN( cReturn, "-", "&minus." ) RETURN cReturn METHOD WriteJumpTitle( cTitle, cTopic ) CLASS TOs2