See changelog 20000616-22:10 GMT -3
This commit is contained in:
@@ -14,7 +14,6 @@ PRG_SOURCES=\
|
||||
gentrf.prg \
|
||||
genng.prg \
|
||||
genhtm.prg \
|
||||
genchm.prg \
|
||||
genrtf.prg \
|
||||
genhpc.prg \
|
||||
genasc.prg \
|
||||
|
||||
@@ -308,38 +308,35 @@ FUNCTION ProcessChm()
|
||||
ENDIF
|
||||
cFileName := ""
|
||||
|
||||
// Strip off any other non-alphabetic/numeric characters
|
||||
FOR j := 1 TO LEN( cTemp )
|
||||
cChar := SUBSTR( cTemp, j, 1 )
|
||||
IF ( cChar >= "0" .AND. cChar <= "9" ) .OR. ;
|
||||
( cChar >= "A" .AND. cChar <= "Z" ) .OR. cChar = "_"
|
||||
( cChar >= "A" .AND. cChar <= "Z" ) .OR. cChar = "_"
|
||||
cFileName += cChar
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
// See if file name is present already. If so then modify
|
||||
|
||||
cFileName := LEFT( cFileName, 21 )
|
||||
cFileName := LEFT( cFileName, 36 )
|
||||
nEnd := 1
|
||||
nCount := 0
|
||||
DO WHILE nEnd > 0
|
||||
nEnd := ASCAN( aDocInfo, { | a | a[ 4 ] == cFileName + ".htm" } )
|
||||
nEnd := ASCAN( aDocInfo, { | a | lower(a[ 4 ]) == lower(cFileName) + ".htm" } )
|
||||
IF nEnd > 0
|
||||
|
||||
// This will break if there are more than 10 files with the same first
|
||||
// seven characters. We take our chances.
|
||||
|
||||
IF LEN( cFileName ) = 21
|
||||
cFileName := STUFF( cFileName, 21, 1, STR( nCount, 1, 0 ) )
|
||||
IF LEN( cFileName ) = 36
|
||||
cFileName := STUFF( cFileName, 36, 1, STR( nCount, 1, 0 ) )
|
||||
ELSE
|
||||
cFileName += STR( nCount, 1, 0 )
|
||||
ENDIF
|
||||
nCount ++
|
||||
ENDIF
|
||||
ENDDO
|
||||
// Add on the extension
|
||||
|
||||
cFileName := LEFT( cFileName, 21 ) + ".htm"
|
||||
cFileName := LEFT( cFileName, 36 ) + ".htm"
|
||||
IF lDoc
|
||||
oChm := THTML():NewChm( 'chm\' + cFileName ,,cFuncName)
|
||||
ENDIF
|
||||
|
||||
@@ -311,14 +311,14 @@ FUNCTION ProcessWww()
|
||||
FOR j := 1 TO LEN( cTemp )
|
||||
cChar := SUBSTR( cTemp, j, 1 )
|
||||
IF ( cChar >= "0" .AND. cChar <= "9" ) .OR. ;
|
||||
( cChar >= "A" .AND. cChar <= "Z" ) .OR. cChar = "_"
|
||||
( cChar >= "A" .AND. cChar <= "Z" ) .OR. cChar = "_" .or. cchar ="@"
|
||||
cFileName += cChar
|
||||
ENDIF
|
||||
NEXT
|
||||
|
||||
// See if file name is present already. If so then modify
|
||||
|
||||
cFileName := LEFT( cFileName, 21 )
|
||||
cFileName := LEFT( cFileName, 36 )
|
||||
nEnd := 1
|
||||
nCount := 0
|
||||
DO WHILE nEnd > 0
|
||||
@@ -328,8 +328,8 @@ FUNCTION ProcessWww()
|
||||
// This will break if there are more than 10 files with the same first
|
||||
// seven characters. We take our chances.
|
||||
|
||||
IF LEN( cFileName ) = 21
|
||||
cFileName := STUFF( cFileName, 21, 1, STR( nCount, 1, 0 ) )
|
||||
IF LEN( cFileName ) = 36
|
||||
cFileName := STUFF( cFileName, 36, 1, STR( nCount, 1, 0 ) )
|
||||
ELSE
|
||||
cFileName += STR( nCount, 1, 0 )
|
||||
ENDIF
|
||||
@@ -338,7 +338,7 @@ FUNCTION ProcessWww()
|
||||
ENDDO
|
||||
// Add on the extension
|
||||
|
||||
cFileName := LEFT( cFileName, 21 ) + ".htm"
|
||||
cFileName := LEFT( cFileName, 36 ) + ".htm"
|
||||
IF lDoc
|
||||
oHtm := THTML():New( 'htm\' + cFileName )
|
||||
ENDIF
|
||||
@@ -405,13 +405,13 @@ FUNCTION ProcessWww()
|
||||
// Now start writing out what we know
|
||||
|
||||
IF lData
|
||||
oHtm:WriteText( "<H1>DATA " + ALLTRIM( PAD( cFuncName, 21 ) ) + "</H1>" )
|
||||
oHtm:WriteText( "<H1>DATA " + ALLTRIM( cFuncName ) + "</H1>" )
|
||||
oHtm:WriteText( "<p>" + cOneline + "</p>" + hb_osnewline() )
|
||||
ELSEIF lMethod
|
||||
oHtm:WriteText( "<H1> METHOD " + ALLTRIM( PAD( cFuncName, 21 ) ) + "</H1>" )
|
||||
oHtm:WriteText( "<H1> METHOD " + ALLTRIM( cFuncName ) + "</H1>" )
|
||||
oHtm:WriteText( "<p>" + cOneline + "</p>" + hb_osnewline() )
|
||||
ELSE
|
||||
oHtm:WriteText( "<H1>" + ALLTRIM( PAD( cFuncName, 21 ) ) + "</H1>" )
|
||||
oHtm:WriteText( "<H1>" + ALLTRIM( cFuncName ) + "</H1>" )
|
||||
AADD( aWWW, { cFuncName, LEFT( cFileName, AT( ".", cFileName ) - 1 ) } )
|
||||
oHtm:WriteText( "<p>" + cOneline + "</p>" + hb_osnewline() )
|
||||
ENDIF
|
||||
|
||||
@@ -240,7 +240,7 @@ FUNCTION ProcessOs2()
|
||||
ENDIF
|
||||
IF .NOT. EMPTY( cSeeAlso )
|
||||
oOs2:WriteText( ".br")
|
||||
oOs2:WriteParBold( "See Also&colon." )
|
||||
oOs2:WriteParBold( "See Also:" )
|
||||
FOR nAlso := 1 TO LEN( aAlso )
|
||||
|
||||
IF nAlso == 1
|
||||
@@ -374,14 +374,14 @@ FUNCTION ProcessOs2()
|
||||
|
||||
IF AT( cSyn, cBuffer ) > 0
|
||||
IF GetItem( cBuffer, nCurdoc )
|
||||
oOs2:WriteParBold( " Syntax" )
|
||||
oOs2:WriteParBold( "Syntax" )
|
||||
|
||||
nMode := D_SYNTAX
|
||||
lAddBlank := .T.
|
||||
end
|
||||
ELSEIF AT( cConstruct, cBuffer ) > 0
|
||||
IF GetItem( cBuffer, nCurdoc )
|
||||
oOs2:WriteParBold( " Constructor syntax" )
|
||||
oOs2:WriteParBold( "Constructor syntax" )
|
||||
|
||||
nMode := D_SYNTAX
|
||||
lAddBlank := .T.
|
||||
@@ -389,8 +389,8 @@ end
|
||||
ELSEIF AT( cArg, cBuffer ) > 0
|
||||
IF GetItem( cBuffer, nCurdoc )
|
||||
IF !lBlankLine
|
||||
|
||||
oOs2:WriteParBold( " Arguments" )
|
||||
oOs2:WriteText( ".br" )
|
||||
oOs2:WriteParBold( "Arguments" )
|
||||
|
||||
ENDIF
|
||||
|
||||
@@ -404,7 +404,7 @@ end
|
||||
oOs2:WriteText( ".br" )
|
||||
ENDIF
|
||||
|
||||
oOs2:WriteParBold( " Returns" )
|
||||
oOs2:WriteParBold( "Returns" )
|
||||
|
||||
nMode := D_RETURN
|
||||
lAddBlank := .T.
|
||||
@@ -416,7 +416,7 @@ end
|
||||
IF !lBlankLine
|
||||
oOs2:WriteText( ".br" )
|
||||
ENDIF
|
||||
oOs2:WriteParBold( " Description" )
|
||||
oOs2:WriteParBold( "Description" )
|
||||
|
||||
nMode := D_DESCRIPTION
|
||||
lAddBlank := .T.
|
||||
@@ -427,7 +427,7 @@ end
|
||||
oOs2:WriteText( ".br" ) //:endpar()
|
||||
ENDIF
|
||||
|
||||
oOs2:WriteParBold( " Data" )
|
||||
oOs2:WriteParBold( "Data" )
|
||||
nMode := D_DATALINK
|
||||
lAddBlank := .T.
|
||||
|
||||
@@ -436,7 +436,7 @@ end
|
||||
ELSEIF AT( cDatanolink, cBuffer ) > 0
|
||||
IF GetItem( cBuffer, nCurdoc )
|
||||
IF !lIsDataLink
|
||||
oOs2:WriteParBold( " Data" )
|
||||
oOs2:WriteParBold( "Data" )
|
||||
|
||||
ENDIF
|
||||
nMode := D_NORMAL
|
||||
@@ -446,7 +446,7 @@ end
|
||||
ELSEIF AT( cMethodslink, cBuffer ) > 0
|
||||
IF GetItem( cBuffer, nCurdoc )
|
||||
|
||||
oOs2:WriteParBold( " Method" )
|
||||
oOs2:WriteParBold( "Method" )
|
||||
nMode := D_METHODLINK
|
||||
lAddBlank := .T.
|
||||
|
||||
@@ -455,7 +455,7 @@ end
|
||||
ELSEIF AT( cMethodsnolink, cBuffer ) > 0
|
||||
IF GetItem( cBuffer, nCurdoc )
|
||||
IF !lIsMethodLink
|
||||
oOs2:WriteParBold( " Methods" )
|
||||
oOs2:WriteParBold( "Methods" )
|
||||
ENDIF
|
||||
|
||||
nMode := D_NORMAL
|
||||
@@ -466,7 +466,7 @@ end
|
||||
IF !lBlankLine
|
||||
oOs2:WriteText( ".br" )
|
||||
ENDIF
|
||||
oOs2:WriteParBold( " Examples" )
|
||||
oOs2:WriteParBold( "Examples" )
|
||||
nMode := D_EXAMPLE
|
||||
lAddBlank := .T.
|
||||
end
|
||||
@@ -476,7 +476,7 @@ end
|
||||
oOs2:WriteText( ".br" )
|
||||
ENDIF
|
||||
|
||||
oOs2:WriteParBold( " Tests" )
|
||||
oOs2:WriteParBold( "Tests" )
|
||||
nMode := D_EXAMPLE
|
||||
lAddBlank := .T.
|
||||
end
|
||||
@@ -489,7 +489,7 @@ end
|
||||
IF !lBlankLine
|
||||
oOs2:WriteText( ".br" )
|
||||
ENDIF
|
||||
oOs2:WriteParBold( " Compliance" )
|
||||
oOs2:WriteParBold( "Compliance" )
|
||||
nMode := D_COMPLIANCE
|
||||
lAddBlank := .T.
|
||||
end
|
||||
@@ -498,7 +498,7 @@ end
|
||||
IF !lBlankLine
|
||||
oOs2:WriteText( ".br" )
|
||||
ENDIF
|
||||
oOs2:WriteParBold( " Platforms" )
|
||||
oOs2:WriteParBold( "Platforms" )
|
||||
nMode := D_NORMAL
|
||||
lAddBlank := .T.
|
||||
end
|
||||
@@ -507,7 +507,7 @@ end
|
||||
IF !lBlankLine
|
||||
oOs2:WriteText( ".br" )
|
||||
ENDIF
|
||||
oOs2:WriteParBold( " Files" )
|
||||
oOs2:WriteParBold( "Files" )
|
||||
|
||||
nMode := D_NORMAL
|
||||
lAddBlank := .T.
|
||||
@@ -517,7 +517,7 @@ end
|
||||
IF !lBlankLine
|
||||
oOs2:WriteText( ".br" )
|
||||
ENDIF
|
||||
oOs2:WriteParBold( " Function" )
|
||||
oOs2:WriteParBold( "Function" )
|
||||
|
||||
nMode := D_NORMAL
|
||||
lAddBlank := .T.
|
||||
@@ -766,11 +766,12 @@ FUNCTION Formatos2Buff( cBuffer, cStyle, ongi )
|
||||
cReturn := '<par>' + creturn + ' </par>'
|
||||
|
||||
ELSEIF cStyle == 'Syntax'
|
||||
cReturn := '<par> ' + cReturn + ' </par>'
|
||||
cReturn := '<par>' + Alltrim(cReturn) + '</par>'
|
||||
|
||||
ELSEIF cStyle == 'Arguments'
|
||||
nPos := 0
|
||||
? 'Estou em formatos2buff'
|
||||
? AT( "<par>", cReturn )
|
||||
|
||||
|
||||
IF AT( "<par>", cReturn ) > 0
|
||||
cReturn := STRTRAN( cReturn, "<par>", "" )
|
||||
cReturn := STRTRAN( cReturn, "</par>", "" )
|
||||
@@ -1033,7 +1034,7 @@ FUNCTION Procos2Desc( cBuffer, oOs2, cStyle )
|
||||
|
||||
DEFAULT cStyle TO "Default"
|
||||
lendfixed := .F.
|
||||
IF AT( '<par>', cBuffer ) == 0 .AND. !EMPTY( cBuffer ) .AND. cstyle <> "Example"
|
||||
IF AT( '<par>', cBuffer ) == 0 .AND. !EMPTY( cBuffer ) .AND. cstyle <> "Example"
|
||||
cBuffer := '<par>' + cBuffer
|
||||
ENDIF
|
||||
IF EMPTY( cBuffer )
|
||||
@@ -1043,10 +1044,10 @@ FUNCTION Procos2Desc( cBuffer, oOs2, cStyle )
|
||||
IF cStyle <> "Example" .AND. AT( "<table>", cBuffer ) == 0 .AND. AT( "<fixed>", cBuffer ) = 0
|
||||
IF AT( "<par>", cBuffer ) >= 0 .OR. AT( "</par>", cBuffer ) = 0 .AND. !EMPTY( cbuffer )
|
||||
IF AT( "<par>", cBuffer ) > 0 .AND. AT( "</par>", cBuffer ) > 0
|
||||
? " Estou Aqui"
|
||||
|
||||
IF cStyle == "Arguments"
|
||||
creturn := cBuffer
|
||||
? " Estou Aqui 2"
|
||||
|
||||
cReturn := STRTRAN( cReturn, "<par>", "" )
|
||||
cReturn := STRTRAN( cReturn, "</par>", "" )
|
||||
cReturn := ALLTRIM( cReturn )
|
||||
@@ -1061,9 +1062,9 @@ FUNCTION Procos2Desc( cBuffer, oOs2, cStyle )
|
||||
|
||||
// cBuffer:= strtran(cBuffer,"<par>","<par><b>")
|
||||
IF lArgBold
|
||||
cReturn := '<par><b>' + cOLine + '</b> ' + cReturn + ' </par>'
|
||||
cReturn := '<par><b>' + cOLine + '</b> ' + cReturn + ' </par>'
|
||||
ELSE
|
||||
cReturn := '<par>' + cOLine + ' ' + cReturn + ' </par>'
|
||||
cReturn := '<par>' + cOLine + ' ' + cReturn + ' </par>'
|
||||
ENDIF
|
||||
|
||||
cbuffer := cReturn
|
||||
@@ -1091,6 +1092,7 @@ FUNCTION Procos2Desc( cBuffer, oOs2, cStyle )
|
||||
ENDIF
|
||||
|
||||
IF cStyle == "Description" .OR. cStyle == "Compliance"
|
||||
/*
|
||||
nIdentLevel := 5
|
||||
nPos := 0
|
||||
|
||||
@@ -1124,61 +1126,76 @@ FUNCTION Procos2Desc( cBuffer, oOs2, cStyle )
|
||||
ENDIF
|
||||
|
||||
IF !EMPTY( cLine )
|
||||
if AT("<b>",cLine)>0 .or. AT("</b>",cLine)>0
|
||||
cLine := STRTRAN( cLine, '<b>', '' )
|
||||
cLine := STRTRAN( cLine, '</b>', '' )
|
||||
oOs2:WriteParBold(cLine,.f.)
|
||||
Else
|
||||
IF LEFT(CLINE,LEN(SPACE(nidentLevel ))) ==SPACE(nidentLevel )
|
||||
oos2:WriteText( cLine )
|
||||
Else
|
||||
oos2:WriteText(SPACE(nidentLevel )+ cLine )
|
||||
endif
|
||||
Endif
|
||||
if AT("<b>",cLine)>0 .or. AT("</b>",cLine)>0
|
||||
cLine := STRTRAN( cLine, '<b>', '' )
|
||||
cLine := STRTRAN( cLine, '</b>', '' )
|
||||
oOs2:WriteParBold(cLine,.f.)
|
||||
Else
|
||||
oos2:WriteText(SPACE(nidentLevel )+ cLine )
|
||||
Endif
|
||||
oOs2:WriteTExt(".br")
|
||||
ENDIF
|
||||
curPos += nPos
|
||||
ENDDO
|
||||
|
||||
*/
|
||||
nIdentLevel := 6
|
||||
nPos := 0
|
||||
/* IF AT( '</par>', cBuffer ) > 0
|
||||
cBuffer := STRTRAN( cBuffer, "</par>", "" )
|
||||
ENDIF*/
|
||||
IF !EMPTY( cBuffer )
|
||||
// cBuffer:=SUBSTR(cBuffer,2)
|
||||
/* cBuffer := STRTRAN( cBuffer, "<", "<" )
|
||||
cBuffer := STRTRAN( cBuffer, ">", ">" )
|
||||
*/
|
||||
cBuffeR := ALLTRIM( cBuffer )
|
||||
oos2:WritePar2( cBuffer,":p." )
|
||||
ENDIF
|
||||
|
||||
ELSEIF cStyle == "Arguments"
|
||||
cBuffer := STRTRAN( cBuffer, ':', "&colon." )
|
||||
/* cBuffer := STRTRAN( cBuffer, ':', "&colon." )
|
||||
cBuffer := STRTRAN( cBuffer, '<b>', 'hp2.' )
|
||||
cBuffer := STRTRAN( cBuffer, '</b>', 'ehp2.' )
|
||||
IF AT( '</par>', cBuffer ) > 0
|
||||
cBuffer := STRTRAN( cBuffer, "</par>", "" )
|
||||
ENDIF
|
||||
|
||||
cBuffer := STRTRAN( cBuffer, "<", "<." )
|
||||
cBuffer := STRTRAN( cBuffer, ">", ">." )
|
||||
|
||||
IF !EMPTY( cBuffer )
|
||||
cBuffer := SUBSTR( cBuffer, 2 )
|
||||
cBuffer := STRTRAN( cBuffer, 'hp2.', ':hp2.' )
|
||||
cBuffer := STRTRAN( cBuffer, 'ehp2.', ':ehp2.' )
|
||||
|
||||
oos2:writetext(cbuffer+CRLF+'.br')
|
||||
|
||||
/*a oOs2:writeText( cBuffer+CRLF+".br") */
|
||||
oOs2:writeText( cBuffer+CRLF+".br")
|
||||
ENDIF
|
||||
*/
|
||||
IF !EMPTY( cBuffer )
|
||||
// cBuffer:=SUBSTR(cBuffer,2)
|
||||
cBuffeR := ALLTRIM( cBuffer )
|
||||
oos2:WritePar2( cBuffer,":p." )
|
||||
ENDIF
|
||||
|
||||
|
||||
ELSEIF cStyle == "Syntax"
|
||||
IF AT( '</par>', cBuffer ) > 0
|
||||
/* IF AT( '</par>', cBuffer ) > 0
|
||||
cBuffer := STRTRAN( cBuffer, "</par>", "" )
|
||||
ENDIF
|
||||
ENDIF*/
|
||||
IF !EMPTY( cBuffer )
|
||||
cBuffer := SUBSTR( cBuffer, 2 )
|
||||
/* cBuffer := SUBSTR( cBuffer, 2 )
|
||||
oOs2:WriteParBold( cBuffer,.f.)
|
||||
oOs2:writeText('.br')
|
||||
oOs2:writeText('.br')
|
||||
oOs2:writeText('.br')*/
|
||||
// ? cBuffer
|
||||
cBuffer:=Alltrim(cBuffer)
|
||||
oos2:WritePar2( cBuffer,":p.","Syntax" )
|
||||
ENDIF
|
||||
ELSEIF cStyle == "Default"
|
||||
IF AT( '</par>', cBuffer ) > 0
|
||||
/* IF AT( '</par>', cBuffer ) > 0
|
||||
cBuffer := STRTRAN( cBuffer, "</par>", "" )
|
||||
ENDIF
|
||||
ENDIF*/
|
||||
IF !EMPTY( cBuffer )
|
||||
cBuffer := SUBSTR( cBuffer, 2 )
|
||||
oOs2:WritePar( cBuffer )
|
||||
cBuffer := alltrim( cBuffer )
|
||||
oOs2:WritePar2( cBuffer ,":p.")
|
||||
ENDIF
|
||||
|
||||
ENDIF
|
||||
|
||||
@@ -357,7 +357,7 @@ FUNCTION ProcessRtf()
|
||||
ELSEIF lMethod
|
||||
oRtf:WriteJumpTitle( LEFT( cFilename, AT( '.', cFilename ) - 1 ) + cFuncName, "Method " + cFuncName )
|
||||
ELSE
|
||||
oRtf:WriteTitle( PAD( cFuncName, 40 ), cFuncName, cOneLine )
|
||||
oRtf:WriteTitle( cFuncName, cFuncName, cOneLine )
|
||||
// oRtf:WriteParBold( cOneLine )
|
||||
// oRtf:WriteParBox( cBar )
|
||||
ENDIF
|
||||
|
||||
@@ -455,14 +455,14 @@ FUNCTION MAIN( cFlags, cLinkName, cAtFile )
|
||||
aadd(aMetaContents,{'Keywords',"Harbour project, Clipper, xBase, database, Free Software, GNU, compiler, cross platform, 32-bit, FiveWin,"+cItem})
|
||||
ohtm:=THTML():new('htm\hb'+strtran(citem," ","")+'.htm',aMetaContents)
|
||||
ohtm:WriteText('<h2>'+adocinfo[1,1]+'</h2><br>')
|
||||
ohtm:WriteText("<pre><ul>")
|
||||
ohtm:WriteText("<table>")
|
||||
|
||||
for ppp:=1 to len(adocinfo)
|
||||
|
||||
if citem ==adocinfo[ppp,1]
|
||||
oHtm:Writelink(adocinfo[ppp,4],pad(adocinfo[ppp,2],21)+adocinfo[ppp,3])
|
||||
if citem ==adocinfo[ppp,1]
|
||||
oHtm:WritelinkTable(adocinfo[ppp,4],adocinfo[ppp,2],adocinfo[ppp,3])
|
||||
else
|
||||
ohtm:WriteText("</ul></pre>")
|
||||
ohtm:WriteText("</table>")
|
||||
ohtm:close()
|
||||
citem:=adocinfo[ppp,1]
|
||||
aMetaContents:={}
|
||||
@@ -473,14 +473,15 @@ FUNCTION MAIN( cFlags, cLinkName, cAtFile )
|
||||
|
||||
// oHtm:WriteMetaTag('Keywords',"Harbour project, Clipper, xBase, database, Free Software, GNU, compiler, cross platform, 32-bit, FiveWin,"+cItem)
|
||||
ohtm:WriteText('<h2>'+adocinfo[ppp,1]+'</h2><br>')
|
||||
ohtm:WriteText("<pre><ul>")
|
||||
oHtm:Writelink(adocinfo[ppp,4],pad(adocinfo[ppp,2],21)+adocinfo[ppp,3])
|
||||
ohtm:WriteText("<table>")
|
||||
oHtm:WritelinkTable(adocinfo[ppp,4],adocinfo[ppp,2],adocinfo[ppp,3])
|
||||
endif
|
||||
next
|
||||
if ppp>len(adocinfo)
|
||||
exit
|
||||
endif
|
||||
enddo
|
||||
ohtm:WriteText("</table>")
|
||||
ohtm:close()
|
||||
aMetaContents:={}
|
||||
AADD(aMetaContents,{"GENERATOR","HBDOC Harbour document Extractor"})
|
||||
@@ -528,6 +529,7 @@ FUNCTION MAIN( cFlags, cLinkName, cAtFile )
|
||||
FWRITE( nHpj, '[OPTIONS]' + CRLF )
|
||||
FWRITE( nHpj, 'Compatibility=1.1 or later'+CRLF)
|
||||
FWRITE( nHpj, 'Auto Index=Yes'+CRLF)
|
||||
FWRITE( nHpj,'Full-text search=Yes'+CRLF)
|
||||
FWRITE( nHpj, 'Language=0x416 Português (brasileiro)' + CRLF )
|
||||
FWRITE( nHpj, 'Contents file=.\'+ lower(substr(cLinkName,1,AT(".",cLinkName)-1)) +".hhc"+ CRLF )
|
||||
FWRITE( nHpj, 'Compiled file=.\'+ lower(substr(cLinkName,1,AT(".",cLinkName)-1)) +".chm"+ CRLF )
|
||||
@@ -549,6 +551,7 @@ FUNCTION MAIN( cFlags, cLinkName, cAtFile )
|
||||
ohtm:=THTML():NewContent('chm\'+lower(substr(cLinkName,1,AT(".",cLinkName)-1)) +".hhc")
|
||||
ohtm:WriteText('<!--Sitemap 1.0-->')
|
||||
ohtm:Addobject("text/site properties")
|
||||
oHtm:AddParam("FrameName","Ajuda")
|
||||
ohtm:EndObject()
|
||||
ohtm:WriteText("<ul>")
|
||||
oHtm:ListItem()
|
||||
@@ -568,6 +571,7 @@ FUNCTION MAIN( cFlags, cLinkName, cAtFile )
|
||||
oHtm:AddParam("Local","license.htm")
|
||||
oHtm:EndObject()
|
||||
OHTM:WriteChmLink('license.htm',"Harbour License")
|
||||
if Alltrim(cLinkName)=='harbour.lnk'
|
||||
oHtm:ListItem()
|
||||
oHtm:AddObject("text/sitemap")
|
||||
oHtm:AddParam("Name","GNU License")
|
||||
@@ -586,7 +590,13 @@ FUNCTION MAIN( cFlags, cLinkName, cAtFile )
|
||||
oHtm:AddParam("Local","harbourextensions.htm")
|
||||
oHtm:EndObject()
|
||||
OHTM:WriteChmLink('harbourextensions.htm',"Harbour Extensions")
|
||||
endif
|
||||
oHtm:WriteText( "</UL>" )
|
||||
ohtm:ListItem()
|
||||
oHtm:AddObject("text/sitemap")
|
||||
ohtm:addParam("Name","Harbour Functions by Categorie")
|
||||
oHtm:Endobject()
|
||||
|
||||
asort(adocinfo,,,{|x,y| x[1]+x[2]<y[1]+y[2]})
|
||||
do while .t.
|
||||
citem:=adocinfo[1,1]
|
||||
|
||||
@@ -54,6 +54,7 @@ CLASS THTML
|
||||
METHOD WritePar( cPar )
|
||||
METHOD WriteParBold( cPar )
|
||||
METHOD WriteLink( cLink ,cName)
|
||||
METHOD WriteLinkTable( cLink ,cName)
|
||||
METHOD WriteChmLink( cLink ,cName)
|
||||
METHOD WriteText( cText )
|
||||
METHOD WriteMetaTag(cTag,cDescription)
|
||||
@@ -80,19 +81,20 @@ METHOD New( cFile,aMetaContents ) CLASS THTML
|
||||
ENDIF
|
||||
nX := Self:nHandle
|
||||
FWRITE( Self:nHandle, "<HTML>" + CRLF )
|
||||
FWRITE( Self:nHandle, "<HEAD>" + CRLF )
|
||||
if Valtype(aMetaContents) <> NIL .and. Valtype(aMetaContents)=="A"
|
||||
For nCount:=1 to len(aMetaContents)
|
||||
Self:WriteMetaTag(aMetaContents[nCount,1],aMetaContents[nCount,2])
|
||||
NEXT
|
||||
Endif
|
||||
FWRITE( Self:nHandle, "<BODY>" + CRLF )
|
||||
|
||||
|
||||
RETURN Self
|
||||
|
||||
METHOD WriteTitle( cTitle ) CLASS THTML
|
||||
|
||||
FWRITE( Self:nHandle, "<TITLE>" + CRLF + cTitle + CRLF + "</Title>" + CRLF + '</HEAD>' + CRLF )
|
||||
|
||||
FWRITE( Self:nHandle, "<BODY>" + CRLF )
|
||||
RETURN Self
|
||||
|
||||
METHOD WritePar( cPar ) CLASS THTML
|
||||
@@ -137,6 +139,34 @@ METHOD WriteLink( cLink, cName ) CLASS THTML
|
||||
LOCAL nPos
|
||||
LOCAL cTemp := ''
|
||||
|
||||
nPos := AT( "()", cLink )
|
||||
IF nPos > 0
|
||||
if AT(".htm",cLink)=0
|
||||
cTemp := SUBSTR( cLink, 1, nPos - 1 ) + '.htm'
|
||||
else
|
||||
cTemp := SUBSTR( cLink, 1, nPos - 1 )
|
||||
endif
|
||||
ELSE
|
||||
if AT(".htm",cLink)=0
|
||||
cTemp := ALLTRIM( cLink ) + '.htm'
|
||||
else
|
||||
cTemp := ALLTRIM( cLink )
|
||||
endif
|
||||
ENDIF
|
||||
IF cName != Nil
|
||||
cLink := cName
|
||||
ENDIF
|
||||
cTemp := STRTRAN( cTemp, " ", "" )
|
||||
|
||||
FWRITE( Self:nHandle, "<LI><a href=" + LOWER( cTemp ) + ">" + cLink + "</a></LI>" + CRLF )
|
||||
|
||||
RETURN Self
|
||||
|
||||
METHOD WriteLinkTable( cLink, cName,cInfo ) CLASS THTML
|
||||
|
||||
LOCAL nPos
|
||||
LOCAL cTemp := ''
|
||||
|
||||
nPos := AT( "()", cLink )
|
||||
IF nPos > 0
|
||||
if AT(".htm",cLink)=0
|
||||
@@ -155,7 +185,7 @@ METHOD WriteLink( cLink, cName ) CLASS THTML
|
||||
cLink := cName
|
||||
ENDIF
|
||||
cTemp := STRTRAN( cTemp, " ", "" )
|
||||
FWRITE( Self:nHandle, "<LI><a href=" + LOWER( cTemp ) + ">" + cLink + "</a></LI>" + CRLF )
|
||||
FWRITE( Self:nHandle, "<tr><td><a href=" + LOWER( cTemp ) + ">" + cLink + "</a></td><td>" +cinfo +'</td></tr>'+ CRLF )
|
||||
|
||||
RETURN Self
|
||||
|
||||
|
||||
@@ -88,12 +88,15 @@ CLASS TOs2
|
||||
DATA nHandle
|
||||
DATA aLinkRef
|
||||
DATA nRef
|
||||
DATA aHeadRef
|
||||
DATA aHeadRef
|
||||
DATA aIndRef
|
||||
METHOD New( cFile )
|
||||
METHOD WritePar( cPar )
|
||||
METHOD WritePar2( cPar,ctag )
|
||||
METHOD WriteLink( cLink )
|
||||
METHOD ScanLink( cLink )
|
||||
METHOD ScanRef( cRef )
|
||||
METHOD ScanRef( cRef )
|
||||
METHOD ScanInd( cRef )
|
||||
METHOD WriteJumpLink( cLink, cName, cText )
|
||||
METHOD CLOSE()
|
||||
METHOD WriteText( cPar )
|
||||
@@ -108,6 +111,7 @@ METHOD New( cFile ) CLASS TOs2
|
||||
IF Self:aLinkRef == NIL
|
||||
Self:aLinkRef := {}
|
||||
Self:aHeadRef := {}
|
||||
Self:aIndRef := {}
|
||||
Self:nRef := 1
|
||||
ENDIF
|
||||
|
||||
@@ -133,12 +137,103 @@ METHOD WritePar( cPar ) CLASS TOs2
|
||||
|
||||
RETURN Self
|
||||
|
||||
METHOD WriteText( cPar ) CLASS TOs2
|
||||
METHOD WritePar2( cBuffer,cTag,cStyle ) CLASS TOs2
|
||||
Local aLines:={}
|
||||
LOCAL nPos,cLine:=''
|
||||
Default cStyle to "Default"
|
||||
if at("-",cBuffer)>0
|
||||
?cBuffer
|
||||
Endif
|
||||
cBuffer := STRTRAN( cBuffer, '<b>', ':hp2.' )
|
||||
cBuffer := STRTRAN( cBuffer, '</b>', ':ehp2.' )
|
||||
cBuffer := STRTRAN( cBuffer, '<par>', '' )
|
||||
cBuffer := STRTRAN( cBuffer, '</par>', '' )
|
||||
cBuffer := self:DostoOs2Text(cBuffer)
|
||||
if at("&minus.",cBuffer)>0
|
||||
?cBuffer
|
||||
Endif
|
||||
|
||||
aLines:=FormatStringBuffer(cBuffer)
|
||||
if at("&minus.",cBuffer)>0
|
||||
?cBuffer
|
||||
Endif
|
||||
|
||||
For nPos:=1 to LEN(aLines)
|
||||
cLine:=aLines[nPos]
|
||||
If nPos==1
|
||||
If !empty(cLine) .and. cStyle <>"Syntax"
|
||||
FWRITE( Self:nHandle,cTag+ cLine + CRLF)
|
||||
elseIf !empty(cLine) .and. cStyle =="Syntax"
|
||||
FWRITE( Self:nHandle,cTag+ ":hp2."+ cLine +":ehp2." +CRLF)
|
||||
Endif
|
||||
Else
|
||||
|
||||
If !empty(cLine) .and. cStyle <>"Syntax"
|
||||
FWRITE( Self:nHandle, cLine + CRLF)
|
||||
elseIf !empty(cLine) .and. cStyle =="Syntax"
|
||||
FWRITE( Self:nHandle, ":hp2."+ cLine +":ehp2." +CRLF)
|
||||
Endif
|
||||
Endif
|
||||
NEXT
|
||||
/*
|
||||
if cStyle=="Syntax"
|
||||
? cBuffer
|
||||
endif
|
||||
DO WHILE !lendPar
|
||||
IF nPos == 0
|
||||
cLine := SUBSTR( cBuffer, 1, 231 )
|
||||
nPos := RAT( " ", cLine )
|
||||
IF nPos > 0
|
||||
cLine := SUBSTR( cBuffer, 1, nPos )
|
||||
ENDIF
|
||||
If !empty(cLine) .and. cStyle <>"Syntax"
|
||||
FWRITE( Self:nHandle,cTag+ cLine + CRLF)
|
||||
elseIf !empty(cLine) .and. cStyle =="Syntax"
|
||||
FWRITE( Self:nHandle,cTag+ ":hp2."+ cLine +":ehp2." +CRLF)
|
||||
Endif
|
||||
if nLen<255
|
||||
lEndpar:=.T.
|
||||
exit
|
||||
endif
|
||||
ELSE
|
||||
cLine := SUBSTR( cBuffer, curPos, 231 )
|
||||
|
||||
IF AT( '</par>', cLine ) > 0
|
||||
lEndPar := .T.
|
||||
cLine := STRTRAN( cLine, " </par>", "" )
|
||||
ENDIF
|
||||
nPos := RAT( " ", cLine )
|
||||
IF nPos > 0
|
||||
cLine := SUBSTR( cBuffer, curpos, nPos )
|
||||
nPos -= 1
|
||||
ELSE
|
||||
IF cLine == "</par>"
|
||||
cLine := ''
|
||||
ENDIF
|
||||
|
||||
ENDIF
|
||||
If !empty(cLine) .and. cStyle <>"Syntax"
|
||||
FWRITE( Self:nHandle,cTag+ cLine + CRLF)
|
||||
elseIf !empty(cLine) .and. cStyle =="Syntax"
|
||||
FWRITE( Self:nHandle,cTag+ ":hp2."+ cLine +":ehp2." +CRLF)
|
||||
Endif
|
||||
|
||||
ENDIF
|
||||
|
||||
curPos += nPos
|
||||
? Curpos
|
||||
ENDDO
|
||||
*/
|
||||
|
||||
|
||||
FWRITE( Self:nHandle, cPar + CRLF )
|
||||
|
||||
RETURN Self
|
||||
|
||||
METHOD WriteText( cPar ) CLASS TOs2
|
||||
FWRITE( Self:nHandle, cPar + CRLF )
|
||||
RETURN Self
|
||||
|
||||
|
||||
METHOD WriteParBold( cPar ,lMarg) CLASS TOs2
|
||||
DEFAULT lMarg to .t.
|
||||
IF lMarg
|
||||
@@ -155,25 +250,38 @@ METHOD WriteTitle( cTopic, cTitle ,cCategory) CLASS TOs2
|
||||
LOCAL nPos
|
||||
LOCAL cWrite
|
||||
LOCAL nItem
|
||||
LOCAL nrItem
|
||||
LOCAL nrItem,nIItem
|
||||
LOCAL cRefCateg
|
||||
|
||||
LOCAL cIndCateg
|
||||
cTopic := ALLTRIM( cTopic )
|
||||
cRefCateg:=ALLTRIM(left(cCategory,5 ))
|
||||
cRefCateg:=SetCateg(cCategory )
|
||||
cIndCateg:=SetInd(cCategory)
|
||||
|
||||
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, ':h1 res=' + ALLTRIM( STR( nItem ) ) + '.' + cTopic + CRLF )
|
||||
If Self:ScanInd(cIndCateg)==0
|
||||
niItem := ASCAN( Self:aIndRef, { | a | upper(a) == upper(cIndCateg )} )
|
||||
FWRITE( Self:nHandle, ':h1 ' + ::aIndRef[niItem] + "."+ UPPER( cCategory ) + CRLF)
|
||||
ELSE // Just in case that nItem>0 so the Link is already referenced
|
||||
niItem := ASCAN( Self:aIndRef, { | a | upper(a) == upper(cIndCateg) } )
|
||||
ENDIF
|
||||
IF niItem>0
|
||||
FWRITE( Self:nHandle, ':h2 '+ 'id=' + ::aIndRef[niItem] +' res=' + ALLTRIM( STR( nItem ) ) + '.' + cTopic + CRLF )
|
||||
Endif
|
||||
If Self:ScanRef(cRefCateg)==0
|
||||
nrItem := ASCAN( Self:aHeadRef, { | a | upper(a) == upper(cRefCateg )} )
|
||||
FWRITE( Self:nHandle, ':i1 id=' + ::aHeadRef[nrItem] + " global." + UPPER( cCategory ) + CRLF )
|
||||
FWRITE( Self:nHandle, ':i1 id=' + ::aHeadRef[nrItem] + "."+ 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 )
|
||||
|
||||
FWRITE( Self:nHandle, ':i2 refid=' + ::aHeadRef[nrItem] + "." + UPPER( cTopic ) + CRLF )
|
||||
Endif
|
||||
cTopic := ::DosToOs2Text(cTopic)
|
||||
cTitle := ::DosToOs2Text(cTitle)
|
||||
@@ -237,18 +345,37 @@ METHOD ScanRef( cLink ) CLASS TOs2
|
||||
|
||||
RETURN nItem
|
||||
|
||||
METHOD ScanInd( cLink ) CLASS TOs2
|
||||
|
||||
LOCAL nItem
|
||||
LOCAL nReturn
|
||||
|
||||
nItem := ASCAN( Self:aIndRef, { | a | Upper(a)== upper(cLink) } )
|
||||
|
||||
IF nItem == 0
|
||||
AADD( Self:aIndRef, upper(cLink))
|
||||
ENDIF
|
||||
|
||||
RETURN nItem
|
||||
|
||||
METHOD DosToOs2Text( cText ) CLASS TOs2
|
||||
|
||||
LOCAL cReturn
|
||||
|
||||
cReturn := STRTRAN( cText, '&', "&." )
|
||||
|
||||
cReturn := STRTRAN( cReturn, '"', "&cdq." )
|
||||
cReturn := STRTRAN( cReturn, ':', "&colon." )
|
||||
if at(":hp2.",cReturn)==0 .or. at(":ehp2.",cReturn)==0
|
||||
cReturn := STRTRAN( cReturn, ':', "&colon." )
|
||||
endif
|
||||
cReturn := STRTRAN( cReturn, ',', "&comma." )
|
||||
|
||||
cReturn := STRTRAN( cReturn, '_', "&us." )
|
||||
cReturn := STRTRAN( cReturn, '~', "&tilde." )
|
||||
cReturn := STRTRAN( cReturn, '|', "&splitvbar." )
|
||||
|
||||
cReturn := STRTRAN( cReturn, '/', "&slash." )
|
||||
cReturn := STRTRAN( cReturn,"<&slash.par>","</par>")
|
||||
cReturn := STRTRAN( cReturn, ';', "&semi." )
|
||||
cReturn := STRTRAN( cReturn, ')', "&rpar." )
|
||||
cReturn := STRTRAN( cReturn, ']', "&rbrk.." )
|
||||
@@ -258,8 +385,6 @@ 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
|
||||
|
||||
@@ -286,4 +411,47 @@ METHOD WriteJumpLink( cLink, cText ) CLASS TOs2
|
||||
|
||||
RETURN Self
|
||||
|
||||
Static function SetCateg(cRef)
|
||||
Local cReturn
|
||||
cReturn:=Alltrim(left(cRef,5))
|
||||
cReturn+="X"
|
||||
Return cReturn
|
||||
Static function SetInd(cRef)
|
||||
Local cReturn
|
||||
cReturn:=Alltrim(left(cRef,4))
|
||||
cReturn+="Y"
|
||||
Return cReturn
|
||||
|
||||
Static FUNCTION FormatStringBuffer(cBuffer)
|
||||
Local nLen,nPos,aLine:={}
|
||||
Local cLine:=''
|
||||
nLen:=Len(cBuffer)
|
||||
? nLen
|
||||
WHILE nLen>230
|
||||
If nLen>230
|
||||
cLine:=Substr(cBuffer,1,230)
|
||||
nPos:=RAT(" ",cLine)
|
||||
IF nPos>0
|
||||
cLine:=Substr(cBuffer,1,nPos)
|
||||
cBuffer:=Strtran(cBuffer,cLine,"")
|
||||
AADD(aLine,alltrim(cLine))
|
||||
nLen:=Len(cBuffer)
|
||||
Endif
|
||||
if at('&minus.',cLine)>0
|
||||
nPos:=RAT(".",cLine)
|
||||
IF nPos>0
|
||||
cLine:=Substr(cBuffer,1,nPos)
|
||||
cBuffer:=Strtran(cBuffer,cLine,"")
|
||||
AADD(aLine,alltrim(cLine))
|
||||
nLen:=Len(cBuffer)
|
||||
Endif
|
||||
Endif
|
||||
Endif
|
||||
ENDDO
|
||||
IF nLen<=230
|
||||
aadd(aLine,ALLTRIM(cBuffer))
|
||||
ENDIF
|
||||
RETURN aLine
|
||||
*+ EOF: OS2.PRG
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user