Files
harbour-core/harbour/tests/testhtml.prg
Viktor Szakats ef5378231b 2012-11-17 18:50 UTC+0100 Viktor Szakats (harbour syenar.net)
+ website/css/shCore.css
  + website/js
  + website/js/shBrushHarbour.js
  + website/js/shCore.js
    + added components for http://alexgorbatchev.com/SyntaxHighlighter/
      a JS based syntax highlighter by Alex Gorbatchev

  + website/css/shThemeDefault.css
    + added Harbour theme (it's based on the php one)

  * website/menu/harbour-menu.js
    ! fixed wrongly displayed bitmaps when used from
      under a subdir.

  * website/samples/array16.prg.html
  * website/samples/arreval.prg.html
  * website/samples/begin.prg.html
  * website/samples/byref.prg.html
  * website/samples/codebl.prg.html
  * website/samples/codebloc.prg.html
  * website/samples/dates3.prg.html
  * website/samples/foreach.prg.html
  * website/samples/function.cfm.html
  * website/samples/hello.prg.html
  * website/samples/initexit.prg.html
  * website/samples/longdev.prg.html
  * website/samples/mousetst.prg.html
  * website/samples/onidle.prg.html
  * website/samples/osshell.prg.html
  * website/samples/parseini.ini.html
  * website/samples/parseini.prg.html
  * website/samples/switch.prg.html
  * website/samples/testbrdb.prg.html
  * website/samples/testbrw.prg.html
  * website/samples/testhtml.prg.html
  * website/samples/testidle.prg.html
  * website/samples/tstmacro.prg.html
    + replaced static syntax highlighting
      with new JS based one. Old system
      used old HTML standard and old unfixed
      copies of tests. See f.e.:
         http://harbour-project.sourceforge.net/samples/testbrw.prg.html
      In new system the code can be copied
      as is from the source to these pages.
      (it'd be even better if a directly link could 
      be used to the source repo on the web)
    + updated all code with fresh copies
      from /tests directory

  * tests/parseini.prg
  * tests/testhtml.prg
    * minor cleanups

  * website/samples/array16.html
  * website/samples/arreval.html
  * website/samples/begin.html
  * website/samples/byref.html
  * website/samples/codebl.html
  * website/samples/codebloc.html
  * website/samples/dates3.html
  * website/samples/foreach.html
  * website/samples/hello.html
  * website/samples/HowToBuildOnLinux.html
  * website/samples/HowToBuildOnWindows.html
  * website/samples/initexit.html
  * website/samples/longdev.html
  * website/samples/mousetst.html
  * website/samples/onidle.html
  * website/samples/osshell.html
  * website/samples/parseini.html
  * website/samples/switch.html
  * website/samples/testbrdb.html
  * website/samples/testbrw.html
  * website/samples/testhtml.html
  * website/samples/testidle.html
  * website/samples/tstmacro.html
    + changed to use absolute paths to refer to
      common page elements
2012-11-17 17:54:21 +00:00

134 lines
3.6 KiB
Plaintext

/*
* $Id$
*/
/**
*
* Harbour Test of a HTML-Generator class.
*
* Tips: - Use ShowResults to make dynamic html (to test dynamic
* results, put the exe file on CGI-BIN dir or equivalent);
* - Use SaveToFile to make static html page
*
*/
#include "hbclass.ch"
PROCEDURE Main()
LOCAL oHTML := THtml():New()
oHTML:SetTitle( "Harbour Power Demonstration" )
oHTML:AddHead( "Harbour" )
oHTML:AddPara( "<b>Harbour</b> is xBase at its best. Have a taste today!", "LEFT" )
oHTML:AddPara( "<b>L i n k s</b>", "CENTER" )
oHTML:AddLink( "http://harbour-project.org", "Meet the Harbour power!" )
oHTML:Generate()
// Uncomment the following if you don't have a Web Server to test
// this sample
// oHTML:SaveToFile( "test.htm" )
// If the above is uncommented, you may comment this line:
oHTML:ShowResult()
RETURN
CREATE CLASS THTML
VAR cTitle // Page Title
VAR cBody // HTML Body Handler
VAR cBGColor // Background Color
VAR cLinkColor // Link Color
VAR cvLinkColor // Visited Link Color
VAR cContent // Page Content Handler
METHOD New() // New Method
METHOD SetTitle( cTitle ) // Set Page Title
METHOD AddLink( cLinkTo, cLinkName ) // Add <H1> Header
METHOD AddHead( cDescr ) // Add Hyperlink
METHOD AddPara( cPara, cAlign ) // Add Paragraph
METHOD Generate() // Generate HTML
METHOD ShowResult() // Saves Content to File
METHOD SaveToFile( cFile ) // Show Result
END CLASS
METHOD New() CLASS THTML
::cTitle := "Untitled"
::cBGColor := "#FFFFFF"
::cLinkColor := "#0000FF"
::cvLinkColor := "#FF0000"
::cContent := ""
::cBody := ""
RETURN Self
METHOD SetTitle( cTitle ) CLASS THTML
::cTitle := cTitle
RETURN Self
METHOD AddLink( cLinkTo, cLinkName ) CLASS THTML
::cBody := ::cBody + ;
"<a href='" + cLinkTo + "'>" + cLinkName + "</a>"
RETURN Self
METHOD AddHead( cDescr ) CLASS THTML
// Why this doesn't work?
// ::cBody += ...
// ???
::cBody := ::cBody + ;
"<h1>" + cDescr + "</h1>"
RETURN NIL
METHOD AddPara( cPara, cAlign ) CLASS THTML
cAlign := iif( cAlign == NIL, "Left", cAlign ) // Added Patrick Mast 2000-06-17
::cBody := ::cBody + ;
"<p align='" + cAlign + "'>" + hb_eol() + ;
cPara + hb_eol() + ;
"</p>"
RETURN Self
METHOD Generate() CLASS THTML
::cContent := ;
"<html><head>" + hb_eol() + ;
"<title>" + ::cTitle + "</title>" + hb_eol() + ;
"<body link='" + ::cLinkColor + "' " + ;
"vlink='" + ::cvLinkColor + "'>" + + hb_eol() + ;
::cBody + hb_eol() + ;
"</body></html>"
RETURN Self
METHOD ShowResult() CLASS THTML
OutStd( ;
;// "HTTP/1.0 200 OK" + hb_eol() + ;
"CONTENT-TYPE: TEXT/HTML" + hb_eol() + hb_eol() + ;
::cContent )
RETURN Self
METHOD SaveToFile( cFile ) CLASS THTML
LOCAL hFile := FCreate( cFile )
FWrite( hFile, ::cContent )
FClose( hFile )
RETURN Self