See Changelog 2000-01-18 22:30

This commit is contained in:
Luiz Rafael Culik
2000-01-19 00:34:53 +00:00
parent 32707d942b
commit 073a617a37
6 changed files with 3978 additions and 2414 deletions

View File

@@ -1,3 +1,22 @@
2000-01-18 22:20 GMT+3 Luiz Rafael Culik <culik@sl.conex.net>
*ngdoc/ft_helpc.prg
Enhaced. Now Generate Norton Guide Source Code and TROFF Files
*source/tools/rtf.prg
Document the Files and Source code Formated
*source/tools/html.prg
Document the Files and Source code Formated
+ngdoc/harbour.lnk
Link file for Norton Guide. ha.lnk is needed for the other output files
+ngdoc/harbour.rsp
List of files to FT_helpc need to process
+ft_helpc.b32
Make file for FT_HELPC for Borland
+source/tools/ng.prg
Support class for FT_HELPC generate Norton Guide Source code
+source/tools/troff.prg
Support class for FT_HELPC generate TROFF files
2000-01-17 18:55 GMT-5 David G. Holm <dholm@ sd-llc.com>
* source/environ.c

View File

@@ -3,6 +3,6 @@ rem
rem $Id$
rem
..\bin\harbour %1 %2 /n /iinclude /DNANFOR
bcc32 -e..\bin\%1.exe -O2 -M -I..\include -L..\lib\b32 -v harbour.lib terminal.lib hbpp.lib hbgt.lib common.lib rdd.lib %1.c
..\bin\harbour %1 %2 /n /iinclude /DNANFOR /p
bcc32 -e%1.exe -O2 -M -v -I..\include -L..\lib\b32 harbour.lib terminal.lib hbpp.lib hbgt.lib common.lib ..\lib\b32\rdd.lib %1.c
rem del %1.c

File diff suppressed because it is too large Load Diff

View File

@@ -29,6 +29,7 @@ Object Manipulation obj.ngo
Operating System Specific opersyst.ngo
Parameter Checks Parame.ngo
Run-Time Library, Strings runtime.ngo
String String.ngo
Strings Strings.ngo
Tbrowse Class tbrow.ngo
Terminal Terminal.ngo

View File

