Files
harbour-core/harbour/contrib/examples/hscript
Viktor Szakats b9c3cbccfc 2008-01-25 21:27 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour-ce-spec
   * harbour-w32-spec
   * bin/bld.bat
   * harbour.spec
   * common.mak
   * source/pp/Makefile
   * source/lang/Makefile
   * source/macro/Makefile
   * source/rtl/Makefile
   * source/vm/mainstd/Makefile
   * source/vm/Makefile
   * source/vm/mainwin/Makefile
   * source/main/Makefile
   * source/debug/Makefile
   * source/codepage/Makefile
   * source/common/Makefile
   * source/rdd/nulsys/Makefile
   * source/rdd/Makefile
   * source/rdd/hsx/Makefile
   * source/rdd/usrrdd/Makefile
   * source/compiler/Makefile
   * contrib/hbct/tests/Makefile
   * contrib/hbodbc/tests/bld_b32.bat
   * contrib/hbole/tests/bld_b32.bat
   * contrib/hbapollo/tests/bld.bat
   * contrib/hbfbird/tests/bld_b32.bat
   * contrib/hbfbird/tests/Makefile
   * contrib/hbpgsql/tests/Makefile
   * contrib/hbfimage/tests/bld_b32.bat
   * contrib/hbgd/tests/bldtest.bat
   * contrib/hbmisc/tests/Makefile
   * contrib/hbgf/tests/bld_b32.bat
   * contrib/hbbtree/tests/Makefile
   * contrib/examples/guestbk/Makefile
   * contrib/examples/pe/Makefile
   * contrib/examples/dbu/Makefile
   * contrib/examples/misc/Makefile
   * contrib/examples/hscript/Makefile
   * utils/hbdoc/Makefile
   * utils/hbextern/Makefile
   * utils/hbdot/Makefile
   * utils/hbmake/Makefile
   * utils/hbmake/hbmutils.prg
   * utils/hbmake/hbmake.prg
   * utils/hbpp/Makefile
   * utils/hbpptest/Makefile
   * utils/hbtest/Makefile
   * utils/hbrun/Makefile
   * tests/Makefile
     * Core libs renamed to be prefixed with hb, while 
       having the first significant 5 chars unique.

       Old name    New name
       --------    --------
       codepage -> hbcpage 
       common   -> hbcommon
       compiler -> hbcplr  
       debug    -> hbdebug 
       hbsix    -> hbsix   
       hsx      -> hbhsx   
       lang     -> hblang  
       macro    -> hbmacro 
       pp       -> hbpp    
       rtl      -> hbrtl   
       vm       -> hbvm    
       rdd      -> hbrdd
       dbfcdx   -> rddcdx
       dbffpt   -> rddfpt
       dbfntx   -> rddntx
       nulsys   -> hbnulrdd
       usrrdd   -> hbusrrdd
       mainwin  -> hbmainwin
       mainstd  -> hbmainstd

       NOTE/TODO: We're currently not in sync with contribs, 
                  regarding hb prefixing, since in contrib 
                  rdds and gts (rightly) also have hb prefixes.
                  The only reason not to add them in core this
                  time, is to keep compatibility with DJGPP.
                  Maybe we should remove those prefixes from 
                  contrib.

       NOTE/TODO: Do tests in as many platforms and as many contrib 
                  tests as possible. Feedback from hbmake users is 
                  also welcome.

       !!! Please update your local make files !!!

   * include/hbgtinfo.ch
     + Added HB_ prefixed versions for all GTI_ macros.
       Unprefixed GTI_ macros are to be considered xhb 
       compatible (or legacy) ones, and they can be 
       excluded by #defining HB_GT_NO_XHB if they seem to 
       collide with user code.
       TODO: Switch to use HB_GTI_* inside Harbour code.
2008-01-25 20:40:49 +00:00
..

WARNING
-------

This document has serious bugs related to English Language.
I take no responsabilities for any misinformation in any form.
<GG>


HarbourScript Alfa Edition
--------------------------

Inside this zip file you will find HarbourScript package. This
should be unzipped to TESTS\WORKING\HSCRIPT directory in order
to work w/o any changes.

To make the HarbourScript Translator, hscript.exe, use MAKEHS.BAT.
If you are going to test offline, there's no need to make it,
it will be done automatically for you (Batch Power<g>). To test it,
you'll have the following options:


Testing HarbourScript using MS-Personal Web Server
--------------------------------------------------

(and maybe IIS 3.0+ too!)

1. Copy hscript.exe and harbour.exe to your cgi-bin directory
(or any other with Scripting allowed)

2. Copy all the scripts that you want to the same directory

3. You can now test Harbour Script using
http://localhost/cgi-bin/hscript?script=<script>.hs

Note: The hscript.exe program still locks the server sometimes.
This is due to external compilation of the resulting code. As
soon as we start to use macro substitution instead, this will
become more stable.


Testing HarbourScript without a Web Server
------------------------------------------

1. Make the sample scripts with MAKEHTM.

2. Browse the resulting .htm files as reported on screen.


How do this thing work?
-----------------------

Well, the HS (HarbourScript) tecnology is based on the ASP
(Active Server Pages) concept and someway in new Oracle 8i's
too.

A .hs page is like any normal HTML page with Special Tags and
Embedded Code. Those tags are: <% (Start Scripting) and %>
(End Scripting). Once you run this script, the HS translator
translates the Embedded Code into true Harbour Code and executes
it. In other words, you write your PRGs INSIDE your web pages.
This concept is called active content.


Known bugs
----------

- Web Server hanging some times (see above);


Open questions
--------------

Things not working due to lack of knowledge (if you know how
to do any of this things, leave a message on Harbour List with
subject HS Open questions, thanks! ;) ):

- How to associate .hs with hscript.exe safely in PWS and IIS.
I associated it using the Registry Key HKEY_LOCAL_MACHINE\System\>
CurrentControlSet\Services\W3SVC\Parameters\Script Map but
whenever I call the script I get a Server Error 500 without any
further explanation.


Felipe G. Coury
fcoury@flexsys-ci.com