@@ -1,3 +1,8 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* HTML Support Code For FT_HELPC
@@ -33,47 +38,129 @@
#define CRLF HB_OSNewLine()
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
*+
*+ Class THTML
*+
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
*+
CLASS THTML
DATA nHandle
DATA cFile
METHOD New(cFile)
METHOD WriteTitle(cTitle)
METHOD WritePar(cPar)
METHOD WriteParBold(cPar)
METHOD WriteLink(cLink)
METHOD Close()
DATA nHandle
DATA cFile
METHOD New( cFile )
METHOD WriteTitle( cTitle )
METHOD WritePar( cPar )
METHOD WriteParBold( cPar )
METHOD WriteLink( cLink )
METHOD CLOSE()
ENDCLASS
Method New(cFile) CLASS THTML
IF VALTYPE(cFile ) <> NIL .and. VALTYPE(cFile )=="C"
Self:cFile:=cFile
Self:nHandle:=FCREATE(Self:cFile)
ENDIF
FWRITE(Self:nHandle,"<HEAD>"+CRLF)
RETURN Self
METHOD WriteTitle(cTitle) CLASS THTML
FWRITE(Self:nHandle,"<TITLE>"+CRLF+cTitle+CRLF+"</Title>"+CRLF+'<body bgcolor="#FFFFFF">'+CRLF)
RETURN Self
METHOD WritePar(cPar) CLASS THTML
FWRITE(Self:nHandle,"<p>"+cPar+'</p>'+CRLF)
METHOD New( cFile ) CLASS THTML
IF VALTYPE( cFile ) <> NIL .AND. VALTYPE( cFile ) == "C"
Self:cFile := LOWER( cFile )
Self:nHandle := FCREATE( Self:cFile )
ENDIF
FWRITE( Self:nHandle, "<HEAD>" + CRLF )
RETURN Self
METHOD WriteParBold(cPar) CLASS THTML
FWRITE(Self:nHandle,"<p><b>"+cPar+'</b></p>'+CRLF)
METHOD WriteTitle( cTitle ) CLASS THTML
FWRITE( Self:nHandle, "<TITLE>" + CRLF + cTitle + CRLF + "</Title>" + CRLF + '<body bgcolor="#FFFFFF">' + CRLF )
RETURN Self
METHOD Close() CLASS THTML
FWRITE(Self:nHandle,"</body>"+CRLF)
FCLOSE(Self:nHandle)
METHOD WritePar( cPar ) CLASS THTML
FWRITE( Self:nHandle, "<p>" + cPar + '</p>' + CRLF )
RETURN Self
METHOD WriteLink(cLink) CLASS THTML
LOCAL nPos,cTemp:=''
nPos:=AT("()",cLink)
IF nPos>0
cTemp:=SubStr(cLink,1,nPos-1)+'.html'
FWrite(Self:nHandle,"<p><a href="+cTemp+">"+cLink+"</a></p>"+CRLF)
ELSE
cTemp:=Alltrim(cLink)+'.html'
FWrite(Self:nHandle,"<p><a href="+cTemp+">"+cLink+"</a></p>"+CRLF)
ENDIF
METHOD WriteParBold( cPar ) CLASS THTML
FWRITE( Self:nHandle, "<p><b>" + cPar + '</b></p>' + CRLF )
RETURN Self
METHOD CLOSE() CLASS THTML
FWRITE( Self:nHandle, "</body>" + CRLF )
FCLOSE( Self:nHandle )
RETURN Self
METHOD WriteLink( cLink ) CLASS THTML
LOCAL nPos
LOCAL cTemp := ''
nPos := AT( "()", cLink )
IF nPos > 0
cTemp := SUBSTR( cLink, 1, nPos - 1 ) + '.html'
FWRITE( Self:nHandle, "<p><a href=" + cTemp + ">" + cLink + "</a></p>" + CRLF )
ELSE
cTemp := ALLTRIM( cLink ) + '.html'
FWRITE( Self:nHandle, "<p><a href=" + cTemp + ">" + cLink + "</a></p>" + CRLF )
ENDIF
RETURN Self
*+ EOF: HTML.PRG
/* $DOC$
* $FUNCNAME$
* THtml()
* $CATEGORY$
* Harbour Tools
* $ONELINER$
* Html Class
* $SYNTAX$
* oHtml:=THtml():New(<cFile>)
* $ARGUMENTS$
* <cFile> Name of the Html file to create
* $RETURNS$
* An instance of the THtml Class
* $DESCRIPTION$
* THtml() is a class that create an .html file output of the same
* name you pass to the constructor.
* The class methods are as follows:
* New(<cFile>) Create a new instance of the THtml class.
* Close() Close the create file
* WriteTitle(<cTitle>) Write the file title
* WritePar(<cPar>) Writes a paragrafer
* WriteParBold(<cPar>) Same as WritePar(), but the text is bold style.
* WriteLink(<cLink>) Write a link to another topic
* $EXAMPLES$
* FUNCTION MAIN()
*
* LOCAL oHtm
*
* oHtm := THTML():New( "www\harbour.html" )
* oHtm:WriteTitle( "Harbour Reference Guide" )
* oHtm:WritePar( "HARBOUR" )
* oHtm:WriteLink( "OverView" )
* oHtm:WriteLink( "License" )
* oHtm:WriteLink( "http://www.gnu.org/copyleft/gpl" )
* oHtm:WritePar( "See the Links Above" )
* oHtm:Close()
* RETURN Nil
*
* $TESTS$
*
* $STATUS$
* R
* $COMPLIANCE$
* This is a new Harbour Tools class
* $PLATFORMS$
* ALL
* $FILES$
*
* $SEEALSO$
* TCLASS()
* $END$
*/

View File

@@ -1,3 +1,8 @@
/*
* $Id$
*/
/*
* Harbour Project source code:
* RTF Support Code For FT_HELPC
@@ -32,108 +37,193 @@
#define CRLF HB_OSNewLine()
#include 'hbclass.ch'
Class TRTF
DATA cFile
DATA nHandle
METHOD WriteHeader()
METHOD New(cFile)
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
*+
*+ Class TRTF
*+
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
*+
CLASS TRTF
METHOD WritePar(cPar)
METHOD WriteLink(clink)
METHOD Close()
METHOD WriteParBold(cPar)
METHOD WriteTitle(cTitle,cTopic)
METHOD EndPar()
DATA cFile
DATA nHandle
METHOD WriteHeader()
METHOD New( cFile )
METHOD WritePar( cPar )
METHOD WriteLink( clink )
METHOD CLOSE()
METHOD WriteParBold( cPar )
METHOD WriteTitle( cTitle, cTopic )
METHOD EndPar()
ENDCLASS
METHOD NEW(cFile) Class TRTF
METHOD NEW( cFile ) CLASS TRTF
IF VALTYPE(cFile ) <> NIL .and. VALTYPE(cFile )=="C"
Self:cFile:=cFile
Self:nHandle:=FCREATE(Self:cFile)
ENDIF
IF VALTYPE( cFile ) <> NIL .AND. VALTYPE( cFile ) == "C"
Self:cFile := LOWER( cFile )
Self:nHandle := FCREATE( Self:cFile )
ENDIF
RETURN Self
METHOD WriteHeader() CLASS TRTF
LOCAL cHeader:='{\rtf1\ansi\pard\plain\fs20'+CRLF+;
'\deff5{\fonttbl'+CRLF+;
'{\f0\froman Tms Rmn;}'+CRLF+;
'{\f1\fdecor Symbol;}'+CRLF+;
'{\f2\fswiss Helv;}'+CRLF+;
'{\f3\fmodern LinePrinter;}'+CRLF+;
'{\f4\froman Terminal;}'+CRLF+;
'{\f5\froman Times New Roman;}'+CRLF+;
'{\f6\fswiss Arial;}'+CRLF+;
'{\f7\froman CG Times (WN);}'+CRLF+;
'{\f8\fmodern Courier;}'+CRLF+;
'{\f9\fmodern Modern;}'+CRLF+;
'{\f10\fscript Script;}'+CRLF+;
'{\f11\fswiss Univers (WN);}'+CRLF+;
'{\f12\fnil Wingdings;}'+CRLF+;
'{\f13\fswiss MS Sans Serif;}'+CRLF+;
'}'+CRLF
METHOD WriteHeader() CLASS TRTF
LOCAL cColortable:='{\colortbl;'+CRLF+;
'\red0\green0\blue0;'+CRLF+;
'\red0\green0\blue128;'+CRLF+;
'\red0\green128\blue128;'+CRLF+;
'\red0\green128\blue0;'+CRLF+;
'\red128\green0\blue0;'+CRLF+;
'\red128\green0\blue128;'+CRLF+;
'\red128\green128\blue0;'+CRLF+;
'\red128\green128\blue128;'+CRLF+;
'\red64\green64\blue64;'+CRLF+;
'\red0\green0\blue255;'+CRLF+;
'\red0\green255\blue255;'+CRLF+;
'\red0\green255\blue0;'+CRLF+;
'\red255\green0\blue0;'+CRLF+;
'\red192\green192\blue192;'+CRLF+;
'\red255\green255\blue0;'+CRLF+;
'\red255\green255\blue255;'+CRLF+;
'}'+CRLF
LOCAL cHeader := '{\rtf1\ansi\pard\plain\fs20' + CRLF + ;
'\deff5{\fonttbl' + CRLF + ;
'{\f0\froman Tms Rmn;}' + CRLF + ;
'{\f1\fdecor Symbol;}' + CRLF + ;
'{\f2\fswiss Helv;}' + CRLF + ;
'{\f3\fmodern LinePrinter;}' + CRLF + ;
'{\f4\froman Terminal;}' + CRLF + ;
'{\f5\froman Times New Roman;}' + CRLF + ;
'{\f6\fswiss Arial;}' + CRLF + ;
'{\f7\froman CG Times (WN);}' + CRLF + ;
'{\f8\fmodern Courier;}' + CRLF + ;
'{\f9\fmodern Modern;}' + CRLF + ;
'{\f10\fscript Script;}' + CRLF + ;
'{\f11\fswiss Univers (WN);}' + CRLF + ;
'{\f12\fnil Wingdings;}' + CRLF + ;
'{\f13\fswiss MS Sans Serif;}' + CRLF + ;
'}' + CRLF
LOCAL cColortable := '{\colortbl;' + CRLF + ;
'\red0\green0\blue0;' + CRLF + ;
'\red0\green0\blue128;' + CRLF + ;
'\red0\green128\blue128;' + CRLF + ;
'\red0\green128\blue0;' + CRLF + ;
'\red128\green0\blue0;' + CRLF + ;
'\red128\green0\blue128;' + CRLF + ;
'\red128\green128\blue0;' + CRLF + ;
'\red128\green128\blue128;' + CRLF + ;
'\red64\green64\blue64;' + CRLF + ;
'\red0\green0\blue255;' + CRLF + ;
'\red0\green255\blue255;' + CRLF + ;
'\red0\green255\blue0;' + CRLF + ;
'\red255\green0\blue0;' + CRLF + ;
'\red192\green192\blue192;' + CRLF + ;
'\red255\green255\blue0;' + CRLF + ;
'\red255\green255\blue255;' + CRLF + ;
'}' + CRLF
FWRITE( Self:nHandle, cHeader )
FWRITE( Self:nHandle, cColorTable )
FWRITE(Self:nHandle,cHeader)
FWRITE(Self:nHandle,cColorTable)
RETURN Self
METHOD WritePar(cPar) CLASS TRTF
FWRITE(Self:nHandle,'\pard{\cf1\fs20 '+cPar)
METHOD WritePar( cPar ) CLASS TRTF
FWRITE( Self:nHandle, '\pard{\cf1\fs20 ' + ALLTRIM( cPar ) )
RETURN Self
METHOD EndPar() CLASS TRTF
FWRITE(Self:nHandle, ' }\par'+CRLF)
RETURN Self
METHOD WriteParBold(cPar) CLASS TRTF
FWRITE(Self:nHandle,'\pard{\plain\cf1\f2\fs20\i\b\qc '+alltrim(cPar)+' }\par'+CRLF)
RETURN Self
METHOD WriteTitle(cTitle,cTopic) Class TRTF
LOCAL cTemp,nPos
LOCAL cWrite
nPos:=At("()",cTitle)
IF nPos>0
cTemp:=alltrim(STRTRAN(cTitle,"()","xx"))
else
cTemp:=alltrim(cTitle)
endif
cTopic:=Alltrim(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+;
'}'+CRLF
FWRITE(Self:nHandle,cWrite)
Self:WriteParBold(cTopic)
RETURN Self
METHOD CLOSE() CLASS TRTF
FWRITE(Self:nHandle,'\page'+CRLF)
FWRITE(Self:nHandle,'}'+CRLF)
FCLOSE(Self:nHandle)
RETURN Self
METHOD WriteLink(cLink) CLASS TRTF
FWRITE(Self:nHandle,'\pard{\cf1\fs20 {\f2\uldb '+alltrim(cLink)+'}{\v\f2 '+"IDH_"+alltrim(strtran(cLink,"()","xx")) +'} }\par'+CRLF)
FWRITE( Self:nHandle, ' }\par' + CRLF )
RETURN Self
METHOD WriteParBold( cPar ) CLASS TRTF
FWRITE( Self:nHandle, '\pard{\plain\cf1\f2\fs20\i\b\qc ' + ALLTRIM( cPar ) + ' }\par' + CRLF )
RETURN Self
METHOD WriteTitle( cTitle, cTopic ) CLASS TRTF
LOCAL cTemp
LOCAL nPos
LOCAL cWrite
nPos := AT( "()", cTitle )
IF nPos > 0
cTemp := ALLTRIM( STRTRAN( cTitle, "()", "xx" ) )
ELSE
cTemp := ALLTRIM( cTitle )
ENDIF
cTopic := ALLTRIM( 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 + ;
'}' + CRLF
FWRITE( Self:nHandle, cWrite )
Self:WritePar( cTopic ):EndPar()
RETURN Self
METHOD CLOSE() CLASS TRTF
FWRITE( Self:nHandle, '\page' + CRLF )
FWRITE( Self:nHandle, '}' + CRLF )
FCLOSE( Self:nHandle )
RETURN Self
METHOD WriteLink( cLink ) CLASS TRTF
FWRITE( Self:nHandle, '\pard{\cf1\fs20 {\f2\uldb ' + ALLTRIM( cLink ) + '}{\v\f2 ' + "IDH_"+ALLTRIM( STRTRAN( cLink, "()", "xx" ) ) + '} }\par' + CRLF )
RETURN Self
*+ EOF: RTF.PRG
/* $DOC$
* $FUNCNAME$
* TRtf()
* $CATEGORY$
* Harbour Tools
* $ONELINER$
* Rtf Class
* $SYNTAX$
* oNg:=TRtf():New(<cFile>)
* $ARGUMENTS$
* <cFile> Name of the RTF file to create
* $RETURNS$
* An instance of the TRtf Class
* $DESCRIPTION$
* TRtf() is a class that create the Norton Guide Source
* Code of the same name you pass to the constructor.
* The class methods are as follows:
* New(<cFile>) Create a new instance of the THtml class.
* Close() Close the create file
* WriteTitle(<cTopic>,<cTitle>) Write the file title
* WritePar(<cPar>) Writes a paragrafer
* WriteParBold(<cPar>) Same as WritePar(), but the text is bold style.
* WriteLink(<cLink>) Write a link to another topic
* WriteHeader() Writes the RTF header
* EndPar() Write the end paragrafer delimeter
* $EXAMPLES$
* FUNCTION MAIN()
*
* LOCAL oRtf
*
* oRtf := TRtf():New( "rtf\harbour.rtf" )
* oRtf:WriteHeader()
* oRtf:WriteTitle( "Harbour Reference Guide" )
* oRtf:WritePar( "HARBOUR" ):Endpar()
* oRtf:WriteLink( "OverView" )
* oRtf:WriteLink( "License" )
*
* oRtf:WritePar( "See the Links Above" ):EndPar()
* oRtf:Close()
* RETURN Nil
*
* $TESTS$
*
* $STATUS$
* R
* $COMPLIANCE$
* This is a new Harbour Tools class
* $PLATFORMS$
* ALL
* $FILES$
*
* $SEEALSO$
* TCLASS()
* $END$
*/