2012-10-03 22:45 UTC+0200 Viktor Szakats (harbour syenar.net)

* website/*
    + set eol-style to native for all text files
    ! fixed inconsistent EOL in 3rd party .js files

  * contrib/hbct/tests/addascii.prg
  * contrib/hbct/tests/ctwtest.prg
  * contrib/hbct/tests/math.prg
  * contrib/hbct/tests/num1.prg
  * contrib/hbct/tests/trig.prg
  * contrib/hbnf/clrsel.prg
  * contrib/hbnf/menu1.prg
  * contrib/hbnf/sqzn.prg
  * tests/db_brows.prg
  * tests/fsplit.prg
  * tests/mathtest.prg
  * tests/newrdd.prg
  * tests/round.prg
  * tests/say.prg
  * tests/scroll.prg
  * tests/teststr.prg
  * tests/transtst.prg
  * tests/wvtext.prg
    ! fixed to use inkey.ch macros instead of literals
    * corrected hbformat mistakes
This commit is contained in:
Viktor Szakats
2012-10-03 20:56:06 +00:00
parent 26fb34afd9
commit 89b2cb7d90
83 changed files with 11050 additions and 11023 deletions

View File

@@ -16,6 +16,32 @@
The license applies to all entries newer than 2009-04-28.
*/
2012-10-03 22:45 UTC+0200 Viktor Szakats (harbour syenar.net)
* website/*
+ set eol-style to native for all text files
! fixed inconsistent EOL in 3rd party .js files
* contrib/hbct/tests/addascii.prg
* contrib/hbct/tests/ctwtest.prg
* contrib/hbct/tests/math.prg
* contrib/hbct/tests/num1.prg
* contrib/hbct/tests/trig.prg
* contrib/hbnf/clrsel.prg
* contrib/hbnf/menu1.prg
* contrib/hbnf/sqzn.prg
* tests/db_brows.prg
* tests/fsplit.prg
* tests/mathtest.prg
* tests/newrdd.prg
* tests/round.prg
* tests/say.prg
* tests/scroll.prg
* tests/teststr.prg
* tests/transtst.prg
* tests/wvtext.prg
! fixed to use inkey.ch macros instead of literals
* corrected hbformat mistakes
2012-10-03 16:01 UTC-0300 Vailton Renato (vailtom gmail com)
* website/mailing.html
* website/menu/harbour-menu.js

View File

@@ -66,39 +66,39 @@ PROCEDURE Main()
? "Simple tests:"
? [ This should be "1000": ] + addascii( "0000", 1, 1 )
? [ This should be "0001": ] + addascii( "0000", 1 )
? [ This should be "BAAA": ] + addascii( "AAAA", - 255, 1 )
? [ This should be "AAAB": ] + addascii( "AAAA", - 255 )
? [ This should be "BAAA": ] + addascii( "AAAA", -255, 1 )
? [ This should be "AAAB": ] + addascii( "AAAA", -255 )
// csetref() tests
?
? "CSETREF tests:"
? " current csetref setting(should be .F.)................: ", csetref()
? " return value of addascii([A],1,1) call(should be 'B'): ", addascii( "A",1,1 )
? " return value of addascii([A],1,1) call(should be 'B'): ", addascii( "A", 1, 1 )
? " value of cStr..........................................: ", cStr
? " return value of addascii(cStr,1,1) call...............: ", addascii( cStr,1,1 )
? " return value of addascii(cStr,1,1) call...............: ", addascii( cStr, 1, 1 )
? " value of cStr is now...................................: ", cStr
? " return value of addascii(@cStr,1,1) call..............: ", addascii( @cStr,1,1 )
? " return value of addascii(@cStr,1,1) call..............: ", addascii( @cStr, 1, 1 )
? " value of cStr is now...................................: ", cStr
? " return value of addascii(@cStr,-1,1) call.............: ", addascii( @cStr, - 1,1 )
? " return value of addascii(@cStr,-1,1) call.............: ", addascii( @cStr, -1, 1 )
? " value of cStr is now...................................: ", cStr
? " return value of csetref(.T.)..........................: ", csetref( .T. )
? " return value of addascii([A],1,1) call................: ", addascii( "A",1,1 )
? " return value of addascii(cStr,1,1) call...............: ", addascii( cStr,1,1 )
? " return value of addascii([A],1,1) call................: ", addascii( "A", 1, 1 )
? " return value of addascii(cStr,1,1) call...............: ", addascii( cStr, 1, 1 )
? " value of cStr is now...................................: ", cStr
? " return value of addascii(@cStr,1,1) call..............: ", addascii( @cStr,1,1 )
? " return value of addascii(@cStr,1,1) call..............: ", addascii( @cStr, 1, 1 )
? " value of cStr is now...................................: ", cStr
? " return value of addascii(@cStr,-1,1) call.............: ", addascii( @cStr, - 1,1 )
? " return value of addascii(@cStr,-1,1) call.............: ", addascii( @cStr, -1, 1 )
? " value of cStr is now...................................: ", cStr
? " return value of csetref(.F.)..........................: ", csetref( .F. )
// tests for the new 4th parameter
?
? "Carryover tests(new 4th parameter):"
? " return value of addascii([AAAA],1,2,.T.) call('ABAA')....:", addascii( "AAAA",1,2, .T. )
? " return value of addascii([AAAA],257,2,.T.) call('BBAA')..:", addascii( "AAAA",257,2, .T. )
? " return value of addascii([AAAA],257,2,.F.) call('ABAA')..:", addascii( "AAAA",257,2, .F. )
? " return value of addascii([AAAA],258,,.T.) call('AABC')...:", addascii( "AAAA",258,, .T. )
? " return value of addascii([ABBA],-257,3,.T.) call('AAAA').:", addascii( "ABBA", - 257,3, .T. )
? " return value of addascii([AAAA],1,2,.T.) call('ABAA')....:", addascii( "AAAA", 1, 2, .T. )
? " return value of addascii([AAAA],257,2,.T.) call('BBAA')..:", addascii( "AAAA", 257, 2, .T. )
? " return value of addascii([AAAA],257,2,.F.) call('ABAA')..:", addascii( "AAAA", 257, 2, .F. )
? " return value of addascii([AAAA],258,,.T.) call('AABC')...:", addascii( "AAAA", 258,, .T. )
? " return value of addascii([ABBA],-257,3,.T.) call('AAAA').:", addascii( "ABBA", -257,3, .T. )
? "End test of ADDASCII()"
?

View File

@@ -48,7 +48,7 @@ PROCEDURE Main()
aWin[ i ] := wopen( y, x, y + 10, x + 20 )
wbox()
@ - 1, 0 SAY "TITLE " + hb_ntos( aWin[ i ] )
@ -1, 0 SAY "TITLE " + hb_ntos( aWin[ i ] )
? hb_ntos( Row() ) + ":" + hb_ntos( Col() ), "/", hb_ntos( MaxRow() ) + ":" + hb_ntos( MaxCol() ), ""
? hb_ntos( wrow() ) + ":" + hb_ntos( wcol() ), "/", hb_ntos( MaxRow( .T. ) ) + ":" + hb_ntos( MaxCol( .T. ) ), ""
? hb_ntos( wfrow() ) + ":" + hb_ntos( wfcol() ), "/", ;

View File

@@ -63,53 +63,53 @@ PROCEDURE Main()
? "Test of mathematical functions"
?
? "FLOOR( 1.9) = 1 // CT3"
? "FLOOR( 1.9 ) = 1 // CT3"
? Space( 4 ), FLOOR( 1.9 ), " <-- CT for Harbour"
?
? "FLOOR( 1.1) = 1 // CT3"
? "FLOOR( 1.1 ) = 1 // CT3"
? Space( 4 ), FLOOR( 1.1 ), " <-- CT for Harbour"
?
? "FLOOR( 0.9) = 0 // CT3"
? "FLOOR( 0.9 ) = 0 // CT3"
? Space( 4 ), FLOOR( 0.9 ), " <-- CT for Harbour"
?
? "FLOOR( -0.1) = -1 // CT3"
? Space( 6 ), FLOOR( - 0.1 ), " <-- CT for Harbour"
? "FLOOR( -0.1 ) = -1 // CT3"
? Space( 6 ), FLOOR( -0.1 ), " <-- CT for Harbour"
?
? "FLOOR( -0.9) = -1 // CT3"
? Space( 6 ), FLOOR( - 0.9 ), " <-- CT for Harbour"
? "FLOOR( -0.9 ) = -1 // CT3"
? Space( 6 ), FLOOR( -0.9 ), " <-- CT for Harbour"
?
? "FLOOR( -1.1) = -2 // CT3"
? Space( 6 ), FLOOR( - 1.1 ), " <-- CT for Harbour"
? "FLOOR( -1.1 ) = -2 // CT3"
? Space( 6 ), FLOOR( -1.1 ), " <-- CT for Harbour"
?
WAIT4()
? "CEILING( 1.9) = 2 // CT3"
? "CEILING( 1.9 ) = 2 // CT3"
? Space( 6 ), CEILING( 1.9 ), " <-- CT for Harbour"
?
? "CEILING( 1.1) = 2 // CT3"
? "CEILING( 1.1 ) = 2 // CT3"
? Space( 6 ), CEILING( 1.1 ), " <-- CT for Harbour"
?
? "CEILING( 0.9) = 1 // CT3"
? "CEILING( 0.9 ) = 1 // CT3"
? Space( 6 ), CEILING( 0.9 ), " <-- CT for Harbour"
?
? "CEILING( -0.1) = 0 // CT3"
? Space( 7 ), CEILING( - 0.1 ), " <-- CT for Harbour"
? "CEILING( -0.1 ) = 0 // CT3"
? Space( 7 ), CEILING( -0.1 ), " <-- CT for Harbour"
?
? "CEILING( -0.9) = 0 // CT3"
? Space( 7 ), CEILING( - 0.9 ), " <-- CT for Harbour"
? "CEILING( -0.9 ) = 0 // CT3"
? Space( 7 ), CEILING( -0.9 ), " <-- CT for Harbour"
?
? "CEILING( -1.1) = -1 // CT3"
? Space( 8 ), CEILING( - 1.1 ), " <-- CT for Harbour"
? "CEILING( -1.1 ) = -1 // CT3"
? Space( 8 ), CEILING( -1.1 ), " <-- CT for Harbour"
?
WAIT4()
@@ -133,7 +133,7 @@ PROCEDURE Main()
?
? "SIGN( -258 ) = -1 // CT3"
? Space( 6 ), SIGN( - 258 ), " <-- CT for Harbour"
? Space( 6 ), SIGN( -258 ), " <-- CT for Harbour"
?
WAIT4()

View File

@@ -68,12 +68,12 @@ PROCEDURE Main()
? Space( 11 ), CELSIUS( 338.0 ), " <-- CT for Harbour "
?
? "CELSIUS( 3380.0) = 1860 // CT3"
? "CELSIUS( 3380.0 ) = 1860 // CT3"
? Space( 12 ), CELSIUS( 3380.0 ), " <-- CT for Harbour "
?
? "CELSIUS( -33.8) = -36.5555.. // CT3"
? Space( 10 ), CELSIUS( - 33.8 ), " <-- CT for Harbour "
? "CELSIUS( -33.8 ) = -36.5555.. // CT3"
? Space( 10 ), CELSIUS( -33.8 ), " <-- CT for Harbour "
?
? "FAHRENHEIT( 12.5 ) = 54.5 // CT3"
@@ -88,7 +88,7 @@ PROCEDURE Main()
? Space( 14 ), FAHRENHEIT( 1250 ), " <-- CT for Harbour "
?
? "FAHRENHEIT( -155 ) = -247 // CT3"
? Space( 14 ), FAHRENHEIT( - 155 ), " <-- CT for Harbour "
? Space( 14 ), FAHRENHEIT( -155 ), " <-- CT for Harbour "
?
? " PRESS ANY KEY"

View File

@@ -73,19 +73,19 @@ PROCEDURE Main()
?
? "PI = " + Str( PI(), 18, 15 )
? "STR( SIN( PI() /4 ), 18, 15 ) = 0.707106781186548 // CT3"
? Space( 32 ) + Str( SIN( PI() /4 ), 18, 15 ) + " <-- CT for Harbour"
? "STR( SIN( PI() / 4 ), 18, 15 ) = 0.707106781186548 // CT3"
? Space( 32 ) + Str( SIN( PI() / 4 ), 18, 15 ) + " <-- CT for Harbour"
?
? "STR( SIN( PI() /2 ), 18, 15 ) = 1.000000000000000 // CT3"
? Space( 32 ) + Str( SIN( PI() /2 ), 18, 15 ) + " <-- CT for Harbour"
? "STR( SIN( PI() / 2 ), 18, 15 ) = 1.000000000000000 // CT3"
? Space( 32 ) + Str( SIN( PI() / 2 ), 18, 15 ) + " <-- CT for Harbour"
?
? "STR( SIN( PI() *99.5 ), 18, 15 ) = -1.000000000000000 // CT3"
? "STR( SIN( PI() * 99.5 ), 18, 15 ) = -1.000000000000000 // CT3"
? Space( 35 ) + Str( SIN( PI() * 99.5 ), 18, 15 ) + " <-- CT for Harbour"
?
? "STR( SIN( PI() /9 ), 18, 15 ) = 0.342020143325669 // CT3"
? "STR( SIN( PI() / 9 ), 18, 15 ) = 0.342020143325669 // CT3"
? Space( 32 ) + Str( SIN( PI() / 9 ), 18, 15 ) + " <-- CT for Harbour"
WAIT4()
@@ -95,19 +95,19 @@ PROCEDURE Main()
? Space( 26 ) + Str( COS( 0 ), 18, 15 ) + " <-- CT for Harbour"
?
? "STR( COS( PI() /4 ), 18, 15 ) = 0.707106781186548 // CT3"
? Space( 32 ) + Str( COS( PI() /4 ), 18, 15 ) + " <-- CT for Harbour"
? "STR( COS( PI() / 4 ), 18, 15 ) = 0.707106781186548 // CT3"
? Space( 32 ) + Str( COS( PI() / 4 ), 18, 15 ) + " <-- CT for Harbour"
?
? "STR( COS( PI() /2 ), 18, 15 ) = 0.000000000000000 // CT3"
? Space( 32 ) + Str( COS( PI() /2 ), 18, 15 ) + " <-- CT for Harbour"
? "STR( COS( PI() / 2 ), 18, 15 ) = 0.000000000000000 // CT3"
? Space( 32 ) + Str( COS( PI() / 2 ), 18, 15 ) + " <-- CT for Harbour"
?
? "STR( COS( PI() *99.5 ), 18, 15 ) = 0.000000000000000 // CT3"
? "STR( COS( PI() * 99.5 ), 18, 15 ) = 0.000000000000000 // CT3"
? Space( 34 ) + Str( COS( PI() * 99.5 ), 18, 15 ) + " <-- CT for Harbour"
?
? "STR( COS( PI() /9 ), 18, 15 ) = 0.939692620785908 // CT3"
? "STR( COS( PI() / 9 ), 18, 15 ) = 0.939692620785908 // CT3"
? Space( 32 ) + Str( COS( PI() / 9 ), 18, 15 ) + " <-- CT for Harbour"
?
@@ -119,11 +119,11 @@ PROCEDURE Main()
? Space( 26 ) + Str( TAN( 0 ), 18, 15 ) + " <-- CT for Harbour"
?
? "STR( TAN( PI() /4 ), 18, 15 ) = 1.000000000000000 // CT3"
? Space( 32 ) + Str( TAN( PI() /4 ), 18, 15 ) + " <-- CT for Harbour"
? "STR( TAN( PI() / 4 ), 18, 15 ) = 1.000000000000000 // CT3"
? Space( 32 ) + Str( TAN( PI() / 4 ), 18, 15 ) + " <-- CT for Harbour"
?
? "STR( TAN( PI() /9 ), 18, 15 ) = 0.363970234266202 // CT3"
? "STR( TAN( PI() / 9 ), 18, 15 ) = 0.363970234266202 // CT3"
? Space( 32 ) + Str( TAN( PI() / 9 ), 18, 15 ) + " <-- CT for Harbour"
?
?
@@ -137,22 +137,22 @@ PROCEDURE Main()
? Space( 29 ) + Str( ACOS( 0.7 ), 18, 15 ) + " <-- CT for Harbour"
?
? "STR( ATAN( PI() /4 ), 18, 15 ) = 0.665773750028354 // CT3"
? Space( 33 ) + Str( ATAN( PI() /4 ), 18, 15 ) + " <-- CT for Harbour"
? "STR( ATAN( PI() / 4 ), 18, 15 ) = 0.665773750028354 // CT3"
? Space( 33 ) + Str( ATAN( PI() / 4 ), 18, 15 ) + " <-- CT for Harbour"
?
WAIT4()
? "STR( COT( PI() /4 ), 18, 15 ) = 1.000000000000000 // CT3"
? Space( 32 ) + Str( COT( PI() /4 ), 18, 15 ) + " <-- CT for Harbour"
? "STR( COT( PI() / 4 ), 18, 15 ) = 1.000000000000000 // CT3"
? Space( 32 ) + Str( COT( PI() / 4 ), 18, 15 ) + " <-- CT for Harbour"
?
? "STR( COT( PI() /2 ), 18, 15 ) = 0.000000000000000 // CT3"
? Space( 32 ) + Str( COT( PI() /2 ), 18, 15 ) + " <-- CT for Harbour"
? "STR( COT( PI() / 2 ), 18, 15 ) = 0.000000000000000 // CT3"
? Space( 32 ) + Str( COT( PI() / 2 ), 18, 15 ) + " <-- CT for Harbour"
?
? "STR( COT( PI() /9 ), 18, 15 ) = 2.747477419454622 // CT3"
? "STR( COT( PI() / 9 ), 18, 15 ) = 2.747477419454622 // CT3"
? Space( 32 ) + Str( COT( PI() / 9 ), 18, 15 ) + " <-- CT for Harbour"
?
@@ -160,55 +160,55 @@ PROCEDURE Main()
?? "Testing Hiperbolic Sine..."
?
? "STR( SINH( PI() /2 ), 18, 15 ) = 2.301298902307295 // CT3"
? Space( 33 ) + Str( SINH( PI() /2 ), 18, 15 ) + " <-- CT for Harbour"
? "STR( SINH( PI() / 2 ), 18, 15 ) = 2.301298902307295 // CT3"
? Space( 33 ) + Str( SINH( PI() / 2 ), 18, 15 ) + " <-- CT for Harbour"
?
? "STR( SINH( PI() /4 ), 18, 15 ) = 0.868670961486010 // CT3"
? Space( 33 ) + Str( SINH( PI() /4 ), 18, 15 ) + " <-- CT for Harbour"
? "STR( SINH( PI() / 4 ), 18, 15 ) = 0.868670961486010 // CT3"
? Space( 33 ) + Str( SINH( PI() / 4 ), 18, 15 ) + " <-- CT for Harbour"
?
? "Testing Hiperbolic Cosine..."
?
? "STR( COSH( PI() /2 ), 18, 15 ) = 2.509178478658057 // CT3"
? Space( 33 ) + Str( COSH( PI() /2 ), 18, 15 ) + " <-- CT for Harbour"
? "STR( COSH( PI() / 2 ), 18, 15 ) = 2.509178478658057 // CT3"
? Space( 33 ) + Str( COSH( PI() / 2 ), 18, 15 ) + " <-- CT for Harbour"
?
? "STR( COSH( PI() /4 ), 18, 15 ) = 1.324609089252006 // CT3"
? Space( 33 ) + Str( COSH( PI() /4 ), 18, 15 ) + " <-- CT for Harbour"
? "STR( COSH( PI() / 4 ), 18, 15 ) = 1.324609089252006 // CT3"
? Space( 33 ) + Str( COSH( PI() / 4 ), 18, 15 ) + " <-- CT for Harbour"
?
? "Testing Hiperbolic Tangent..."
?
? "STR( TANH( PI() /2 ), 18, 15 ) = 0.917152335667274 // CT3"
? Space( 33 ) + Str( TANH( PI() /2 ), 18, 15 ) + " <-- CT for Harbour"
? "STR( TANH( PI() / 2 ), 18, 15 ) = 0.917152335667274 // CT3"
? Space( 33 ) + Str( TANH( PI() / 2 ), 18, 15 ) + " <-- CT for Harbour"
?
? "STR( TANH( PI() /4 ), 18, 15 ) = 0.655794202632672 // CT3"
? Space( 33 ) + Str( TANH( PI() /4 ), 18, 15 ) + " <-- CT for Harbour"
? "STR( TANH( PI() / 4 ), 18, 15 ) = 0.655794202632672 // CT3"
? Space( 33 ) + Str( TANH( PI() / 4 ), 18, 15 ) + " <-- CT for Harbour"
?
WAIT4()
? "Testing Degree TO Radian..."
?
? "STR( DTOR( 360), 18, 15 ) = 6.283185307179588 // CT3"
? "STR( DTOR( 360 ), 18, 15 ) = 6.283185307179588 // CT3"
? Space( 27 ) + Str( DTOR( 360 ), 18, 15 ), " <-- CT for Harbour "
?
? "STR( DTOR( 180), 18, 15 ) = 3.141592653589794 // CT3"
? "STR( DTOR( 180 ), 18, 15 ) = 3.141592653589794 // CT3"
? Space( 27 ) + Str( DTOR( 180 ), 18, 15 ), " <-- CT for Harbour "
?
? "STR( DTOR( 180.5), 18, 15 ) = 3.150319299849766 // CT3"
? "STR( DTOR( 180.5 ), 18, 15 ) = 3.150319299849766 // CT3"
? Space( 29 ) + Str( DTOR( 180.5 ), 18, 15 ), " <-- CT for Harbour "
?
? "STR( DTOR( 720), 18, 15 ) = 12.566370614359180 // CT3"
? "STR( DTOR( 720 ), 18, 15 ) = 12.566370614359180 // CT3"
? Space( 28 ) + Str( DTOR( 720 ), 18, 15 ), " <-- CT for Harbour "
?
? "STR( DTOR( -180), 18, 15 ) = -3.141592653589794 // CT3"
? Space( 29 ) + Str( DTOR( - 180 ), 18, 15 ), " <-- CT for Harbour "
? "STR( DTOR( -180 ), 18, 15 ) = -3.141592653589794 // CT3"
? Space( 29 ) + Str( DTOR( -180 ), 18, 15 ), " <-- CT for Harbour "
WAIT4()
@@ -218,14 +218,14 @@ PROCEDURE Main()
? "RTOD( PI() ) = 180 // CT3 "
? Space( 7 ), RTOD( PI() ), " <-- CT for Harbour "
? "RTOD( 2 * PI()) = 360 // CT3 "
? "RTOD( 2 * PI() ) = 360 // CT3 "
? Space( 10 ), RTOD( 2 * PI() ), " <-- CT for Harbour "
? "RTOD( 4 * PI()) = 720 // CT3 "
? "RTOD( 4 * PI() ) = 720 // CT3 "
? Space( 10 ), RTOD( 4 * PI() ), " <-- CT for Harbour "
? "RTOD( -PI() ) = -180 // CT3"
? Space( 9 ), RTOD( - PI() ), " <-- CT for Harbour "
? Space( 9 ), RTOD( -PI() ), " <-- CT for Harbour "
?
WAIT4()
@@ -243,10 +243,10 @@ PROCEDURE Main()
? "x = SIN( DTOR( 30 ) ) =", x
? "y = COS( DTOR( 30 ) ) =", y
?
? "STR( ATN2( x, y ), 18, 15 ) = 0.523598775598299 // CT3"
? "STR( ATN2( x, y ), 18, 15 ) = 0.523598775598299 // CT3"
? Space( 31 ) + Str( ATN2( x, y ), 18, 15 ) + " <-- CT for Harbour"
?
? "RTOD( ATN2( x, y)) =" + Str( RTOD( ATN2( x,y ) ), 18, 4 ) + " <-- CT for Harbour"
? "RTOD( ATN2( x, y ) ) =" + Str( RTOD( ATN2( x,y ) ), 18, 4 ) + " <-- CT for Harbour"
?
WAIT4()

View File

@@ -138,9 +138,9 @@ FUNCTION FT_ClrSel( aClrs, lColour, cChr )
)
//.... determine co-ordinates for the achoice window
nT := Max( Int( ( 18 - Len( aPrompt ) ) /2 ) - 1, 1 )
nT := Max( Int( ( 18 - Len( aPrompt ) ) / 2 ) - 1, 1 )
nB := Min( nT + Len( aPrompt ) + 1, 17 )
nL := Max( Int( ( 27 - nLen ) /2 ) - 2, 1 )
nL := Max( Int( ( 27 - nLen ) / 2 ) - 2, 1 )
nR := Min( nL + nLen + 3, 26 )
//.... set up the window for aChoice
@@ -232,7 +232,7 @@ STATIC FUNCTION _ftColours( aOpt, aClrPal, lColour )
nLen := Max( nLen, Len( aOpt[ C_NAME ] ) + 2 )
nT := iif( aOpt[ C_TYPE ] == "M", 18, 19 )
nB := nT + Len( aPrompt ) + 1
nL := Max( Int( ( 27 - nLen ) /2 ) - 2, 1 )
nL := Max( Int( ( 27 - nLen ) / 2 ) - 2, 1 )
nR := Min( nL + nLen + 3, 26 )
//.... set up the window for prompt

View File

@@ -240,7 +240,7 @@ STATIC FUNCTION _ftBailOut( cBorder, cBox )
sOldScreen := SaveScreen( t_nMaxRow / 2 - 1, 24, t_nMaxRow / 2 + 2, 55 )
cOldColor := SetColor( cBorder )
hb_Shadow( t_nMaxRow / 2 - 1, 24, t_nMaxRow / 2 + 2, 55 )
@ t_nMaxRow / 2 - 1, 24, t_nMaxRow/2 + 2, 55 BOX hb_UTF8ToStrBox( "╔═╗║╝═╚║ " )
@ t_nMaxRow / 2 - 1, 24, t_nMaxRow / 2 + 2, 55 BOX hb_UTF8ToStrBox( "╔═╗║╝═╚║ " )
SetColor( cBox )
@ t_nMaxRow / 2, 26 SAY "Press ESCape To Confirm Exit"
@ t_nMaxRow / 2 + 1, 27 SAY "Or Any Other Key To Resume"

View File

@@ -44,7 +44,7 @@ FUNCTION ft_unsqzn( cCompressed, nSize, nDecimals )
nSize := iif( nSize == NIL, 10, nSize )
nDecimals := iif( nDecimals == NIL, 0, nDecimals )
cCompressed := iif( multi == - 1, hb_BSubStr( cCompressed, 2 ), cCompressed )
cCompressed := iif( multi == -1, hb_BSubStr( cCompressed, 2 ), cCompressed )
nSize := iif( nSize / 2 != Int( nSize / 2 ), nSize + 1, nSize )
IF hb_BCode( cCompressed ) > 127
tmp := Str( hb_BCode( cCompressed ) - 128, 2 )

View File

@@ -33,8 +33,8 @@
/* UTF-8 */
#include "fileio.ch"
#include "inkey.ch"
#define LI_LEN 42
#define LI_NSTR mslist[ 1 ]
#define LI_CLR mslist[ 2 ] // Color of a window
#define LI_CLRV mslist[ 3 ] // Color of a current line
@@ -77,6 +77,7 @@
#define LI_XPOS mslist[ 40 ]
#define LI_MSED mslist[ 41 ]
#define LI_COLCOUNT mslist[ 42 ]
#define LI_LEN 42
MEMVAR str_barbox
MEMVAR str_bar
@@ -102,11 +103,11 @@ PROCEDURE Main( filename )
DO WHILE vybkey != 0
vybkey := DBFLIST( , 3, 1, 76, 20, filename )
DO CASE
CASE vybkey == 13 // Enter
CASE vybkey == K_ENTER
// ...
CASE vybkey == - 2 // F3
CASE vybkey == K_F3
// ...
CASE vybkey == - 4 // F5
CASE vybkey == K_F5
// ...
ENDCASE
ENDDO
@@ -205,7 +206,7 @@ FUNCTION DBFLIST( mslist, x1, y1, x2, y2, title, maskey )
@ LI_Y1, ( LI_X2 - LI_X1 - 1 - Len( title ) ) / 2 + LI_X1 SAY " " + title + " "
ENDIF
IF title != NIL .AND. LI_NAMES != NIL
LI_Y1 ++
LI_Y1++
ENDIF
razmer := LI_Y2 - LI_Y1 - 1
IF ! LI_PRFLT
@@ -262,14 +263,14 @@ FUNCTION DBFLIST( mslist, x1, y1, x2, y2, title, maskey )
#endif
//
IF LI_LVIEW
xkey := 27
xkey := K_ESC
ELSE
#ifdef VER_MOUSE
xkey := IN_KM( .F. )
IF xkey == 502
DO WHILE M_STAT() != 0
ENDDO
xkey := 27
xkey := K_ESC
ELSEIF xkey == 501
ym := M_YTEXT()
xm := M_XTEXT()
@@ -308,11 +309,11 @@ FUNCTION DBFLIST( mslist, x1, y1, x2, y2, title, maskey )
VIVSTR( mslist, LI_NSTR + LI_Y1, 0 )
IF xkey < 500
DO CASE
CASE xkey == 24
CASE xkey == K_DOWN
IF ( LI_KOLZ > 0 .OR. predit == 3 ) .AND. ( LI_KOLZ == 0 .OR. ! Eval( LI_BEOF, mslist ) )
Eval( LI_BSKIP, mslist, 1 )
IF Eval( LI_BEOF, mslist ) .AND. ( predit < 3 .OR. LI_PRFLT )
Eval( LI_BSKIP, mslist, - 1 )
Eval( LI_BSKIP, mslist, -1 )
ELSE
IF Eval( LI_BEOF, mslist )
vartmp := LI_NLEFT
@@ -320,14 +321,14 @@ FUNCTION DBFLIST( mslist, x1, y1, x2, y2, title, maskey )
LI_COLPOS := LI_LEFTVISIBLE
LI_NCOLUMNS := FLDCOUNT( mslist, LI_X1 + 2, LI_X2 - 2, LI_NLEFT )
IF vartmp > LI_LEFTVISIBLE
Eval( LI_BSKIP, mslist, - 1 )
Eval( LI_BSKIP, mslist, - ( LI_NSTR - 1 ) )
Eval( LI_BSKIP, mslist, -1 )
Eval( LI_BSKIP, mslist, -( LI_NSTR - 1 ) )
WNDVIVOD( mslist )
Eval( LI_BSKIP, mslist, LI_NSTR - 1 )
Eval( LI_BSKIP, mslist )
ENDIF
ENDIF
LI_NSTR ++
LI_NSTR++
IF LI_NSTR > razmer
LI_NSTR := razmer
Scroll( LI_Y1 + 1, LI_X1 + 1, LI_Y2 - 1, LI_X2 - 1, 1 )
@@ -338,29 +339,29 @@ FUNCTION DBFLIST( mslist, x1, y1, x2, y2, title, maskey )
ENDIF
ENDIF
ENDIF
CASE xkey == 5 .AND. LI_KOLZ > 0
Eval( LI_BSKIP, mslist, - 1 )
CASE xkey == K_UP .AND. LI_KOLZ > 0
Eval( LI_BSKIP, mslist, -1 )
IF Eval( LI_BBOF, mslist )
Eval( LI_BGTOP, mslist )
ELSE
LI_NSTR --
LI_NSTR--
IF LI_NSTR == 0
LI_NSTR := 1
Scroll( LI_Y1 + 1, LI_X1 + 1, LI_Y2 - 1, LI_X2 - 1, - 1 )
Scroll( LI_Y1 + 1, LI_X1 + 1, LI_Y2 - 1, LI_X2 - 1, -1 )
VIVSTR( mslist, LI_Y1 + 1, 0 )
ENDIF
ENDIF
CASE xkey == 4 .AND. LI_KOLZ != 0
CASE xkey == K_RIGHT .AND. LI_KOLZ != 0
IF predit > 1
IF LI_COLPOS < LI_NCOLUMNS
LI_COLPOS ++
LI_COLPOS++
LOOP
ENDIF
ENDIF
IF LI_NCOLUMNS + LI_NLEFT - LI_FREEZE - 1 < LI_COLCOUNT
i := LI_NLEFT + LI_NCOLUMNS
DO WHILE LI_NCOLUMNS + LI_NLEFT - LI_FREEZE - 1 < LI_COLCOUNT .AND. LI_NLEFT + LI_NCOLUMNS == i
LI_NLEFT ++
LI_NLEFT++
// DO MSFNEXT WITH mslist,LI_NLEFT
LI_NCOLUMNS := FLDCOUNT( mslist, LI_X1 + 2, LI_X2 - 2, LI_NLEFT )
ENDDO
@@ -370,58 +371,58 @@ FUNCTION DBFLIST( mslist, x1, y1, x2, y2, title, maskey )
Eval( LI_BSKIP, mslist, LI_NSTR - 1 )
ENDIF
VIVNAMES( mslist, LI_NLEFT )
CASE xkey == 19
CASE xkey == K_LEFT
IF predit > 1
IF LI_COLPOS != 1
LI_COLPOS --
LI_COLPOS--
LOOP
ENDIF
ENDIF
IF LI_NLEFT > LI_LEFTVISIBLE
LI_NLEFT --
LI_NLEFT--
// DO MSFBACK WITH mslist,LI_NLEFT
LI_NCOLUMNS := FLDCOUNT( mslist, LI_X1 + 2, LI_X2 - 2, LI_NLEFT )
LI_COLPOS := 1
Eval( LI_BSKIP, mslist, - ( LI_NSTR - 1 ) )
Eval( LI_BSKIP, mslist, -( LI_NSTR - 1 ) )
WNDVIVOD( mslist )
Eval( LI_BSKIP, mslist, LI_NSTR - 1 )
ENDIF
VIVNAMES( mslist, LI_NLEFT )
CASE xkey == 3 // PgDn
CASE xkey == K_PGDN
Eval( LI_BSKIP, mslist, razmer - LI_NSTR + 1 )
LI_NSTR := 1
IF Eval( LI_BEOF, mslist )
Eval( LI_BSKIP, mslist, - 1 )
Eval( LI_BSKIP, mslist, -1 )
ENDIF
WNDVIVOD( mslist )
CASE xkey == 18 // PgUp
CASE xkey == K_PGUP
IF LI_NSTR > 1
Eval( LI_BSKIP, mslist, - ( LI_NSTR - 1 ) )
Eval( LI_BSKIP, mslist, -( LI_NSTR - 1 ) )
LI_NSTR := 1
ELSE
Eval( LI_BSKIP, mslist, - razmer )
Eval( LI_BSKIP, mslist, -razmer )
IF Eval( LI_BBOF, mslist )
Eval( LI_BGTOP, mslist )
ENDIF
WNDVIVOD( mslist )
ENDIF
CASE xkey == 6 .AND. LI_KOLZ > 0 // End
CASE xkey == K_END .AND. LI_KOLZ > 0
Eval( LI_BGBOT, mslist )
Eval( LI_BSKIP, mslist, - ( razmer - 1 ) )
Eval( LI_BSKIP, mslist, -( razmer - 1 ) )
IF Eval( LI_BBOF, mslist )
Eval( LI_BGTOP, mslist )
ENDIF
LI_NSTR := WNDVIVOD( mslist )
Eval( LI_BSKIP, mslist, LI_NSTR - 1 )
CASE xkey == 1 .AND. LI_KOLZ > 0 // Home
CASE xkey == K_HOME .AND. LI_KOLZ > 0
LI_NSTR := 1
Eval( LI_BGTOP, mslist )
WNDVIVOD( mslist )
CASE xkey == 13 .AND. predit < 2 // Enter
CASE xkey == K_ENTER .AND. predit < 2
rez := .F.
rezproc := xkey
CASE ( xkey == 13 .OR. ( xkey > 47 .AND. xkey < 58 ) .OR. ( xkey > 64 .AND. xkey < 91 ) ;
.OR. ( xkey > 96 .AND. xkey < 123 ) .OR. ( xkey > 127 .AND. xkey < 176 ) .OR. ( xkey > 223 .AND. xkey < 240 ) ) .AND. predit > 1 // Enter
CASE ( xkey == K_ENTER .OR. ( xkey > 47 .AND. xkey < 58 ) .OR. ( xkey > 64 .AND. xkey < 91 ) ;
.OR. ( xkey > 96 .AND. xkey < 123 ) .OR. ( xkey > 127 .AND. xkey < 176 ) .OR. ( xkey > 223 .AND. xkey < 240 ) ) .AND. predit > 1
fipos := LI_COLPOS + LI_NLEFT - 1 - LI_FREEZE
IF LI_WHEN == NIL .OR. Len( LI_WHEN ) < fipos .OR. LI_WHEN[ fipos ] == NIL .OR. Eval( LI_WHEN[ fipos ] )
IF ValType( LI_MSED ) != "N"
@@ -436,7 +437,7 @@ FUNCTION DBFLIST( mslist, x1, y1, x2, y2, title, maskey )
ENDIF
SET CURSOR ON
SetColor( LI_CLRV + "," + LI_CLRV )
IF xkey != 13
IF xkey != K_ENTER
KEYBOARD Chr( xkey ) + GetBuf()
ENDIF
vartmp := ReadExit( .T. )
@@ -446,7 +447,7 @@ FUNCTION DBFLIST( mslist, x1, y1, x2, y2, title, maskey )
Getlist[ 1 ] :postBlock := LI_VALID[ fipos ]
ENDIF
READ
IF LastKey() != 27 .AND. Updated()
IF LastKey() != K_ESC .AND. Updated()
IF Eval( LI_BEOF, mslist )
APPEND BLANK
LI_KOLZ := Eval( LI_RCOU, mslist )
@@ -466,23 +467,23 @@ FUNCTION DBFLIST( mslist, x1, y1, x2, y2, title, maskey )
UNLOCK
ENDIF
ENDIF
IF ( LastKey() == 27 .OR. ! Updated() ) .AND. Eval( LI_BEOF, mslist )
IF ( LastKey() == K_ESC .OR. ! Updated() ) .AND. Eval( LI_BEOF, mslist )
SetColor( LI_CLR )
@ LI_NSTR + LI_Y1, LI_X1 + 1 CLEAR TO LI_NSTR + LI_Y1, LI_X2 - 1
LI_NSTR --
Eval( LI_BSKIP, mslist, - 1 )
LI_NSTR--
Eval( LI_BSKIP, mslist, -1 )
ELSE
IF ( vartmp := LastKey() ) != 13 .AND. vartmp != 27 .AND. vartmp < 32
IF ( vartmp := LastKey() ) != K_ENTER .AND. vartmp != K_ESC .AND. vartmp < 32
KEYBOARD Chr( vartmp )
ENDIF
ENDIF
ReadExit( vartmp )
SET CURSOR OFF
ENDIF
CASE xkey == 27 // Esc
CASE xkey == K_ESC
rez := .F.
rezproc := 0
CASE xkey == - 1 .AND. ( maskey == NIL .OR. AScan( maskey, xkey ) == 0 ) // F2
CASE xkey == K_F2 .AND. ( maskey == NIL .OR. AScan( maskey, xkey ) == 0 )
IF predit == 1
predit := predxx
ELSEIF predit > 1
@@ -560,7 +561,7 @@ FUNCTION FLDCOUNT( mslist, xstrt, xend, fld1 )
IF xstrt > xend
EXIT
ENDIF
klf ++
klf++
i := iif( i == LI_FREEZE, fld1, i + 1 )
xstrt += 2
IF i > LI_COLCOUNT
@@ -598,7 +599,7 @@ FUNCTION VIVNAMES( mslist )
x := x + Max( Len( FLDSTR( mslist, fif ) ), Len( LI_NAMES[ fif ] ) ) + 1
fif := iif( fif == LI_FREEZE, LI_NLEFT, fif + 1 )
// DO MSFNEXT WITH mslist,fif
i ++
i++
ENDDO
IF LI_NMCLR != NIL
SetColor( oldc )
@@ -628,7 +629,7 @@ FUNCTION WNDVIVOD( mslist )
@ LI_Y1 + 1, LI_X1 + 1 CLEAR TO LI_Y2 - 1, LI_X2 - 1
DO WHILE .T.
VIVSTR( mslist, nstr + LI_Y1, 0 )
nstr ++
nstr++
Eval( LI_BSKIP, mslist, 1 )
IF nstr > LI_Y2 - LI_Y1 - 1 .OR. Eval( LI_BEOF, mslist )
EXIT
@@ -839,4 +840,4 @@ FUNCTION NUM_STR( NOM, KOLZN )
NOM := Int( NOM )
RETURN Replicate( "0", KOLZN - Len( LTrim( Str( NOM ) ) ) ) + LTrim( Str( NOM ) )
RETURN Replicate( "0", KOLZN - Len( hb_ntos( NOM ) ) ) + hb_ntos( NOM )

View File

@@ -52,9 +52,9 @@ FUNCTION fsplit( csource, csplit, nbyte )
// open the source file
BEGIN SEQUENCE
IF ( hsource := FOpen( csource,FO_READ + FO_SHARED ) ) != F_ERROR
IF ( hsource := FOpen( csource, FO_READ + FO_SHARED ) ) != F_ERROR
// is file size smaller than chunk size ?
IF ( nfilesize := FSeek( hsource, 0 , FS_END ) ) <= nbyte
IF ( nfilesize := FSeek( hsource, 0, FS_END ) ) <= nbyte
Alert( "***** Error *****;File Size Is Smaller Than Chunk Size;" + "Source Size = " + hb_ntos( nfilesize ) + " Chunk Size = " + hb_ntos( nbyte ), { " Okay " }, "w+/b" )
FClose( hsource )
break
@@ -71,7 +71,7 @@ FUNCTION fsplit( csource, csplit, nbyte )
ccommand := "copy /b " // line in join.bat
ccommand += cdestination + "+" // line in join.bat
hdestination := FCreate( cdestination ) // create 1st split file
IF hdestination != - 1
IF hdestination != F_ERROR
nbufsize *= 1024 // buffer size
cbuffer := Space( nbufsize ) // buffer read/write
AAdd( afile, cbat )
@@ -96,7 +96,7 @@ FUNCTION fsplit( csource, csplit, nbyte )
ENDDO
FClose( hsource ) // close source file
FClose( hdestination ) // close split file
ccommand := Left( ccommand, RAt( "+",ccommand ) - 1 ) + " " // line in join.bat
ccommand := Left( ccommand, RAt( "+", ccommand ) - 1 ) + " " // line in join.bat
ccommand += csource + cret // line in join.bat
ctmp += "rem the following files should be placed in a directory" + Chr( 13 ) + Chr( 10 )
FOR i := 2 TO Len( afile )
@@ -113,7 +113,7 @@ FUNCTION fsplit( csource, csplit, nbyte )
ctmp += "goto end" + cret
FOR i := 2 TO nfile
ctmp += ":error" + hb_ntos( i - 1 ) + cret
ctmp += "echo " + cret
ctmp += "echo " + Chr( 7 ) + cret
ctmp += "echo missing file " + afile[ i ] + cret
ctmp += "goto end" + cret
NEXT
@@ -129,10 +129,10 @@ FUNCTION fsplit( csource, csplit, nbyte )
? "Done in " + hb_ntos( Seconds() - nseconds ) + " seconds."
? "To restore, type JOIN"
ELSE
break
BREAK
ENDIF
ELSE
break
BREAK
ENDIF
RECOVER
? Chr( 7 )

View File

@@ -14,7 +14,7 @@ PROCEDURE Main()
? " I) Test with correct arguments:"
? " exp(0.0) == 1.00 ? ", Exp( 0.0 )
? " exp(1.0) == 2.71(8)... ? ", Exp( 1.0 )
? " exp(-1.0) == 0.36(7)... ? ", Exp( - 1.0 )
? " exp(-1.0) == 0.36(7)... ? ", Exp( -1.0 )
?
? " log(1.0) == 0.00 ? ", Log( 1.0 )
? " log(2.7) == 0.99(3)... ? ", Log( 2.7 )

View File

@@ -54,12 +54,12 @@ PROCEDURE Main()
TESTDBF->( Found() ), TESTDBF->( Deleted() ), TESTDBF->( Deleted() ), ;
TESTDBF->( RecNo() )
? "dbSkip( -1 ):"
dbSkip( - 1 )
dbSkip( -1 )
? "Bof Eof Found Deleted RecNo:", TESTDBF->( BOF() ), TESTDBF->( EOF() ), ;
TESTDBF->( Found() ), TESTDBF->( Deleted() ), TESTDBF->( Deleted() ), ;
TESTDBF->( RecNo() )
? "dbSkip( -1 ):"
dbSkip( - 1 )
dbSkip( -1 )
? "Bof Eof Found Deleted RecNo:", TESTDBF->( BOF() ), TESTDBF->( EOF() ), ;
TESTDBF->( Found() ), TESTDBF->( Deleted() ), TESTDBF->( Deleted() ), ;
TESTDBF->( RecNo() )
@@ -89,12 +89,12 @@ PROCEDURE Main()
TESTDBF->( Found() ), TESTDBF->( Deleted() ), TESTDBF->( Deleted() ), ;
TESTDBF->( RecNo() )
? "dbSkip( -1 ):"
dbSkip( - 1 )
dbSkip( -1 )
? "Bof Eof Found Deleted RecNo:", TESTDBF->( BOF() ), TESTDBF->( EOF() ), ;
TESTDBF->( Found() ), TESTDBF->( Deleted() ), TESTDBF->( Deleted() ), ;
TESTDBF->( RecNo() )
? "dbSkip( -1 ):"
dbSkip( - 1 )
dbSkip( -1 )
? "Bof Eof Found Deleted RecNo:", TESTDBF->( BOF() ), TESTDBF->( EOF() ), ;
TESTDBF->( Found() ), TESTDBF->( Deleted() ), TESTDBF->( Deleted() ), ;
TESTDBF->( RecNo() )
@@ -117,12 +117,12 @@ PROCEDURE Main()
TESTDBF->( Found() ), TESTDBF->( Deleted() ), TESTDBF->( Deleted() ), ;
TESTDBF->( RecNo() )
? "dbSkip( -1 ):"
dbSkip( - 1 )
dbSkip( -1 )
? "Bof Eof Found Deleted RecNo:", TESTDBF->( BOF() ), TESTDBF->( EOF() ), ;
TESTDBF->( Found() ), TESTDBF->( Deleted() ), TESTDBF->( Deleted() ), ;
TESTDBF->( RecNo() )
? "dbSkip( -1 ):"
dbSkip( - 1 )
dbSkip( -1 )
? "Bof Eof Found Deleted RecNo:", TESTDBF->( BOF() ), TESTDBF->( EOF() ), ;
TESTDBF->( Found() ), TESTDBF->( Deleted() ), TESTDBF->( Deleted() ), ;
TESTDBF->( RecNo() )
@@ -366,7 +366,7 @@ PROCEDURE Main()
NEXT
? "..."
NEWRDD->( dbGoBottom() )
NEWRDD->( dbSkip( - 8 ) )
NEWRDD->( dbSkip( -8 ) )
FOR nI := 1 TO 8
? NEWRDD->FIRST, NEWRDD->AGE
NEWRDD->( dbSkip() )

View File

@@ -10,7 +10,7 @@
PROCEDURE Main()
LOCAL n, value := - 5
LOCAL n, value := -5
FOR n := 1 TO 100
? value,;

View File

@@ -12,8 +12,8 @@ PROCEDURE Main()
@ 0, 0 SAY "Testing @ SAY with and without PICTURE clauses"
@ 0, 60 SAY Date()
SET CENTURY OFF
@ 2, 1 SAY - 1.25
@ 2, 41 SAY - 1.25 PICTURE "@( 99,999.99"
@ 2, 1 SAY -1.25
@ 2, 41 SAY -1.25 PICTURE "@( 99,999.99"
@ 3, 1 SAY 1.25 PICTURE "@( 9,999.99"
@ 3, 41 SAY 1.25 PICTURE "@( $9,999.99"
@ 5, 1 SAY Date()

View File

@@ -49,23 +49,23 @@ PROCEDURE Main()
RestScreen( 10, 40, 23, 71, cT )
pause()
Scroll ( 1, 1, 11, 30, - 2, - 5 )
Scroll( 1, 1, 11, 30, -2, -5 )
pause()
Scroll ( 1, 1, 11, 30, 2, 5 )
Scroll( 1, 1, 11, 30, 2, 5 )
pause()
Scroll ( 1, 1, 11, 30, - 5, 2 )
Scroll( 1, 1, 11, 30, -5, 2 )
pause()
Scroll ( 1, 1, 11, 30, 7, - 12 )
Scroll( 1, 1, 11, 30, 7, -12 )
pause()
SET COLOR TO "W+/R"
Scroll ( 1, 1, 11, 30, 0, 0 )
Scroll( 1, 1, 11, 30, 0, 0 )
pause()
RETURN
FUNCTION pause()
DevPos ( MaxRow() - 2, 0 )
__Accept ( "pause: " )
DevPos( MaxRow() - 2, 0 )
__Accept( "pause: " )
RETURN NIL

View File

@@ -100,11 +100,11 @@ PROCEDURE test()
?
?? "33: "
?? Str( b, 20, - 10 )
?? Str( b, 20, -10 )
?
?? "34: "
?? Str( b, - 12, 7 )
?? Str( b, -12, 7 )
?
?? "35: "

View File

@@ -52,17 +52,17 @@ PROC test()
?
? transtest( 134.24, "99,999.99", " 134.24" )
? transtest( 134.24, "@E 99,999.99", " 134,24" )
? transtest( - 134.24, "@E 99,999.99", " -134,24" )
? transtest( -134.24, "@E 99,999.99", " -134,24" )
? transtest( 134.24, "@E99,999.99", " 134,24" )
? transtest( - 134.24, "@E99,999.99", " -134,24" )
? transtest( -134.24, "@E99,999.99", " -134,24" )
?
? transtest( - 7, "@X 9999", " 7 DB" )
? transtest( -7, "@X 9999", " 7 DB" )
? transtest( SToD( "19920509" ), "@E", "09/05/92" )
? transtest( Val( "3.10" ), "@X", "3.10" )
? transtest( 0.80, ".9999", ".8000" )
? transtest( - 0.80, ".9999", ".****" )
? transtest( -0.80, ".9999", ".****" )
? transtest( 12345.123, "@X99", " 12345.123" )
? transtest( - 12345.123, "@X99", " 12345.123 DB" )
? transtest( -12345.123, "@X99", " 12345.123 DB" )
? transtest( 123456.78, "@E", " 123456,78" )
? transtest( 0, "@C 9.99", "0.00" )
stop()
@@ -91,9 +91,9 @@ PROC test()
stop()
#endif
? transtest( - 5, "@(Z $###,##9.99", "( 5.00)" )
? transtest( - 10, "@)Z $###,##9.99", "$ (10.00)" )
? transtest( - 20, "@Z $###,##9.99", "$ -20.00" )
? transtest( -5, "@(Z $###,##9.99", "( 5.00)" )
? transtest( -10, "@)Z $###,##9.99", "$ (10.00)" )
? transtest( -20, "@Z $###,##9.99", "$ -20.00" )
? transtest( 100, "9999.", " 100." )
? transtest( 1.1, "@B!99.99", "1.1 " )
? transtest( 12.345, "@R 99/99", " /12" )
@@ -107,24 +107,24 @@ PROC test()
? transtest( 99, "*.***", "*.***" )
? transtest( 12345, "9999.", "****." )
stop()
? transtest( - 12345.00, "@(", "( 12345.00)" )
? transtest( - 12345.00, "@)", " (12345.00)" )
? transtest( - 123456789.00, "@(", "(123456789.00)" )
? transtest( - 123456789.00, "@)", "(123456789.00)" )
? transtest( - 1234567890, "@(", "( 1234567890)" )
? transtest( - 1234567890, "@)", " (1234567890)" )
? transtest( - 12345, "@( [999999]", "( 12345])" )
? transtest( - 12345, "@) [999999]", "[(12345])" )
? transtest( - 12345, "@( $999999", "( 12345)" )
? transtest( - 12345, "@) $999999", "$(12345)" )
? transtest( - 12345, "@( #999999", "( 12345)" )
? transtest( - 12345, "@) #999999", " (12345)" )
? transtest( - 12345, "@( $99999", "(12345)" )
? transtest( - 12345, "@) $99999", "(12345)" )
? transtest( - 12345, "@( #99999", "(12345)" )
? transtest( - 12345, "@) #99999", "(12345)" )
? transtest( - 12345, "@( 6798^999", "(7*8^***)" )
? transtest( - 12345, "@( 9798^9999", "(718^2345)" )
? transtest( -12345.00, "@(", "( 12345.00)" )
? transtest( -12345.00, "@)", " (12345.00)" )
? transtest( -123456789.00, "@(", "(123456789.00)" )
? transtest( -123456789.00, "@)", "(123456789.00)" )
? transtest( -1234567890, "@(", "( 1234567890)" )
? transtest( -1234567890, "@)", " (1234567890)" )
? transtest( -12345, "@( [999999]", "( 12345])" )
? transtest( -12345, "@) [999999]", "[(12345])" )
? transtest( -12345, "@( $999999", "( 12345)" )
? transtest( -12345, "@) $999999", "$(12345)" )
? transtest( -12345, "@( #999999", "( 12345)" )
? transtest( -12345, "@) #999999", " (12345)" )
? transtest( -12345, "@( $99999", "(12345)" )
? transtest( -12345, "@) $99999", "(12345)" )
? transtest( -12345, "@( #99999", "(12345)" )
? transtest( -12345, "@) #99999", "(12345)" )
? transtest( -12345, "@( 6798^999", "(7*8^***)" )
? transtest( -12345, "@( 9798^9999", "(718^2345)" )
stop()
?
tofix()
@@ -134,43 +134,43 @@ PROC test()
PROC tofix()
? transtest( 134.24, "@E99,999.99", " 134,24" )
? transtest( - 134.24, "@E99,999.99", " -134,24" )
? transtest( -134.24, "@E99,999.99", " -134,24" )
? transtest( 0.80, ".9999", ".8000" )
? transtest( - 0.80, ".9999", ".****" )
? transtest( -0.80, ".9999", ".****" )
? transtest( 12345.123, "@X99", " 12345.123" )
? transtest( - 12345.123, "@X99", " 12345.123 DB" )
? transtest( -12345.123, "@X99", " 12345.123 DB" )
? transtest( 123456.78, "@E", " 123456,78" )
? transtest( 0, "@C 9.99", "0.00" )
? transtest( 1.1, "@B!99.99", "1.1 " )
? transtest( - 12345, "@) [999999]", "[(12345])" )
? transtest( - 12345, "@) $999999", "$(12345)" )
? transtest( - 12345, "@) *999999", "*(12345)" )
? transtest( - 12345, "@) #999999", " (12345)" )
? transtest( - 12345, "@) *9$9*999]", "*($12345])" )
? transtest( - 12345, "@) *999*999]", "* (12345])" )
? transtest( - 12345, "@) 0999*999]", "0 (12345])" )
? transtest( - 12345, "@) 1999*999]", "1 (12345])" )
? transtest( - 12345, "@) *[99*999]", "([ 12345])" )
? transtest( - 12345, "@) *****999]", "(**12345])" )
? transtest( - 12345, "@) *1***999]", "(1*12345])" )
? transtest( - 12345, "@) * 999999]", "* (12345])" )
? transtest( - 5, "@(Z $###,##9.99", "( 5.00)" )
? transtest( - 10, "@)Z $###,##9.99", "$ (10.00)" )
? transtest( - 5, "@(Z $999,999.99", "( 5.00)" )
? transtest( - 10, "@)Z $999,999.99", "$ (10.00)" )
? transtest( - 5, "@(Z 999,999.99", "( 5.00)" )
? transtest( - 10, "@)Z 999,999.99", " (10.00)" )
? transtest( - 20, "@Z $###,##9.99", "$ -20.00" )
? transtest( -12345, "@) [999999]", "[(12345])" )
? transtest( -12345, "@) $999999", "$(12345)" )
? transtest( -12345, "@) *999999", "*(12345)" )
? transtest( -12345, "@) #999999", " (12345)" )
? transtest( -12345, "@) *9$9*999]", "*($12345])" )
? transtest( -12345, "@) *999*999]", "* (12345])" )
? transtest( -12345, "@) 0999*999]", "0 (12345])" )
? transtest( -12345, "@) 1999*999]", "1 (12345])" )
? transtest( -12345, "@) *[99*999]", "([ 12345])" )
? transtest( -12345, "@) *****999]", "(**12345])" )
? transtest( -12345, "@) *1***999]", "(1*12345])" )
? transtest( -12345, "@) * 999999]", "* (12345])" )
? transtest( -5, "@(Z $###,##9.99", "( 5.00)" )
? transtest( -10, "@)Z $###,##9.99", "$ (10.00)" )
? transtest( -5, "@(Z $999,999.99", "( 5.00)" )
? transtest( -10, "@)Z $999,999.99", "$ (10.00)" )
? transtest( -5, "@(Z 999,999.99", "( 5.00)" )
? transtest( -10, "@)Z 999,999.99", " (10.00)" )
? transtest( -20, "@Z $###,##9.99", "$ -20.00" )
? transtest( 0.1, ".9", ".1" )
? transtest( 0.0, ".9", ".0" )
? transtest( 1, ".9", ".*" )
? transtest( .456, ".9", ".5" )
? transtest( 123, "99.-", "**.-" )
stop()
? transtest( - 123.45, "999,999.99", " -123.45" )
? transtest( - 123456.78, "999,999,999.99", " -123,456.78" )
? transtest( - 123456.78, "$$$,$$$,$$$.$$", "$$ -123,456.78" )
? transtest( - 123456.78, "***,***,***.**", "***-123,456.78" )
? transtest( -123.45, "999,999.99", " -123.45" )
? transtest( -123456.78, "999,999,999.99", " -123,456.78" )
? transtest( -123456.78, "$$$,$$$,$$$.$$", "$$ -123,456.78" )
? transtest( -123456.78, "***,***,***.**", "***-123,456.78" )
? transtest( 123456.78, "@E 888,$$$,$$$.$$", "888.123.456,78" )
? transtest( 123456.78, "@E 888x,$$$,$$$.$$", "888xx123.456,78" )
? transtest( 123456.78, "@E 888x,,$$$,$$$.$$", "888xxx123.456,78" )
@@ -205,10 +205,10 @@ PROC tofix()
? transtest( 123.345678912, "@E 999.99.99,99.99.", "123,34,67.89, ." )
#ifdef __HARBOUR__
? transtest( 1234567890123456789, "99999999999999999999", " 1234567890123456789" )
? transtest( - 1234567890123456789, "99999999999999999999", "-1234567890123456789" )
? transtest( -1234567890123456789, "99999999999999999999", "-1234567890123456789" )
#else
? transtest( 1234567890123456789, "99999999999999999999", " 1234567890123457000" )
? transtest( - 1234567890123456789, "99999999999999999999", "-1234567890123457000" )
? transtest( -1234567890123456789, "99999999999999999999", "-1234567890123457000" )
#endif
stop()
SET( _SET_DATEFORMAT, "YYYY/MM/DD" )
@@ -233,8 +233,8 @@ PROC tofix()
? transtest( 1234, "" , " 1234" )
? transtest( 1234, "@" , " 1234" )
? transtest( 1234, "@!", " 1234" )
? transtest( - 1234, , " -1234" )
? transtest( - 1234, "@" , " -1234" )
? transtest( -1234, , " -1234" )
? transtest( -1234, "@" , " -1234" )
#ifdef HB_CLP_STRICT
? transtest( Round( 123,0 ), , " 123.00" )
? transtest( Round( 123,0 ), "@!", " 123.00" )
@@ -246,8 +246,8 @@ PROC tofix()
? transtest( 1234.567, "", " 1234.57" )
? transtest( 1234.567, "@" , " 1234.57" )
? transtest( 1234.567, "@!", " 1234.57" )
? transtest( - 1234.567, , " -1234.57" )
? transtest( - 1234.567, "@", " -1234.57" )
? transtest( -1234.567, , " -1234.57" )
? transtest( -1234.567, "@", " -1234.57" )
? transtest( Val( "-1.0" ), , "-1.00" )
? transtest( Val( "-1.0" ), "@", "-1.00" )
? transtest( Val( "-123" ), , " -123" )
@@ -273,12 +273,12 @@ PROC tofix()
? transtest( Val( "1234" ), , " 1234" )
SET FIXED OFF
stop()
? transtest( - 1234, , " -1234" )
? transtest( - 1234, "@B", "-1234 " )
? transtest( - 1234, "@(", "( 1234)" )
? transtest( - 1234, "@)", " (1234)" )
? transtest( - 1234, "@B)", "(1234) " )
? transtest( - 1234, "@B(", "(1234) " )
? transtest( -1234, , " -1234" )
? transtest( -1234, "@B", "-1234 " )
? transtest( -1234, "@(", "( 1234)" )
? transtest( -1234, "@)", " (1234)" )
? transtest( -1234, "@B)", "(1234) " )
? transtest( -1234, "@B(", "(1234) " )
? transtest( "( 12)", "@B(", "( 12)" )
? transtest( "( 12)", "@B)", "( 12)" )
? transtest( " 12", "@B(", "12 " )
@@ -288,18 +288,18 @@ PROC tofix()
? transtest( 1234, "@0", "0000001234" )
? transtest( 1234, "@L(", "0000001234" )
? transtest( 1234, "@0)", "0000001234" )
? transtest( - 1234, "@L(", "(000001234)" )
? transtest( - 1234, "@0)", "(000001234)" )
? transtest( -1234, "@L(", "(000001234)" )
? transtest( -1234, "@0)", "(000001234)" )
/* please test it with FoxPro and Xbase++ to check if they give the same result */
? transtest( - 1234, "@L", "-000001234" )
? transtest( - 1234, "@0", "-000001234" )
? transtest( -1234, "@L", "-000001234" )
? transtest( -1234, "@0", "-000001234" )
#endif
/* FlagShip extensions */
? transtest( - 1234, "@Z", " -1234" )
? transtest( -1234, "@Z", " -1234" )
? transtest( 1234, "@Z", " 1234" )
? transtest( - 1234, "@F", " -1234" )
? transtest( -1234, "@F", " -1234" )
? transtest( 1234, "@F", " 1234" )
? transtest( - 1234, "@T", " -1234" )
? transtest( -1234, "@T", " -1234" )
? transtest( 1234, "@T", " 1234" )
? transtest( 123456789.12, "@,39 999,999,999.99", "123,456,789.12" )

View File

@@ -347,9 +347,9 @@ FUNCTION SetPalette( nMode )
THREAD STATIC t_nG := 198
THREAD STATIC t_nB := 198
t_nR += iif( nMode == 0, - 5, 5 )
t_nG += iif( nMode == 0, - 5, 5 )
t_nB += iif( nMode == 0, - 5, 5 )
t_nR += iif( nMode == 0, -5, 5 )
t_nG += iif( nMode == 0, -5, 5 )
t_nB += iif( nMode == 0, -5, 5 )
// Change "W" to slightly gray everytime you press F5
//
@@ -513,7 +513,7 @@ STATIC FUNCTION TBPrev( oTbr )
HB_SYMBOL_UNUSED( oTbr )
dbSkip( - 1 )
dbSkip( -1 )
IF Bof()
dbGoto( nSaveRecNum )

View File

@@ -1,111 +1,111 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - About</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">About Harbour</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Harbour is a compiler for the xBase superset language often referred to as Clipper (the language that is implemented by the compiler CA-Clipper). Harbour is a cross-platform compiler and is known to compile and run on:<br /><ul>
<li>MS-DOS,</li>
<li>Windows (32 &amp; 64),</li>
<li>Windows CE,</li>
<li>Pocket PC,</li>
<li>OS/2,</li>
<li>GNU/Linux,</li>
<li>Mac OSX.</li>
</ul>
Harbour is a free and open-source project. It can be used to make open source applications, free or commercial products. To learn more about Harbour licence <a href="license.html" class="black_link">click here</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL"><span class="title"><a name="why" id="why"></a></span></td>
<td width="96%" height="26" class="title">Why use it?</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li>Because it is free software 100% compatible with Clipper compilers</li>
<li>Because it removes some of the limits imposed by the base implementation but the extent of this will depend on your chosen platform.</li>
<li>Because Harbour is proven to be stable, robust and efficient.</li>
<li>Because Harbour supports RDDs (Replaceable Database Drivers) to allow multiple data sources which allows an application to scale.</li>
<li>Because Harbour is portable across multiple operating systems with the same code base.</li>
<li>Because Harbour's architecture is fully open and supports a third-party add on market.</li>
<li>Because Harbour is open-source and therefore you are not at the mercy of the decisions of a private company.</li>
<li>Because Harbour is developed by a very experienced and capable team of developers.<br />
<br />
Most importantly, try Harbour for yourself, decide for yourself why it has advantages for <strong>you</strong>. This product will be an harbour for clipper.</li>
</ul></td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - About</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">About Harbour</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Harbour is a compiler for the xBase superset language often referred to as Clipper (the language that is implemented by the compiler CA-Clipper). Harbour is a cross-platform compiler and is known to compile and run on:<br /><ul>
<li>MS-DOS,</li>
<li>Windows (32 &amp; 64),</li>
<li>Windows CE,</li>
<li>Pocket PC,</li>
<li>OS/2,</li>
<li>GNU/Linux,</li>
<li>Mac OSX.</li>
</ul>
Harbour is a free and open-source project. It can be used to make open source applications, free or commercial products. To learn more about Harbour licence <a href="license.html" class="black_link">click here</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL"><span class="title"><a name="why" id="why"></a></span></td>
<td width="96%" height="26" class="title">Why use it?</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li>Because it is free software 100% compatible with Clipper compilers</li>
<li>Because it removes some of the limits imposed by the base implementation but the extent of this will depend on your chosen platform.</li>
<li>Because Harbour is proven to be stable, robust and efficient.</li>
<li>Because Harbour supports RDDs (Replaceable Database Drivers) to allow multiple data sources which allows an application to scale.</li>
<li>Because Harbour is portable across multiple operating systems with the same code base.</li>
<li>Because Harbour's architecture is fully open and supports a third-party add on market.</li>
<li>Because Harbour is open-source and therefore you are not at the mercy of the decisions of a private company.</li>
<li>Because Harbour is developed by a very experienced and capable team of developers.<br />
<br />
Most importantly, try Harbour for yourself, decide for yourself why it has advantages for <strong>you</strong>. This product will be an harbour for clipper.</li>
</ul></td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,80 +1,80 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Changelog</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">Changelog</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Through the ChangeLog you can give a list of amendments that were added to the repository project. This list is updated frequently by developers and is available at:<br />
<br />
<a href="http://harbour-project.svn.sourceforge.net/viewvc/harbour-project/trunk/harbour/ChangeLog" target="_blank" class="blue_link"> http://harbour-project.svn.sourceforge.net/viewvc/harbour-project/trunk/harbour/ChangeLog</a></td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Changelog</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">Changelog</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Through the ChangeLog you can give a list of amendments that were added to the repository project. This list is updated frequently by developers and is available at:<br />
<br />
<a href="http://harbour-project.svn.sourceforge.net/viewvc/harbour-project/trunk/harbour/ChangeLog" target="_blank" class="blue_link"> http://harbour-project.svn.sourceforge.net/viewvc/harbour-project/trunk/harbour/ChangeLog</a></td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,120 +1,120 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Contact US</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script>
</head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">Contact us</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="read_more"><strong>Important:</strong> Note that this program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. <a href="license.html" class="sample_linkback">Read more </a>»</span></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><strong>Webmaster</strong><br />
Do you have a question or concern regarding the functionality of this site? <a href="mailto:vailtom@gmail.com" class="blue_link">Click here</a> and send an email to the webmaster or post a topic in our mailing with the subject &quot;website&quot;.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><strong>Suggestions?</strong><br />
To contribute to the project by sending us suggestions or other contributions, just register in our mailling and submit your topic. To access our mailing list <a href="mailing.html" class="blue_link">clicking here</a>.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><strong>Need support?</strong><br />
Although this is an open project and without any implicit or explicit support, some professionals have joined our mailing lists with the intention of voluntarily helping users. For more info visit our list <a href="mailing.html" class="blue_link">clicking here</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Contact US</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script>
</head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">Contact us</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="read_more"><strong>Important:</strong> Note that this program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. <a href="license.html" class="sample_linkback">Read more </a>»</span></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><strong>Webmaster</strong><br />
Do you have a question or concern regarding the functionality of this site? <a href="mailto:vailtom@gmail.com" class="blue_link">Click here</a> and send an email to the webmaster or post a topic in our mailing with the subject &quot;website&quot;.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><strong>Suggestions?</strong><br />
To contribute to the project by sending us suggestions or other contributions, just register in our mailling and submit your topic. To access our mailing list <a href="mailing.html" class="blue_link">clicking here</a>.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><strong>Need support?</strong><br />
Although this is an open project and without any implicit or explicit support, some professionals have joined our mailing lists with the intention of voluntarily helping users. For more info visit our list <a href="mailing.html" class="blue_link">clicking here</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,78 +1,78 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Empty</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">Title Here</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Another long text here</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright c 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Empty</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">Title Here</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Another long text here</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright c 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -1,456 +1,456 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Contribution</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script>
<style type="text/css">
<!--
.style2 {color: #0099CC}
-->
</style>
</head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">Harbour Contributions</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Contributions are 3rd party libraries, sources or other products, which are bundled with the main Harbour distribution. The contrib is available in the ZIP package that contains the sources of Harbour Project.<br />
<br />
<em> Important: Common to all contributions is that you can download them freely but please note the licensing terms, which are included in the distribution folder.<a href="about.html" class="black_link"></a></em></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo">gtAlleg</span><br />
<span class="read_more"><span class="crew_mail">Author: Mauricio Abre &lt;maurifull@datafull.com&gt;</span><br />
</span>Allegro based virtual GT with graphic extensions. This GT driver uses the powerful Allegro library to create windows also Allegro library is mostly used for game programming.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
gtwvg</span><br />
<span class="read_more"><span class="crew_mail">Author: Pritpal Bedi &lt;pritpal@vouchcac.com&gt;</span></span><br />
This library can be used for pure console applications instead of GTWVT. But if used with GUI extensions, very appealing Windows screens without sacrificing the Clipper syntax. Additionally GTWVG has a nice set of Wvt*Classes() which employ the common event loop.<br />
&nbsp; <br />
You can create high performance dialogs with multiple Tbrowe, Reads, Bitmaps, Buttons, i.e. all GUI elements you can think of.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbbmcdx</span><br />
RDD bmdbfcdx compatible with dbfcdx of harbour, with bitmap filters and other extensions.&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbct</span><br />
This library has functions and procedures compatible with the famous Clipper Tools for CA-Clipper (CT.LIB).</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbcurl</span><br />
<span class="read_more"><span class="crew_mail">Authors: Viktor Szakáts / Luiz Rafael Culik Guimaraes</span></span><br />
This is a Harbour interface for libcurl. Note what libcurl is a free and easy-to-use client-side URL transfer library, supporting FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS and FILE. <br />
<br />
libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, Kerberos4), file transfer resume, http proxy tunneling and more! See more info at <a href="http://curl.haxx.se/libcurl/" class="black_link">http://curl.haxx.se/libcurl</a>.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbfbird</span><br />
<span class="read_more"><span class="crew_mail">Author: Rodrigo Moreno &lt;rodrigo_moreno@yahoo.com&gt;</span></span><br />
Harbour Low Level api for Firebird and Interbase RDBMS, including classes and functions to work with these RDBMS.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbfimage</span><br />
<span class="read_more"><span class="crew_mail">Author: Francesco Saverio Giudice &lt;info@fsgiudice.com&gt;</span></span><br />
FreeImage graphic library low level (client api) interface code for Harbour. FreeImage Library is a porting to Harbour of famous FreeImage Project library. FreeImage is an Open Source library project for developers who would like to support popular graphics image formats like PNG, BMP, JPEG, TIFF and others as needed by today's multimedia applications.<br />
<br />
FreeImage is easy to use, fast, multithreading safe, compatible with all 32-bit versions of Windows, and cross-platform (works both with Linux and Mac ). See more at <a href="http://freeimage.sourceforge.net/" class="black_link">http://freeimage.sourceforge.net/</a></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbgd</span><br />
<span class="read_more"><span class="crew_mail">Authors: Francesco Saverio Giudice &lt;info@fsgiudice.com&gt; / Laverson Espíndola &lt;laverson.espindola@gmail.com&gt;</span></span><br />
HBGD is basically a wrapper of Thomas Boutell's GD Library version 2.0.33 for Harbour. The GD Library is a powerfull graphic library very usefull expecially under CGI environment. HBGD actually contains almost all GD functions, more a set of functions that extends original library and a set of classes that make easier to work with this library. More info at <a href="http://www.boutell.com/gd/" class="black_link">http://www.boutell.com/gd/</a></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbgf</span><br />
Portable functions for creating GUI objects like windows, menus, buttons, etc. inside prg source code. Supports Win32, GTK &amp; OS /2.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbgt</span><br /> Several functions for manipulation of strings and some generic compatible with Flagship.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbhpdf</span><br />
<span class="read_more"><span class="crew_mail">Author: Pritpal Bedi &lt;pritpal@hotmail.com&gt;</span></span><br />
HaruLib wrappers for Harbour. Haru is a free, cross platform, open-sourced software library for generating PDF written in ANSI-C. More info at <a href="http://www.libharu.org" class="black_link">http://www.libharu.org</a> and <a href="http://sourceforge.net/projects/libharu/" class="black_link">http://sourceforge.net/projects/libharu</a></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbmisc</span><br />
Misc functions for manipulating strings, numbers, type conversions, classes for working with HTML and files, etc.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbmysql<br />
</span><span class="read_more"><span class="crew_mail">Author: Maurilio Longo &lt;maurilio.longo@libero.it&gt;</span></span><br />
Harbour MySQL access classes. Includes a dbf2mysql.prg utility to converts a .dbf file into a MySQL table.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbmzip</span><br />
This library contains compression related functions to work with zip file support based on minizip library (http://www.winimage.com/zLibDll/minizip.html) including:
<ul>
<li>minizip version 1.01e source files</li>
<li>wrapper functions for minizip</li>
<li>some additionl functions to provide a higher level API for zip files</li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbNF<br />
</span>A port in Harbour of the Nanforum Library for Clipper.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbodbc<br />
</span>Harbour ODBC Library. Includes functions, procedures and classes to work with various RDBMS.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbpgsql<br />
</span><span class="read_more"><span class="crew_mail">Author: Maurilio Longo &lt;maurilio.longo@libero.it&gt;</span></span><br />
Harbour Low Level api for Postgres RDBMS. Includes a dbf2pg.prg utility to converts a .dbf file into a Postgres table.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbsqlit3<br />
</span><span class="read_more"><span class="crew_mail">Author: P.Chornyj &lt;myorg63@mail.ru&gt;</span></span><br />
Harbour interface for SQLite version 3. This library allow access a sqlite database using Harbour.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbssl<br />
</span><span class="read_more"><span class="crew_mail">Author: Viktor Szakáts</span></span><br />
OpenSSL API Harbour interface. Supports SSL, SSL_CIPHER, SSL_CTX, RAND, SSL_SESSION functions.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbtip<br />
</span>
TIP Class oriented Internet protocol library for Harbour. Supports FTP, POP3, HTTP and more.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbtpathy<br />
</span><span class="read_more"><span class="crew_mail">Author: Maurilio Longo &lt;maurilio.longo@libero.it&gt;</span></span><br />
Telepathy emulation library. Telepathy is the best serial communication library for Nantucket/CA Clipper and this library has a significant amount of the functionality contained in Telepathy in
this Harbour port.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbvpdf<br />
</span><span class="read_more"><span class="crew_mail">Author: Victor K. &lt;http://www.ihaveparts.com&gt;</span></span><br />
This is a pure Clipper Pdf Library what includes Harbour support and runs without the need for external files.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbwin<br />
</span>This library has functions, procedures and classes to access Win32 API.
Among these features are:
<ul>
<li>Windows registry</li>
<li>Printing subsystem for Win32 using GUI printing</li>
<li>Support for OLE objects</li>
<li>DLL handling functions<br />
and more.<br />
</li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
rddado<br />
</span><span class="read_more"><span class="crew_mail">Author: Fernando Mancera &lt;fmancera@viaopen.com&gt; / Antonio Linares &lt;alinares@fivetechsoft.com&gt;</span></span><br />
ADORDD - RDD to automatically manage Microsoft ADO databases.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
rddads<br />
</span><span class="read_more"><span class="crew_mail">Author: Alexander Kresin &lt;alex@belacy.belgorod.su&gt;</span></span><br />
RDDADS is an RDD for the Advantage Database Server, an xBase data server by Extended Systems. With this library your Harbour application can access a remote database server for a
true client/server architecture, or it can use the &quot;local server&quot; ADSLOC32.DLL for stand-alone or even small network installations. For more info visit <a href="http://www.advantagedatabase.com" class="black_link">http://www.advantagedatabase.com</a></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
rddsql<br />
</span><span class="read_more"><span class="crew_mail">Author: Mindaugas Kavaliauskas &lt;dbtopas at dbtopas.lt&gt;</span></span><br />
SQL MIX (Memory Index) Database Driver. This library provides access to FB, MySQL and PostgreSQL servers.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
xhb<br />
</span>Files containing functions, procedures and defines for cross-compatibility with xHarbour project.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Contribution</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script>
<style type="text/css">
<!--
.style2 {color: #0099CC}
-->
</style>
</head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">Harbour Contributions</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Contributions are 3rd party libraries, sources or other products, which are bundled with the main Harbour distribution. The contrib is available in the ZIP package that contains the sources of Harbour Project.<br />
<br />
<em> Important: Common to all contributions is that you can download them freely but please note the licensing terms, which are included in the distribution folder.<a href="about.html" class="black_link"></a></em></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo">gtAlleg</span><br />
<span class="read_more"><span class="crew_mail">Author: Mauricio Abre &lt;maurifull@datafull.com&gt;</span><br />
</span>Allegro based virtual GT with graphic extensions. This GT driver uses the powerful Allegro library to create windows also Allegro library is mostly used for game programming.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
gtwvg</span><br />
<span class="read_more"><span class="crew_mail">Author: Pritpal Bedi &lt;pritpal@vouchcac.com&gt;</span></span><br />
This library can be used for pure console applications instead of GTWVT. But if used with GUI extensions, very appealing Windows screens without sacrificing the Clipper syntax. Additionally GTWVG has a nice set of Wvt*Classes() which employ the common event loop.<br />
&nbsp; <br />
You can create high performance dialogs with multiple Tbrowe, Reads, Bitmaps, Buttons, i.e. all GUI elements you can think of.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbbmcdx</span><br />
RDD bmdbfcdx compatible with dbfcdx of harbour, with bitmap filters and other extensions.&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbct</span><br />
This library has functions and procedures compatible with the famous Clipper Tools for CA-Clipper (CT.LIB).</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbcurl</span><br />
<span class="read_more"><span class="crew_mail">Authors: Viktor Szakáts / Luiz Rafael Culik Guimaraes</span></span><br />
This is a Harbour interface for libcurl. Note what libcurl is a free and easy-to-use client-side URL transfer library, supporting FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS and FILE. <br />
<br />
libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, Kerberos4), file transfer resume, http proxy tunneling and more! See more info at <a href="http://curl.haxx.se/libcurl/" class="black_link">http://curl.haxx.se/libcurl</a>.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbfbird</span><br />
<span class="read_more"><span class="crew_mail">Author: Rodrigo Moreno &lt;rodrigo_moreno@yahoo.com&gt;</span></span><br />
Harbour Low Level api for Firebird and Interbase RDBMS, including classes and functions to work with these RDBMS.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbfimage</span><br />
<span class="read_more"><span class="crew_mail">Author: Francesco Saverio Giudice &lt;info@fsgiudice.com&gt;</span></span><br />
FreeImage graphic library low level (client api) interface code for Harbour. FreeImage Library is a porting to Harbour of famous FreeImage Project library. FreeImage is an Open Source library project for developers who would like to support popular graphics image formats like PNG, BMP, JPEG, TIFF and others as needed by today's multimedia applications.<br />
<br />
FreeImage is easy to use, fast, multithreading safe, compatible with all 32-bit versions of Windows, and cross-platform (works both with Linux and Mac ). See more at <a href="http://freeimage.sourceforge.net/" class="black_link">http://freeimage.sourceforge.net/</a></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbgd</span><br />
<span class="read_more"><span class="crew_mail">Authors: Francesco Saverio Giudice &lt;info@fsgiudice.com&gt; / Laverson Espíndola &lt;laverson.espindola@gmail.com&gt;</span></span><br />
HBGD is basically a wrapper of Thomas Boutell's GD Library version 2.0.33 for Harbour. The GD Library is a powerfull graphic library very usefull expecially under CGI environment. HBGD actually contains almost all GD functions, more a set of functions that extends original library and a set of classes that make easier to work with this library. More info at <a href="http://www.boutell.com/gd/" class="black_link">http://www.boutell.com/gd/</a></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbgf</span><br />
Portable functions for creating GUI objects like windows, menus, buttons, etc. inside prg source code. Supports Win32, GTK &amp; OS /2.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbgt</span><br /> Several functions for manipulation of strings and some generic compatible with Flagship.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbhpdf</span><br />
<span class="read_more"><span class="crew_mail">Author: Pritpal Bedi &lt;pritpal@hotmail.com&gt;</span></span><br />
HaruLib wrappers for Harbour. Haru is a free, cross platform, open-sourced software library for generating PDF written in ANSI-C. More info at <a href="http://www.libharu.org" class="black_link">http://www.libharu.org</a> and <a href="http://sourceforge.net/projects/libharu/" class="black_link">http://sourceforge.net/projects/libharu</a></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbmisc</span><br />
Misc functions for manipulating strings, numbers, type conversions, classes for working with HTML and files, etc.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbmysql<br />
</span><span class="read_more"><span class="crew_mail">Author: Maurilio Longo &lt;maurilio.longo@libero.it&gt;</span></span><br />
Harbour MySQL access classes. Includes a dbf2mysql.prg utility to converts a .dbf file into a MySQL table.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbmzip</span><br />
This library contains compression related functions to work with zip file support based on minizip library (http://www.winimage.com/zLibDll/minizip.html) including:
<ul>
<li>minizip version 1.01e source files</li>
<li>wrapper functions for minizip</li>
<li>some additionl functions to provide a higher level API for zip files</li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbNF<br />
</span>A port in Harbour of the Nanforum Library for Clipper.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbodbc<br />
</span>Harbour ODBC Library. Includes functions, procedures and classes to work with various RDBMS.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbpgsql<br />
</span><span class="read_more"><span class="crew_mail">Author: Maurilio Longo &lt;maurilio.longo@libero.it&gt;</span></span><br />
Harbour Low Level api for Postgres RDBMS. Includes a dbf2pg.prg utility to converts a .dbf file into a Postgres table.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbsqlit3<br />
</span><span class="read_more"><span class="crew_mail">Author: P.Chornyj &lt;myorg63@mail.ru&gt;</span></span><br />
Harbour interface for SQLite version 3. This library allow access a sqlite database using Harbour.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbssl<br />
</span><span class="read_more"><span class="crew_mail">Author: Viktor Szakáts</span></span><br />
OpenSSL API Harbour interface. Supports SSL, SSL_CIPHER, SSL_CTX, RAND, SSL_SESSION functions.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbtip<br />
</span>
TIP Class oriented Internet protocol library for Harbour. Supports FTP, POP3, HTTP and more.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbtpathy<br />
</span><span class="read_more"><span class="crew_mail">Author: Maurilio Longo &lt;maurilio.longo@libero.it&gt;</span></span><br />
Telepathy emulation library. Telepathy is the best serial communication library for Nantucket/CA Clipper and this library has a significant amount of the functionality contained in Telepathy in
this Harbour port.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbvpdf<br />
</span><span class="read_more"><span class="crew_mail">Author: Victor K. &lt;http://www.ihaveparts.com&gt;</span></span><br />
This is a pure Clipper Pdf Library what includes Harbour support and runs without the need for external files.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
hbwin<br />
</span>This library has functions, procedures and classes to access Win32 API.
Among these features are:
<ul>
<li>Windows registry</li>
<li>Printing subsystem for Win32 using GUI printing</li>
<li>Support for OLE objects</li>
<li>DLL handling functions<br />
and more.<br />
</li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
rddado<br />
</span><span class="read_more"><span class="crew_mail">Author: Fernando Mancera &lt;fmancera@viaopen.com&gt; / Antonio Linares &lt;alinares@fivetechsoft.com&gt;</span></span><br />
ADORDD - RDD to automatically manage Microsoft ADO databases.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
rddads<br />
</span><span class="read_more"><span class="crew_mail">Author: Alexander Kresin &lt;alex@belacy.belgorod.su&gt;</span></span><br />
RDDADS is an RDD for the Advantage Database Server, an xBase data server by Extended Systems. With this library your Harbour application can access a remote database server for a
true client/server architecture, or it can use the &quot;local server&quot; ADSLOC32.DLL for stand-alone or even small network installations. For more info visit <a href="http://www.advantagedatabase.com" class="black_link">http://www.advantagedatabase.com</a></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
rddsql<br />
</span><span class="read_more"><span class="crew_mail">Author: Mindaugas Kavaliauskas &lt;dbtopas at dbtopas.lt&gt;</span></span><br />
SQL MIX (Memory Index) Database Driver. This library provides access to FB, MySQL and PostgreSQL servers.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="texto_subtitulo_maiusculo"><br />
xhb<br />
</span>Files containing functions, procedures and defines for cross-compatibility with xHarbour project.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,78 +1,78 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Empty</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">Title Here</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Another long text here</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Empty</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">Title Here</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Another long text here</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,140 +1,140 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<LINK REV="made" HREF="mailto:harbour-faq@netfang.net">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>What other tools do I need?</TITLE>
</HEAD>
<BODY text="#000000" bgcolor="#ffffff">
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour20.html"><EM>Helping develop Harbour</EM></A>
<b>:</b> <EM>What other tools do I need?</EM><BR>
<b>Previous:</b> <A HREF="harbour22.html"><EM>What C compiler should I use?</EM></A><BR>
<b>Next:</b> <A HREF="harbour24.html"><EM>Where can I find the source?</EM></A>
<HR NOSHADE>
<H2><A NAME="23"></A>3.3. What other tools do I need?</H2>
<p>To build Harbour you'll need the following tools:</p>
<p>
<ul>
<li>A C compiler.
<p>Please see the FAQ section entitled
<A HREF="harbour22.html#WhatC">What C compiler should I use?</A> for more details on choosing a C compiler.</p>
</li>
<li>A make utility.
<p>Most platform/compiler combinations within Harbour make use of <A href="http://www.gnu.org/software/make/">GNU make</A>, some developers
use other make utilities, you'll need to speak to them if you want to ignore
the GNU make files.</p>
<p>You should be able to find GNU make at:</p>
<p>
<ul>
<li>Microsoft Windows
<p><A href="http://www.steve.org.uk/Software/make/">http://www.steve.org.uk/Software/make/</A></p>
</li>
<li>DOS
<p><A href="ftp://ftp.cdrom.com/pub/simtelnet/gnu/djgpp/v2gnu/mak379b.zip">ftp://ftp.cdrom.com/pub/simtelnet/gnu/djgpp/v2gnu/mak379b.zip</A></p>
</li>
<li>GNU/Linux
<p>Most (if not all) GNU/Linux distributions come with GNU make. If you can't
find the make utility on your system you should look on your install CDs
and/or the ftp site for your distribution.</p>
</li>
<li>OS/2
<p><A href="ftp://ftp.leo.org/pub/comp/os/os2/leo/gnu/devtools/gnumake.zip">ftp://ftp.leo.org/pub/comp/os/os2/leo/gnu/devtools/gnumake.zip</A></p>
</li>
<li>Macintosh
<p>TODO: Provide link</p>
</li>
</ul>
</p>
</li>
<li>A copy of flex:
<p>
<ul>
<li>Windows
<p>See the <A href="/download.htm">harbour download page</A>.</p>
</li>
<li>DOS
<p>The <A href="http://www.delorie.com/djgpp/">DJGPP</A> distribution of
GNU tools for DOS includes a port of flex.</p>
</li>
<li>GNU/Linux
<p>Most GNU/Linux distributions come with a copy of flex. If you don't have it
installed you should install it from your distribution media.</p>
</li>
<li>OS/2
<p>TODO: Provide link</p>
</li>
<li>Macintosh
<p>TODO: Provide link</p>
</li>
</ul>
</p>
</li>
<li>A copy of <A href="http://www.gnu.org/software/bison/bison.html">bison</A>:
<p>
<ul>
<li>Windows
<p>See the <A href="/download.htm">harbour download page</A>.</p>
</li>
<li>DOS
<p>The <A href="http://www.delorie.com/djgpp/">DJGPP</A> distribution of
GNU tools for DOS includes a port of bison.</p>
</li>
<li>GNU/Linux
<p>Most GNU/Linux distributions come with a copy of bison. If you don't have it
installed you should install it from your distribution media.</p>
</li>
<li>OS/2
<p>TODO: Provide link</p>
</li>
<li>Macintosh
<p>TODO: Provide link</p>
</li>
</ul>
</p>
</li>
<li>A CVS client for your chosen platform.
<p>Please see the FAQ section entitled
<A HREF="harbour25.html#WhatIsCVS">What is CVS and how do I use it?</A> for more details on getting a CVS client for your
environment.</p>
</li>
</ul>
</p>
<HR NOSHADE>
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour20.html"><EM>Helping develop Harbour</EM></A>
<b>:</b> <EM>What other tools do I need?</EM><BR>
<b>Previous:</b> <A HREF="harbour22.html"><EM>What C compiler should I use?</EM></A><BR>
<b>Next:</b> <A HREF="harbour24.html"><EM>Where can I find the source?</EM></A>
</BODY>
</HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<LINK REV="made" HREF="mailto:harbour-faq@netfang.net">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>What other tools do I need?</TITLE>
</HEAD>
<BODY text="#000000" bgcolor="#ffffff">
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour20.html"><EM>Helping develop Harbour</EM></A>
<b>:</b> <EM>What other tools do I need?</EM><BR>
<b>Previous:</b> <A HREF="harbour22.html"><EM>What C compiler should I use?</EM></A><BR>
<b>Next:</b> <A HREF="harbour24.html"><EM>Where can I find the source?</EM></A>
<HR NOSHADE>
<H2><A NAME="23"></A>3.3. What other tools do I need?</H2>
<p>To build Harbour you'll need the following tools:</p>
<p>
<ul>
<li>A C compiler.
<p>Please see the FAQ section entitled
<A HREF="harbour22.html#WhatC">What C compiler should I use?</A> for more details on choosing a C compiler.</p>
</li>
<li>A make utility.
<p>Most platform/compiler combinations within Harbour make use of <A href="http://www.gnu.org/software/make/">GNU make</A>, some developers
use other make utilities, you'll need to speak to them if you want to ignore
the GNU make files.</p>
<p>You should be able to find GNU make at:</p>
<p>
<ul>
<li>Microsoft Windows
<p><A href="http://www.steve.org.uk/Software/make/">http://www.steve.org.uk/Software/make/</A></p>
</li>
<li>DOS
<p><A href="ftp://ftp.cdrom.com/pub/simtelnet/gnu/djgpp/v2gnu/mak379b.zip">ftp://ftp.cdrom.com/pub/simtelnet/gnu/djgpp/v2gnu/mak379b.zip</A></p>
</li>
<li>GNU/Linux
<p>Most (if not all) GNU/Linux distributions come with GNU make. If you can't
find the make utility on your system you should look on your install CDs
and/or the ftp site for your distribution.</p>
</li>
<li>OS/2
<p><A href="ftp://ftp.leo.org/pub/comp/os/os2/leo/gnu/devtools/gnumake.zip">ftp://ftp.leo.org/pub/comp/os/os2/leo/gnu/devtools/gnumake.zip</A></p>
</li>
<li>Macintosh
<p>TODO: Provide link</p>
</li>
</ul>
</p>
</li>
<li>A copy of flex:
<p>
<ul>
<li>Windows
<p>See the <A href="/download.htm">harbour download page</A>.</p>
</li>
<li>DOS
<p>The <A href="http://www.delorie.com/djgpp/">DJGPP</A> distribution of
GNU tools for DOS includes a port of flex.</p>
</li>
<li>GNU/Linux
<p>Most GNU/Linux distributions come with a copy of flex. If you don't have it
installed you should install it from your distribution media.</p>
</li>
<li>OS/2
<p>TODO: Provide link</p>
</li>
<li>Macintosh
<p>TODO: Provide link</p>
</li>
</ul>
</p>
</li>
<li>A copy of <A href="http://www.gnu.org/software/bison/bison.html">bison</A>:
<p>
<ul>
<li>Windows
<p>See the <A href="/download.htm">harbour download page</A>.</p>
</li>
<li>DOS
<p>The <A href="http://www.delorie.com/djgpp/">DJGPP</A> distribution of
GNU tools for DOS includes a port of bison.</p>
</li>
<li>GNU/Linux
<p>Most GNU/Linux distributions come with a copy of bison. If you don't have it
installed you should install it from your distribution media.</p>
</li>
<li>OS/2
<p>TODO: Provide link</p>
</li>
<li>Macintosh
<p>TODO: Provide link</p>
</li>
</ul>
</p>
</li>
<li>A CVS client for your chosen platform.
<p>Please see the FAQ section entitled
<A HREF="harbour25.html#WhatIsCVS">What is CVS and how do I use it?</A> for more details on getting a CVS client for your
environment.</p>
</li>
</ul>
</p>
<HR NOSHADE>
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour20.html"><EM>Helping develop Harbour</EM></A>
<b>:</b> <EM>What other tools do I need?</EM><BR>
<b>Previous:</b> <A HREF="harbour22.html"><EM>What C compiler should I use?</EM></A><BR>
<b>Next:</b> <A HREF="harbour24.html"><EM>Where can I find the source?</EM></A>
</BODY>
</HTML>

View File

@@ -1,67 +1,67 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<LINK REV="made" HREF="mailto:harbour-faq@netfang.net">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Where can I find the source?</TITLE>
</HEAD>
<BODY text="#000000" bgcolor="#ffffff">
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour20.html"><EM>Helping develop Harbour</EM></A>
<b>:</b> <EM>Where can I find the source?</EM><BR>
<b>Previous:</b> <A HREF="harbour23.html"><EM>What other tools do I need?</EM></A><BR>
<b>Next:</b> <A HREF="harbour25.html"><EM>What is CVS and how do I use it?</EM></A>
<HR NOSHADE>
<H2><A NAME="24"></A>3.4. Where can I find the source?</H2>
<p>There are three methods of getting the source for harbour, which method you
use will depend on how up-to-date you feel you need to be.
<ul>
<li>The unstable snapshot
<p>A snapshot of the source is made available on the
<A href="/download.htm">Harbour project download web page</A>. Please be aware that this is an <b>unstable</b>
snapshot. Using this source could make all sorts of horrible things happen
- it might not even compile. You have been warned.</p>
</li>
<li>The stable snapshot
<p>Once in a while a stable snapshot of the Harbour source is made available
from the <A href="/download.htm">download page</A>
of the <A href="/">Harbour project web site</A>.
These snapshots are referred to as
&quot;releases&quot; and are considered stable in that the source will
compile and there are no known showstoppers in the compiler, virtual machine
or run-time library.</p>
<p>If you like to play with alpha quality software but want to feel safe doing
so then a stable release is for you.</p>
</li>
<li>Direct CVS access
<p>The best and most direct method of getting Harbour source is from the CVS
server. This is where the
<A HREF="harbour9.html#WhoDevelopers">Harbour developers</A>
work on the source for Harbour (actually, they all work on their own
machines, this server gives them, in effect, a virtual shared directory).</p>
<p>If you intend to work with Harbour built from the CVS itself you should
really consider subscribing to the
<A HREF="harbour35.html#DevMailList">developer's mailing list</A>.</p>
</li>
</ul>
</p>
<p>Please note that if you do want to help develop Harbour then the last option
is the best option (and, in the long term, the only useful option for all
concerned).</p>
<HR NOSHADE>
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour20.html"><EM>Helping develop Harbour</EM></A>
<b>:</b> <EM>Where can I find the source?</EM><BR>
<b>Previous:</b> <A HREF="harbour23.html"><EM>What other tools do I need?</EM></A><BR>
<b>Next:</b> <A HREF="harbour25.html"><EM>What is CVS and how do I use it?</EM></A>
</BODY>
</HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<LINK REV="made" HREF="mailto:harbour-faq@netfang.net">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Where can I find the source?</TITLE>
</HEAD>
<BODY text="#000000" bgcolor="#ffffff">
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour20.html"><EM>Helping develop Harbour</EM></A>
<b>:</b> <EM>Where can I find the source?</EM><BR>
<b>Previous:</b> <A HREF="harbour23.html"><EM>What other tools do I need?</EM></A><BR>
<b>Next:</b> <A HREF="harbour25.html"><EM>What is CVS and how do I use it?</EM></A>
<HR NOSHADE>
<H2><A NAME="24"></A>3.4. Where can I find the source?</H2>
<p>There are three methods of getting the source for harbour, which method you
use will depend on how up-to-date you feel you need to be.
<ul>
<li>The unstable snapshot
<p>A snapshot of the source is made available on the
<A href="/download.htm">Harbour project download web page</A>. Please be aware that this is an <b>unstable</b>
snapshot. Using this source could make all sorts of horrible things happen
- it might not even compile. You have been warned.</p>
</li>
<li>The stable snapshot
<p>Once in a while a stable snapshot of the Harbour source is made available
from the <A href="/download.htm">download page</A>
of the <A href="/">Harbour project web site</A>.
These snapshots are referred to as
&quot;releases&quot; and are considered stable in that the source will
compile and there are no known showstoppers in the compiler, virtual machine
or run-time library.</p>
<p>If you like to play with alpha quality software but want to feel safe doing
so then a stable release is for you.</p>
</li>
<li>Direct CVS access
<p>The best and most direct method of getting Harbour source is from the CVS
server. This is where the
<A HREF="harbour9.html#WhoDevelopers">Harbour developers</A>
work on the source for Harbour (actually, they all work on their own
machines, this server gives them, in effect, a virtual shared directory).</p>
<p>If you intend to work with Harbour built from the CVS itself you should
really consider subscribing to the
<A HREF="harbour35.html#DevMailList">developer's mailing list</A>.</p>
</li>
</ul>
</p>
<p>Please note that if you do want to help develop Harbour then the last option
is the best option (and, in the long term, the only useful option for all
concerned).</p>
<HR NOSHADE>
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour20.html"><EM>Helping develop Harbour</EM></A>
<b>:</b> <EM>Where can I find the source?</EM><BR>
<b>Previous:</b> <A HREF="harbour23.html"><EM>What other tools do I need?</EM></A><BR>
<b>Next:</b> <A HREF="harbour25.html"><EM>What is CVS and how do I use it?</EM></A>
</BODY>
</HTML>

View File

@@ -1,59 +1,59 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<LINK REV="made" HREF="mailto:harbour-faq@netfang.net">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Where can I get pre-built binaries?</TITLE>
</HEAD>
<BODY text="#000000" bgcolor="#ffffff">
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour42.html"><EM>Installing Harbour</EM></A>
<b>:</b> <EM>Where can I get pre-built binaries?</EM><BR>
<b>Previous:</b> <A HREF="harbour42.html"><EM>Installing Harbour</EM></A><BR>
<b>Next:</b> <A HREF="harbour44.html"><EM>General Harbour questions</EM></A>
<HR NOSHADE>
<H2><A NAME="43"></A>5.1. Where can I get pre-built binaries?</H2>
<p>While Harbour is still in development the preferred method of getting a
Harbour binary is to download the source and build it yourself because this
aids the development effort.</p>
<p>However, the
<A HREF="harbour9.html#WhoDevelopers">Harbour developers</A> also
appreciate the efforts of people who don't want to develop Harbour itself
but do want to test it and report bugs. To this end some people maintain
Harbour binaries that are ready to be installed.</p>
<p>Please keep in mind that the following may not be the very latest cut of
Harbour (Harbour changes by the hour while in this early phase of
development) and that some platforms might be better supported than others.
If you see that a platform isn't supported or is out of date please consider
stepping in and making available binaries for that platform.</p>
<p>
<ul>
<li>The
<A href="/download.htm">downloads page</A>
on the <A href="/">Harbour project's web site</A>
contains a number of binary builds of the latest stable snapshot.
</li>
<li><A href="mailto:dholm@jsd-llc.com">David G. Holm</A> is
maintaing a repository of binary builds of stable (and sometimes, in
parallel, unstable) releases at <A href="http://harbour.netfang.net/">http://harbour.netfang.net/</A>.</li>
</ul>
</p>
<p>If you can't find binaries for your environment via the above links then
this means that someone isn't contributing for that environment, perhaps
you'd care to step in and fill that gap?</p>
<HR NOSHADE>
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour42.html"><EM>Installing Harbour</EM></A>
<b>:</b> <EM>Where can I get pre-built binaries?</EM><BR>
<b>Previous:</b> <A HREF="harbour42.html"><EM>Installing Harbour</EM></A><BR>
<b>Next:</b> <A HREF="harbour44.html"><EM>General Harbour questions</EM></A>
</BODY>
</HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<LINK REV="made" HREF="mailto:harbour-faq@netfang.net">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Where can I get pre-built binaries?</TITLE>
</HEAD>
<BODY text="#000000" bgcolor="#ffffff">
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour42.html"><EM>Installing Harbour</EM></A>
<b>:</b> <EM>Where can I get pre-built binaries?</EM><BR>
<b>Previous:</b> <A HREF="harbour42.html"><EM>Installing Harbour</EM></A><BR>
<b>Next:</b> <A HREF="harbour44.html"><EM>General Harbour questions</EM></A>
<HR NOSHADE>
<H2><A NAME="43"></A>5.1. Where can I get pre-built binaries?</H2>
<p>While Harbour is still in development the preferred method of getting a
Harbour binary is to download the source and build it yourself because this
aids the development effort.</p>
<p>However, the
<A HREF="harbour9.html#WhoDevelopers">Harbour developers</A> also
appreciate the efforts of people who don't want to develop Harbour itself
but do want to test it and report bugs. To this end some people maintain
Harbour binaries that are ready to be installed.</p>
<p>Please keep in mind that the following may not be the very latest cut of
Harbour (Harbour changes by the hour while in this early phase of
development) and that some platforms might be better supported than others.
If you see that a platform isn't supported or is out of date please consider
stepping in and making available binaries for that platform.</p>
<p>
<ul>
<li>The
<A href="/download.htm">downloads page</A>
on the <A href="/">Harbour project's web site</A>
contains a number of binary builds of the latest stable snapshot.
</li>
<li><A href="mailto:dholm@jsd-llc.com">David G. Holm</A> is
maintaing a repository of binary builds of stable (and sometimes, in
parallel, unstable) releases at <A href="http://harbour.netfang.net/">http://harbour.netfang.net/</A>.</li>
</ul>
</p>
<p>If you can't find binaries for your environment via the above links then
this means that someone isn't contributing for that environment, perhaps
you'd care to step in and fill that gap?</p>
<HR NOSHADE>
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour42.html"><EM>Installing Harbour</EM></A>
<b>:</b> <EM>Where can I get pre-built binaries?</EM><BR>
<b>Previous:</b> <A HREF="harbour42.html"><EM>Installing Harbour</EM></A><BR>
<b>Next:</b> <A HREF="harbour44.html"><EM>General Harbour questions</EM></A>
</BODY>
</HTML>

View File

@@ -1,38 +1,38 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<LINK REV="made" HREF="mailto:harbour-faq@netfang.net">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Will Harbour support existing CA-Clipper 3rd party products?</TITLE>
</HEAD>
<BODY text="#000000" bgcolor="#ffffff">
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour44.html"><EM>General Harbour questions</EM></A>
<b>:</b> <EM>Will Harbour support existing CA-Clipper 3rd party products?</EM><BR>
<b>Previous:</b> <A HREF="harbour48.html"><EM>What advantages do other Clipper compilers have over Harbour?</EM></A><BR>
<b>Next:</b> <A HREF="harbour50.html"><EM>Is Harbour a Windows development tool?</EM></A>
<HR NOSHADE>
<H2><A NAME="49"></A>6.5. Will Harbour support existing CA-Clipper 3rd party products?</H2>
<p>No, but the above is the wrong question to ask. The question to ask is
&quot;will existing
<A HREF="harbour5.html#Trademarks">CA-Clipper</A> 3rd party
products support Harbour?&quot;, that's a question you should ask of the
product author.</p>
<p>See the <A href="/">Harbour web site</A>
for details of which 3rd party product authors are currently developing for
Harbour or intend to support Harbour in the near future.</p>
<HR NOSHADE>
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour44.html"><EM>General Harbour questions</EM></A>
<b>:</b> <EM>Will Harbour support existing CA-Clipper 3rd party products?</EM><BR>
<b>Previous:</b> <A HREF="harbour48.html"><EM>What advantages do other Clipper compilers have over Harbour?</EM></A><BR>
<b>Next:</b> <A HREF="harbour50.html"><EM>Is Harbour a Windows development tool?</EM></A>
</BODY>
</HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<LINK REV="made" HREF="mailto:harbour-faq@netfang.net">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Will Harbour support existing CA-Clipper 3rd party products?</TITLE>
</HEAD>
<BODY text="#000000" bgcolor="#ffffff">
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour44.html"><EM>General Harbour questions</EM></A>
<b>:</b> <EM>Will Harbour support existing CA-Clipper 3rd party products?</EM><BR>
<b>Previous:</b> <A HREF="harbour48.html"><EM>What advantages do other Clipper compilers have over Harbour?</EM></A><BR>
<b>Next:</b> <A HREF="harbour50.html"><EM>Is Harbour a Windows development tool?</EM></A>
<HR NOSHADE>
<H2><A NAME="49"></A>6.5. Will Harbour support existing CA-Clipper 3rd party products?</H2>
<p>No, but the above is the wrong question to ask. The question to ask is
&quot;will existing
<A HREF="harbour5.html#Trademarks">CA-Clipper</A> 3rd party
products support Harbour?&quot;, that's a question you should ask of the
product author.</p>
<p>See the <A href="/">Harbour web site</A>
for details of which 3rd party product authors are currently developing for
Harbour or intend to support Harbour in the near future.</p>
<HR NOSHADE>
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour44.html"><EM>General Harbour questions</EM></A>
<b>:</b> <EM>Will Harbour support existing CA-Clipper 3rd party products?</EM><BR>
<b>Previous:</b> <A HREF="harbour48.html"><EM>What advantages do other Clipper compilers have over Harbour?</EM></A><BR>
<b>Next:</b> <A HREF="harbour50.html"><EM>Is Harbour a Windows development tool?</EM></A>
</BODY>
</HTML>

View File

@@ -1,40 +1,40 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<LINK REV="made" HREF="mailto:harbour-faq@netfang.net">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Harbour related links</TITLE>
</HEAD>
<BODY text="#000000" bgcolor="#ffffff">
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour52.html"><EM>Pointers and links</EM></A>
<b>:</b> <EM>Harbour related links</EM><BR>
<b>Previous:</b> <A HREF="harbour52.html"><EM>Pointers and links</EM></A><BR>
<b>Next:</b> <A HREF="harbour54.html"><EM>Articles about Harbour</EM></A>
<HR NOSHADE>
<H2><A NAME="53"></A>7.1. Harbour related links</H2>
<p>
<ul>
<li><A href="/">The Harbour home page</A></li>
<li><A href="http://www.matrixlist.com/pipermail/harbour/">Harbour development mailing list archive</A></li>
<li><A href="http://www.matrixlist.com/pipermail/harbourusers/">Harbour user mailing list archive</A></li>
<li><A href="http://www.matrixlist.com/pipermail/harbourtalk/">Harbour discussion mailing list archive</A></li>
<li><A href="http://harbour.netfang.net/">David G. Holm's Harbour Project page</A>
(includes source and binary archives of recent Harbour builds)</li>
</ul>
</p>
<HR NOSHADE>
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour52.html"><EM>Pointers and links</EM></A>
<b>:</b> <EM>Harbour related links</EM><BR>
<b>Previous:</b> <A HREF="harbour52.html"><EM>Pointers and links</EM></A><BR>
<b>Next:</b> <A HREF="harbour54.html"><EM>Articles about Harbour</EM></A>
</BODY>
</HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<LINK REV="made" HREF="mailto:harbour-faq@netfang.net">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Harbour related links</TITLE>
</HEAD>
<BODY text="#000000" bgcolor="#ffffff">
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour52.html"><EM>Pointers and links</EM></A>
<b>:</b> <EM>Harbour related links</EM><BR>
<b>Previous:</b> <A HREF="harbour52.html"><EM>Pointers and links</EM></A><BR>
<b>Next:</b> <A HREF="harbour54.html"><EM>Articles about Harbour</EM></A>
<HR NOSHADE>
<H2><A NAME="53"></A>7.1. Harbour related links</H2>
<p>
<ul>
<li><A href="/">The Harbour home page</A></li>
<li><A href="http://www.matrixlist.com/pipermail/harbour/">Harbour development mailing list archive</A></li>
<li><A href="http://www.matrixlist.com/pipermail/harbourusers/">Harbour user mailing list archive</A></li>
<li><A href="http://www.matrixlist.com/pipermail/harbourtalk/">Harbour discussion mailing list archive</A></li>
<li><A href="http://harbour.netfang.net/">David G. Holm's Harbour Project page</A>
(includes source and binary archives of recent Harbour builds)</li>
</ul>
</p>
<HR NOSHADE>
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour52.html"><EM>Pointers and links</EM></A>
<b>:</b> <EM>Harbour related links</EM><BR>
<b>Previous:</b> <A HREF="harbour52.html"><EM>Pointers and links</EM></A><BR>
<b>Next:</b> <A HREF="harbour54.html"><EM>Articles about Harbour</EM></A>
</BODY>
</HTML>

View File

@@ -1,41 +1,41 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<LINK REV="made" HREF="mailto:harbour-faq@netfang.net">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Document URL.</TITLE>
</HEAD>
<BODY text="#000000" bgcolor="#ffffff">
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour59.html"><EM>Administrative information</EM></A>
<b>:</b> <EM>Document URL.</EM><BR>
<b>Previous:</b> <A HREF="harbour59.html"><EM>Administrative information</EM></A><BR>
<b>Next:</b> <A HREF="harbour61.html"><EM>Downloading this document.</EM></A>
<HR NOSHADE>
<H2><A NAME="60"></A>8.1. Document URL.</H2>
<p>The primary location of this document is <A href="/faq/">/faq/</A>. There is every
chance that you might be reading this document from another location, this
is perfectly fine. However, keep in mind that only the above URL can be
relied upon to be the most up-to-date copy.</p>
<p><A href="mailto:alex_degarate@hotmail.com">Alejandro de Garate</A> has
translated portions of this document for inclusion in his <A href="http://geocities.com/SiliconValley/Board/5300">Spanish harbour web site</A>. Please note that I can't vouch for the correctness of the content
because I don't speak Spanish.</p>
<p><A href="mailto:xbase@sohu.com">dongming wang</A> has translated this
FAQ into Chinese. See
<A href="http://www.xbase.8u8.com/html/xbase/harbour/harbour-faq/harbour.html">http://www.xbase.8u8.com/html/xbase/harbour/harbour-faq/harbour.html</A>.
Once again, please note that I can't vouch for the correctness of the translation.</p>
<HR NOSHADE>
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour59.html"><EM>Administrative information</EM></A>
<b>:</b> <EM>Document URL.</EM><BR>
<b>Previous:</b> <A HREF="harbour59.html"><EM>Administrative information</EM></A><BR>
<b>Next:</b> <A HREF="harbour61.html"><EM>Downloading this document.</EM></A>
</BODY>
</HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<LINK REV="made" HREF="mailto:harbour-faq@netfang.net">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Document URL.</TITLE>
</HEAD>
<BODY text="#000000" bgcolor="#ffffff">
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour59.html"><EM>Administrative information</EM></A>
<b>:</b> <EM>Document URL.</EM><BR>
<b>Previous:</b> <A HREF="harbour59.html"><EM>Administrative information</EM></A><BR>
<b>Next:</b> <A HREF="harbour61.html"><EM>Downloading this document.</EM></A>
<HR NOSHADE>
<H2><A NAME="60"></A>8.1. Document URL.</H2>
<p>The primary location of this document is <A href="/faq/">/faq/</A>. There is every
chance that you might be reading this document from another location, this
is perfectly fine. However, keep in mind that only the above URL can be
relied upon to be the most up-to-date copy.</p>
<p><A href="mailto:alex_degarate@hotmail.com">Alejandro de Garate</A> has
translated portions of this document for inclusion in his <A href="http://geocities.com/SiliconValley/Board/5300">Spanish harbour web site</A>. Please note that I can't vouch for the correctness of the content
because I don't speak Spanish.</p>
<p><A href="mailto:xbase@sohu.com">dongming wang</A> has translated this
FAQ into Chinese. See
<A href="http://www.xbase.8u8.com/html/xbase/harbour/harbour-faq/harbour.html">http://www.xbase.8u8.com/html/xbase/harbour/harbour-faq/harbour.html</A>.
Once again, please note that I can't vouch for the correctness of the translation.</p>
<HR NOSHADE>
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour59.html"><EM>Administrative information</EM></A>
<b>:</b> <EM>Document URL.</EM><BR>
<b>Previous:</b> <A HREF="harbour59.html"><EM>Administrative information</EM></A><BR>
<b>Next:</b> <A HREF="harbour61.html"><EM>Downloading this document.</EM></A>
</BODY>
</HTML>

View File

@@ -1,37 +1,37 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<LINK REV="made" HREF="mailto:harbour-faq@netfang.net">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Who is developing Harbour?</TITLE>
</HEAD>
<BODY text="#000000" bgcolor="#ffffff">
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour6.html"><EM>About Harbour</EM></A>
<b>:</b> <EM>Who is developing Harbour?</EM><BR>
<b>Previous:</b> <A HREF="harbour8.html"><EM>Why develop Harbour?</EM></A><BR>
<b>Next:</b> <A HREF="harbour10.html"><EM>Who owns Harbour?</EM></A>
<HR NOSHADE>
<H2><A NAME="9"></A>2.3. Who is developing Harbour?<A NAME="WhoDevelopers"></A></H2>
<p>Many people. There are a small handful of people who could be called the
&quot;core development team&quot; but the actual set of people who are
contributing to the project is constantly in flux. Anyone can join the
&quot;development team&quot; and, if you've got something to offer the
project, you'll be more than welcome.</p>
<p>Anyone wondering who the core developers are should pop over to the <A href="/">Harbour project web site</A> and
look at the <A href="/crew.htm">crew list</A>.</p>
<HR NOSHADE>
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour6.html"><EM>About Harbour</EM></A>
<b>:</b> <EM>Who is developing Harbour?</EM><BR>
<b>Previous:</b> <A HREF="harbour8.html"><EM>Why develop Harbour?</EM></A><BR>
<b>Next:</b> <A HREF="harbour10.html"><EM>Who owns Harbour?</EM></A>
</BODY>
</HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<LINK REV="made" HREF="mailto:harbour-faq@netfang.net">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Who is developing Harbour?</TITLE>
</HEAD>
<BODY text="#000000" bgcolor="#ffffff">
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour6.html"><EM>About Harbour</EM></A>
<b>:</b> <EM>Who is developing Harbour?</EM><BR>
<b>Previous:</b> <A HREF="harbour8.html"><EM>Why develop Harbour?</EM></A><BR>
<b>Next:</b> <A HREF="harbour10.html"><EM>Who owns Harbour?</EM></A>
<HR NOSHADE>
<H2><A NAME="9"></A>2.3. Who is developing Harbour?<A NAME="WhoDevelopers"></A></H2>
<p>Many people. There are a small handful of people who could be called the
&quot;core development team&quot; but the actual set of people who are
contributing to the project is constantly in flux. Anyone can join the
&quot;development team&quot; and, if you've got something to offer the
project, you'll be more than welcome.</p>
<p>Anyone wondering who the core developers are should pop over to the <A href="/">Harbour project web site</A> and
look at the <A href="/crew.htm">crew list</A>.</p>
<HR NOSHADE>
<A HREF="harbour.html"><EM>Frequently Asked Questions about Harbour</EM></A>
<b>:</b> <A HREF="harbour6.html"><EM>About Harbour</EM></A>
<b>:</b> <EM>Who is developing Harbour?</EM><BR>
<b>Previous:</b> <A HREF="harbour8.html"><EM>Why develop Harbour?</EM></A><BR>
<b>Next:</b> <A HREF="harbour10.html"><EM>Who owns Harbour?</EM></A>
</BODY>
</HTML>

View File

@@ -1,443 +1,443 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Home</title>
<link rel="stylesheet" type="text/css" href="css/styles.css" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<script type="text/javascript" src="menu/stmenu.js"></script>
</head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" style="background-image:url(images/menu-bg2.png); background-repeat:no-repeat;"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp; </td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">Overview</td>
<td width="2%" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">The Harbour Project is a Free Open Source Software effort to build a multiplatform Clipper language compiler. Harbour consists of the xBase language compiler and the runtime libraries with different terminal plugins and different databases (not just DBF).<br />
<br />
Harbour is a cross-platform compiler and is known to compile and run on MS-DOS, Windows (32 &amp; 64), Windows CE, Pocket PC, OS/2, GNU/Linux and Mac OS X.
<span class="read_more"><a href="about.html" class="black_link">More features »</a></span></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2" height="26" bgcolor="#FFFFEC" class="tabela_box_trans_TL">&nbsp;</td>
<td width="65%" height="26" bgcolor="#FFFFEC" class="title">Why use it?</td>
<td width="3%" height="26" bgcolor="#FFFFEC">&nbsp;</td>
<td width="28%" height="26" bgcolor="#FFFFEC" class="title">Project Status:</td>
<td width="2%" height="26" bgcolor="#FFFFEC" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td bgcolor="#FFFFEC" >&nbsp;</td>
<td valign="top" bgcolor="#FFFFEC">&#8226; Harbour is <em>free software</em> 100% compatible with Clipper compilers<br /> &#8226; Harbour is proven to be <em>stable</em>, <em>robust</em> and <em>efficient</em>.<br /> &#8226; Harbour is <em>portable</em> across multiple operating systems with the same code base.<br /> &#8226; You can use it to develop either open source or commercial applications. <span class="read_more"><a href="about.html#why" class="black_link">Learn more»</a></span></td>
<td valign="top" bgcolor="#FFFFEC"><div align="justify"></div></td>
<td height="35%" valign="top" bgcolor="#FFFFEC"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><strong>Current release:</strong>&nbsp;v3.0.0<br />
<strong>Release Date:</strong>&nbsp;2011-07-17<br />
<strong>Nightly source:</strong>&nbsp;<a href="http://sourceforge.net/projects/harbour-project/files/source/nightly/harbour-nightly-src.zip/download" class="black_link">zip</a>&nbsp;&nbsp;<a href="http://sourceforge.net/projects/harbour-project/files/source/nightly/harbour-nightly.tar.gz/download" class="black_link">tgz</a>&nbsp;&nbsp;<a href="http://sourceforge.net/projects/harbour-project/files/source/nightly/harbour-nightly.tar.bz2/download" class="black_link">bz2</a>&nbsp;&nbsp;<a href="http://sourceforge.net/projects/harbour-project/files/source/nightly/harbour-nightly.tar.xz/download" class="black_link">xz</a><br />
<strong>Nightly binary:</strong>&nbsp;<a href="http://sourceforge.net/projects/harbour-project/files/binaries-windows/nightly/harbour-nightly-win.exe/download" class="black_link">exe</a>&nbsp;&nbsp;<a href="http://sourceforge.net/projects/harbour-project/files/binaries-windows/nightly/harbour-nightly-win.exe/download" class="black_link">7z</a>&nbsp;(win)<br />
</td>
</tr>
<tr>
<td><input type="button" name="button" id="button" value="Download Harbour" onclick="window.location='http://sourceforge.net/projects/harbour-project/files/';"/></td>
</tr>
</table></td>
<td bgcolor="#FFFFEC" >&nbsp;</td>
</tr>
<tr>
<td bgcolor="#FFFFEC" class="tabela_box_trans_BL" >&nbsp;</td>
<td valign="top" bgcolor="#FFFFEC">&nbsp;</td>
<td valign="top" bgcolor="#FFFFEC">&nbsp;</td>
<td valign="top" bgcolor="#FFFFEC">&nbsp;</td>
<td bgcolor="#FFFFEC" class="tabela_box_trans_BR" >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="title">Featured resources:</span></td>
<td >&nbsp;</td>
</tr>
<tr>
<td width="2%" >&nbsp;</td>
<td width="96%" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" background="images/fill-gradient-no-meio.jpg">
<tr valign="bottom">
<td colspan="11">&nbsp;</td>
</tr>
<tr align="center" valign="top">
<td width="15%"><img src="images/sql.png" width="48" height="48" /></td>
<td>&nbsp;</td>
<td width="15%"><img src="images/xml2.png" width="48" height="48" /></td>
<td>&nbsp;</td>
<td width="15%"><img src="images/mobile2.png" width="29" height="48" /></td>
<td>&nbsp;</td>
<td width="15%"><img src="images/interfaces.png" width="47" height="47" /></td>
<td width="2%">&nbsp;</td>
<td width="15%"><img src="images/library.png" width="48" height="48" /></td>
<td width="2%">&nbsp;</td>
<td width="15%"><img src="images/team.png" width="48" height="48" /></td>
</tr>
<tr align="center" valign="top">
<td width="15%"><span class="style1">Native SQL, ADO &amp; ODBC
Support</span></td>
<td width="2%"><span class="style1"></span></td>
<td width="15%"><span class="style1">Support modern tecnologies: XML, FTP, TCP/IP, etc.</span></td>
<td width="2%"><span class="style1"></span></td>
<td width="15%"><span class="style1">Cross-platform: 32/64-bit, Mobile, Mac, etc.</span></td>
<td width="2%"><span class="style1"></span></td>
<td width="15%"><span class="style1">Create Console, GUI, Service &amp; Web Applications</span></td>
<td width="2%"><span class="style1"></span></td>
<td width="15%"><span class="style1">Contains many third party libs with additional features</span></td>
<td width="2%"><span class="style1"></span></td>
<td width="15%"><span class="style1">Developed by a very experienced and capable team of developers</span></td>
</tr>
</table></td>
<td width="2%" >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#F1FFFF">
<tr valign="bottom">
<td width="2" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="65%" height="26" class="title">Licensing</td>
<td width="3%" height="26">&nbsp;</td>
<td width="28%" height="26" class="title">&nbsp;</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Harbour is a free and open-source project. It can be used to make open source applications, free or commercial products. <span class="read_more"><a href="license.html" class="black_link">Read more»</a></span></td>
<td valign="top"><div align="justify"></div></td>
<td height="35%" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><div align="right"><a href="http://sourceforge.net/projects/harbour-project/"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=681&amp;type=13" alt="SourceForge.net Logo" style="border-width: 0pt;" width="150" height="40"></a></div></td>
</tr>
</table></td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td valign="top">&nbsp;</td>
<td valign="top">&nbsp;</td>
</tr>
<tr>
<td width="2%" >&nbsp;</td>
<td width="65%" valign="top"><table width="100%" border="0" align="left" cellpadding="0" cellspacing="0">
<tr>
<td height="23" valign="bottom"><span class="title">Harbour Project Development News</span></td>
</tr>
<tr>
<td><hr /></td>
</tr>
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top"><span class="title_text"><span class="title_date">July 17, 2011</span></span></td>
<td>&nbsp;</td>
<td class="title_text">Harbour 3.0.0 released</td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td>After 1.5 years of strong development and 3600 commits, new stable version 3.0.0 is released. Sources are available on sf.net file area, prebuilt binaries will follow shortly.<br /></td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td class="title_text">&nbsp;</td>
</tr>
<tr>
<td valign="top"><span class="title_text"><span class="title_date">Aug 2, 2010</span></span></td>
<td>&nbsp;</td>
<td class="title_text">Harbour successfully ported to VxWorks RTOS</td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td>In 2010 July with few days of development effort, Harbour has been ported successfully to VxWorks 6.8 Real-Time Operating System (x86 CPU target for now) for both GNU GCC and Wind River C Compiler. Many thanks to Wind River Inc. for making their development package available to our open source compiler project. This means now Harbour can run on cars, planes, rockets and robots. :) See more about the technical details in ChangeLog entry '2010-07-16 18:22 UTC+0200 Viktor Szakats' <a href="http://harbour-project.svn.sourceforge.net/viewvc/harbour-project/trunk/harbour/ChangeLog">here</a><br /></td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td class="title_text">&nbsp;</td>
</tr>
<tr>
<td valign="top"><span class="title_text"><span class="title_date">Jun 3, 2010</span></span></td>
<td>&nbsp;</td>
<td class="title_text">Harbour Mailing Lists address change</td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td>Thanking Phil Barnett for providing the Harbour community a great mailing list
for so many years, today, due to server problems, we have migrated the mailing
lists to Google Groups in agreement with Phil and Harbour admins.
Make sure to revise your subscription settings... <br /></td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td class="title_text">&nbsp;</td>
</tr>
<tr>
<td valign="top"><span class="title_text"><span class="title_date">Dec 23, 2009</span></span></td>
<td>&nbsp;</td>
<td class="title_text">Harbour 2.0.0 unified Windows binary release</td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td>Harbour 2.0.0 (Revision 13372) source archives and Windows binary releases are available for download on sourceforge.net. <span class="read_more"><a href="news.html#20091223" class="black_link">more»</a></span></td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td valign="top"><span class="title_text"><span class="title_date">Dec 22, 2009</span></span></td>
<td>&nbsp;</td>
<td><span class="title_text">Harbour v2.0.0 is released!</span></td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td>After 16 months of intensive development the final version 2.0.0 is finally released. There are many highlights and news in this new release, check out some details and download your copy free. <span class="read_more"><a href="news.html#20091222" class="black_link">more»</a></span></td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td valign="top"><span class="title_text"><span class="title_date">May 13, 2009</span></span></td>
<td>&nbsp;</td>
<td><span class="title_text">SourceForge Community Choice Awards!</span></td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">The SourceForge.net announced the opening of nominations for the fourth annual SourceForge Community Choice Awards. The Harbour project is candidate - nominate us! <span class="read_more"><a href="news.html#20090517" class="black_link">more»</a></span></td>
<td valign="top"><a href="news.html#20090517"><img src="images/cca_nominate-2.png" width="106" height="96" border="0" /></a></td>
</tr>
</table></td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td valign="top">&nbsp;</td>
<td valign="top">&nbsp;</td>
</tr>
<tr>
<td><span class="title_text"><span class="title_date">February 15, 2009</span></span></td>
<td width="2%">&nbsp;</td>
<td><span class="title_text">New website released!</span></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>Released the new layout for our site. This includes details about the project, several examples and will soon include some tutorials. <span class="read_more"><a href="news.html#20090215" class="black_link">more»</a></span></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><span class="title_text"><span class="title_date">September 17, 2008</span></span></td>
<td>&nbsp;</td>
<td><span class="title_text">Harbour v1.0.1 is released!</span></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>Many deployment fixes into General, Core &amp; Contrib sessions. All users should upgrade to receive the latest fixes. <span class="read_more"><a href="news.html#20080917" class="black_link">more»</a></span></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td width="30%"><span class="title_text"><span class="title_date">August 10, 2008</span></span></td>
<td>&nbsp;</td>
<td width="68%"><span class="title_text">Harbour Release v1.0.0</span></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>Many deployment fixes into General, Core &amp; Contrib sessions. All users should upgrade to receive the latest fixes. <span class="read_more"><a href="news1.html#20080810" class="black_link">more»</a></span></td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>See the <a href="news.html" class="black_link">news archive</a> for past news articles. </td>
</tr>
</table></td>
<td width="2%" valign="top">&nbsp;</td>
<td width="31%" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#fef0d1">
<tr valign="bottom">
<td width="6" height="23" class="tabela_box_trans_TL">&nbsp;</td>
<td width="213" height="23"><span class="title">Sample Applications</span></td>
<td width="13" height="23" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="title_color"><hr /></td>
</tr>
<tr>
<td class="title_color"><a href="samples/hello.html" class="blue_link"><strong>Hello world</strong></a></td>
</tr>
<tr>
<td><a href="samples/hello.html" class="sample_linkback"> Hello world A single Hello World with a typical welcome message.</a></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td class="title_color"><a href="samples/foreach.html" class="blue_link"><strong>FOR EACH example</strong></a></td>
</tr>
<tr>
<td><a href="samples/foreach.html" class="sample_linkback">This example demonstrates how to use the FOR EACH command.</a></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><a href="samples/testcgi.html" class="blue_link"><strong>CGI/HTML-Generator class</strong></a></td>
</tr>
<tr>
<td><a href="samples/testcgi.html" class="sample_linkback">This example shows how to work with Web pages using a custom class to manipulate data coming from a file and returns it to web browser.</a></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><a href="samples/parseini.html" class="blue_link"><strong>Ini file reading/writing</strong></a></td>
</tr>
<tr>
<td><a href="samples/parseini.html" class="sample_linkback">Test for Ini files reading/writing using native Harbour functions. </a></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><a href="samples/testbrdb.html" class="blue_link"><strong>TBrowse and TBColumn sample</strong></a></td>
</tr>
<tr>
<td><a href="samples/testbrw.html" class="sample_linkback">A simple example demonstrating the use of classes TBrowse and TBColumn.</a></td>
</tr>
</table></td>
<td>&nbsp;</td>
</tr>
<tr>
<td class="tabela_box_trans_BL">&nbsp;</td>
<td>&nbsp;</td>
<td class="tabela_box_trans_BR">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a></div>&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Home</title>
<link rel="stylesheet" type="text/css" href="css/styles.css" />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<script type="text/javascript" src="menu/stmenu.js"></script>
</head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" style="background-image:url(images/menu-bg2.png); background-repeat:no-repeat;"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp; </td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">Overview</td>
<td width="2%" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">The Harbour Project is a Free Open Source Software effort to build a multiplatform Clipper language compiler. Harbour consists of the xBase language compiler and the runtime libraries with different terminal plugins and different databases (not just DBF).<br />
<br />
Harbour is a cross-platform compiler and is known to compile and run on MS-DOS, Windows (32 &amp; 64), Windows CE, Pocket PC, OS/2, GNU/Linux and Mac OS X.
<span class="read_more"><a href="about.html" class="black_link">More features »</a></span></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2" height="26" bgcolor="#FFFFEC" class="tabela_box_trans_TL">&nbsp;</td>
<td width="65%" height="26" bgcolor="#FFFFEC" class="title">Why use it?</td>
<td width="3%" height="26" bgcolor="#FFFFEC">&nbsp;</td>
<td width="28%" height="26" bgcolor="#FFFFEC" class="title">Project Status:</td>
<td width="2%" height="26" bgcolor="#FFFFEC" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td bgcolor="#FFFFEC" >&nbsp;</td>
<td valign="top" bgcolor="#FFFFEC">&#8226; Harbour is <em>free software</em> 100% compatible with Clipper compilers<br /> &#8226; Harbour is proven to be <em>stable</em>, <em>robust</em> and <em>efficient</em>.<br /> &#8226; Harbour is <em>portable</em> across multiple operating systems with the same code base.<br /> &#8226; You can use it to develop either open source or commercial applications. <span class="read_more"><a href="about.html#why" class="black_link">Learn more»</a></span></td>
<td valign="top" bgcolor="#FFFFEC"><div align="justify"></div></td>
<td height="35%" valign="top" bgcolor="#FFFFEC"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><strong>Current release:</strong>&nbsp;v3.0.0<br />
<strong>Release Date:</strong>&nbsp;2011-07-17<br />
<strong>Nightly source:</strong>&nbsp;<a href="http://sourceforge.net/projects/harbour-project/files/source/nightly/harbour-nightly-src.zip/download" class="black_link">zip</a>&nbsp;&nbsp;<a href="http://sourceforge.net/projects/harbour-project/files/source/nightly/harbour-nightly.tar.gz/download" class="black_link">tgz</a>&nbsp;&nbsp;<a href="http://sourceforge.net/projects/harbour-project/files/source/nightly/harbour-nightly.tar.bz2/download" class="black_link">bz2</a>&nbsp;&nbsp;<a href="http://sourceforge.net/projects/harbour-project/files/source/nightly/harbour-nightly.tar.xz/download" class="black_link">xz</a><br />
<strong>Nightly binary:</strong>&nbsp;<a href="http://sourceforge.net/projects/harbour-project/files/binaries-windows/nightly/harbour-nightly-win.exe/download" class="black_link">exe</a>&nbsp;&nbsp;<a href="http://sourceforge.net/projects/harbour-project/files/binaries-windows/nightly/harbour-nightly-win.exe/download" class="black_link">7z</a>&nbsp;(win)<br />
</td>
</tr>
<tr>
<td><input type="button" name="button" id="button" value="Download Harbour" onclick="window.location='http://sourceforge.net/projects/harbour-project/files/';"/></td>
</tr>
</table></td>
<td bgcolor="#FFFFEC" >&nbsp;</td>
</tr>
<tr>
<td bgcolor="#FFFFEC" class="tabela_box_trans_BL" >&nbsp;</td>
<td valign="top" bgcolor="#FFFFEC">&nbsp;</td>
<td valign="top" bgcolor="#FFFFEC">&nbsp;</td>
<td valign="top" bgcolor="#FFFFEC">&nbsp;</td>
<td bgcolor="#FFFFEC" class="tabela_box_trans_BR" >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="title">Featured resources:</span></td>
<td >&nbsp;</td>
</tr>
<tr>
<td width="2%" >&nbsp;</td>
<td width="96%" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" background="images/fill-gradient-no-meio.jpg">
<tr valign="bottom">
<td colspan="11">&nbsp;</td>
</tr>
<tr align="center" valign="top">
<td width="15%"><img src="images/sql.png" width="48" height="48" /></td>
<td>&nbsp;</td>
<td width="15%"><img src="images/xml2.png" width="48" height="48" /></td>
<td>&nbsp;</td>
<td width="15%"><img src="images/mobile2.png" width="29" height="48" /></td>
<td>&nbsp;</td>
<td width="15%"><img src="images/interfaces.png" width="47" height="47" /></td>
<td width="2%">&nbsp;</td>
<td width="15%"><img src="images/library.png" width="48" height="48" /></td>
<td width="2%">&nbsp;</td>
<td width="15%"><img src="images/team.png" width="48" height="48" /></td>
</tr>
<tr align="center" valign="top">
<td width="15%"><span class="style1">Native SQL, ADO &amp; ODBC
Support</span></td>
<td width="2%"><span class="style1"></span></td>
<td width="15%"><span class="style1">Support modern tecnologies: XML, FTP, TCP/IP, etc.</span></td>
<td width="2%"><span class="style1"></span></td>
<td width="15%"><span class="style1">Cross-platform: 32/64-bit, Mobile, Mac, etc.</span></td>
<td width="2%"><span class="style1"></span></td>
<td width="15%"><span class="style1">Create Console, GUI, Service &amp; Web Applications</span></td>
<td width="2%"><span class="style1"></span></td>
<td width="15%"><span class="style1">Contains many third party libs with additional features</span></td>
<td width="2%"><span class="style1"></span></td>
<td width="15%"><span class="style1">Developed by a very experienced and capable team of developers</span></td>
</tr>
</table></td>
<td width="2%" >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#F1FFFF">
<tr valign="bottom">
<td width="2" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="65%" height="26" class="title">Licensing</td>
<td width="3%" height="26">&nbsp;</td>
<td width="28%" height="26" class="title">&nbsp;</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Harbour is a free and open-source project. It can be used to make open source applications, free or commercial products. <span class="read_more"><a href="license.html" class="black_link">Read more»</a></span></td>
<td valign="top"><div align="justify"></div></td>
<td height="35%" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><div align="right"><a href="http://sourceforge.net/projects/harbour-project/"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=681&amp;type=13" alt="SourceForge.net Logo" style="border-width: 0pt;" width="150" height="40"></a></div></td>
</tr>
</table></td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td valign="top">&nbsp;</td>
<td valign="top">&nbsp;</td>
</tr>
<tr>
<td width="2%" >&nbsp;</td>
<td width="65%" valign="top"><table width="100%" border="0" align="left" cellpadding="0" cellspacing="0">
<tr>
<td height="23" valign="bottom"><span class="title">Harbour Project Development News</span></td>
</tr>
<tr>
<td><hr /></td>
</tr>
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top"><span class="title_text"><span class="title_date">July 17, 2011</span></span></td>
<td>&nbsp;</td>
<td class="title_text">Harbour 3.0.0 released</td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td>After 1.5 years of strong development and 3600 commits, new stable version 3.0.0 is released. Sources are available on sf.net file area, prebuilt binaries will follow shortly.<br /></td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td class="title_text">&nbsp;</td>
</tr>
<tr>
<td valign="top"><span class="title_text"><span class="title_date">Aug 2, 2010</span></span></td>
<td>&nbsp;</td>
<td class="title_text">Harbour successfully ported to VxWorks RTOS</td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td>In 2010 July with few days of development effort, Harbour has been ported successfully to VxWorks 6.8 Real-Time Operating System (x86 CPU target for now) for both GNU GCC and Wind River C Compiler. Many thanks to Wind River Inc. for making their development package available to our open source compiler project. This means now Harbour can run on cars, planes, rockets and robots. :) See more about the technical details in ChangeLog entry '2010-07-16 18:22 UTC+0200 Viktor Szakats' <a href="http://harbour-project.svn.sourceforge.net/viewvc/harbour-project/trunk/harbour/ChangeLog">here</a><br /></td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td class="title_text">&nbsp;</td>
</tr>
<tr>
<td valign="top"><span class="title_text"><span class="title_date">Jun 3, 2010</span></span></td>
<td>&nbsp;</td>
<td class="title_text">Harbour Mailing Lists address change</td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td>Thanking Phil Barnett for providing the Harbour community a great mailing list
for so many years, today, due to server problems, we have migrated the mailing
lists to Google Groups in agreement with Phil and Harbour admins.
Make sure to revise your subscription settings... <br /></td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td class="title_text">&nbsp;</td>
</tr>
<tr>
<td valign="top"><span class="title_text"><span class="title_date">Dec 23, 2009</span></span></td>
<td>&nbsp;</td>
<td class="title_text">Harbour 2.0.0 unified Windows binary release</td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td>Harbour 2.0.0 (Revision 13372) source archives and Windows binary releases are available for download on sourceforge.net. <span class="read_more"><a href="news.html#20091223" class="black_link">more»</a></span></td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td valign="top"><span class="title_text"><span class="title_date">Dec 22, 2009</span></span></td>
<td>&nbsp;</td>
<td><span class="title_text">Harbour v2.0.0 is released!</span></td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td>After 16 months of intensive development the final version 2.0.0 is finally released. There are many highlights and news in this new release, check out some details and download your copy free. <span class="read_more"><a href="news.html#20091222" class="black_link">more»</a></span></td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td valign="top"><span class="title_text"><span class="title_date">May 13, 2009</span></span></td>
<td>&nbsp;</td>
<td><span class="title_text">SourceForge Community Choice Awards!</span></td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td>&nbsp;</td>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">The SourceForge.net announced the opening of nominations for the fourth annual SourceForge Community Choice Awards. The Harbour project is candidate - nominate us! <span class="read_more"><a href="news.html#20090517" class="black_link">more»</a></span></td>
<td valign="top"><a href="news.html#20090517"><img src="images/cca_nominate-2.png" width="106" height="96" border="0" /></a></td>
</tr>
</table></td>
</tr>
<tr>
<td valign="top">&nbsp;</td>
<td valign="top">&nbsp;</td>
<td valign="top">&nbsp;</td>
</tr>
<tr>
<td><span class="title_text"><span class="title_date">February 15, 2009</span></span></td>
<td width="2%">&nbsp;</td>
<td><span class="title_text">New website released!</span></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>Released the new layout for our site. This includes details about the project, several examples and will soon include some tutorials. <span class="read_more"><a href="news.html#20090215" class="black_link">more»</a></span></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><span class="title_text"><span class="title_date">September 17, 2008</span></span></td>
<td>&nbsp;</td>
<td><span class="title_text">Harbour v1.0.1 is released!</span></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>Many deployment fixes into General, Core &amp; Contrib sessions. All users should upgrade to receive the latest fixes. <span class="read_more"><a href="news.html#20080917" class="black_link">more»</a></span></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td width="30%"><span class="title_text"><span class="title_date">August 10, 2008</span></span></td>
<td>&nbsp;</td>
<td width="68%"><span class="title_text">Harbour Release v1.0.0</span></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>Many deployment fixes into General, Core &amp; Contrib sessions. All users should upgrade to receive the latest fixes. <span class="read_more"><a href="news1.html#20080810" class="black_link">more»</a></span></td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>See the <a href="news.html" class="black_link">news archive</a> for past news articles. </td>
</tr>
</table></td>
<td width="2%" valign="top">&nbsp;</td>
<td width="31%" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#fef0d1">
<tr valign="bottom">
<td width="6" height="23" class="tabela_box_trans_TL">&nbsp;</td>
<td width="213" height="23"><span class="title">Sample Applications</span></td>
<td width="13" height="23" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="title_color"><hr /></td>
</tr>
<tr>
<td class="title_color"><a href="samples/hello.html" class="blue_link"><strong>Hello world</strong></a></td>
</tr>
<tr>
<td><a href="samples/hello.html" class="sample_linkback"> Hello world A single Hello World with a typical welcome message.</a></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td class="title_color"><a href="samples/foreach.html" class="blue_link"><strong>FOR EACH example</strong></a></td>
</tr>
<tr>
<td><a href="samples/foreach.html" class="sample_linkback">This example demonstrates how to use the FOR EACH command.</a></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><a href="samples/testcgi.html" class="blue_link"><strong>CGI/HTML-Generator class</strong></a></td>
</tr>
<tr>
<td><a href="samples/testcgi.html" class="sample_linkback">This example shows how to work with Web pages using a custom class to manipulate data coming from a file and returns it to web browser.</a></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><a href="samples/parseini.html" class="blue_link"><strong>Ini file reading/writing</strong></a></td>
</tr>
<tr>
<td><a href="samples/parseini.html" class="sample_linkback">Test for Ini files reading/writing using native Harbour functions. </a></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><a href="samples/testbrdb.html" class="blue_link"><strong>TBrowse and TBColumn sample</strong></a></td>
</tr>
<tr>
<td><a href="samples/testbrw.html" class="sample_linkback">A simple example demonstrating the use of classes TBrowse and TBColumn.</a></td>
</tr>
</table></td>
<td>&nbsp;</td>
</tr>
<tr>
<td class="tabela_box_trans_BL">&nbsp;</td>
<td>&nbsp;</td>
<td class="tabela_box_trans_BR">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a></div>&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,107 +1,107 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Legal Notes - Terms of Service</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">Legal Notes</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"> <span class="pagina_subtitulo">Copyright</span><br />
The website HTML, text, images audio, video, software or other content that is made available on this website are the property of someone - the author in the case of content produced elsewhere and reproduced here with permission, or Harbour or its content suppliers. Before you use this content in some way please take care to ensure that you have the relevant rights and permissions from the copyright holder. <br />
<br />
You are welcome to display on your computer, download and print pages from this website provided the content is only used for personal, educational and non-commercial use. You must retain copyright and other notices on any copies or printouts you make. Certain of the materials available on this site are &quot;open source&quot; materials subject to the GNU General Public License (&quot;GPL&quot;) or other open source license and are so marked - use of those materials is governed by the individual applicable license. <br />
<br />
<span class="pagina_subtitulo">Using the software</span><br />
Your use of any software obtained from this site is subject to the terms of any license agreement provided with the software. Some of these agreements incorporate the terms of the GPL or other open source licences. Please read these agreements before installing and using the software; by installing and using the software, you will have accepted the terms of the agreements.<br />
<br />
<span class="pagina_subtitulo">Trademarks</span><br />
Any trademarks and logos displayed on this website are the property of their owners. For example, Linux is a registered trademark of Linus Torvalds. Debian is a trademark of Software in the Public Interest, Inc. Windows is allegedly a trademark of Microsoft Corporation.
All rights reserved. <br />
<br />
<span class="pagina_subtitulo">Privacy policy</span><br />
If this site makes forums, message boards, and/or news groups available to its users, please remember that any information that is disclosed in these areas becomes public information and you should exercise caution when deciding to disclose your personal information.<br />
<br />
<span class="pagina_subtitulo">Links to other websites</span><br />
This website may contain links to other websites and resources. The links are provided for convenience only and Harbour Project is not responsible for the content of any linked websites. The inclusion of any link to a website does not imply endorsement by Harbour of the website or their entities, products or services.<br />
<br />
<span class="pagina_subtitulo">Disclaimer</span><br />
This website and all information, products and services on it are provided on an "as is" basis, without warranty of any kind, either express or implied. Your use of this website is at your own risk. The Harbour Project disclaims all warranties, express or implied, including without limitation, warranties of merchantability and fitness for a particular purpose.
<br />
<br />
Harbour Project and our developers disclaims liability for any direct, indirect, incidental, special, consequential, exemplary, punitive or other damages, or lost profits, that may result directly or indirectly from the use of this website and any material that is downloaded or obtained through the use of this website.
<br />
<br />
This includes, without limitation, any damage to computer systems, hardware or software, loss of data, or any other performance failures, any errors, bugs, viruses or other defects that result from, or are associated with the use of this website.<br />
<br />
Any doubts about the content on this site, please post a topic in our <a href="mailing.html" class="blue_link">mailing list</a> that we will assist you.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Legal Notes - Terms of Service</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">Legal Notes</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"> <span class="pagina_subtitulo">Copyright</span><br />
The website HTML, text, images audio, video, software or other content that is made available on this website are the property of someone - the author in the case of content produced elsewhere and reproduced here with permission, or Harbour or its content suppliers. Before you use this content in some way please take care to ensure that you have the relevant rights and permissions from the copyright holder. <br />
<br />
You are welcome to display on your computer, download and print pages from this website provided the content is only used for personal, educational and non-commercial use. You must retain copyright and other notices on any copies or printouts you make. Certain of the materials available on this site are &quot;open source&quot; materials subject to the GNU General Public License (&quot;GPL&quot;) or other open source license and are so marked - use of those materials is governed by the individual applicable license. <br />
<br />
<span class="pagina_subtitulo">Using the software</span><br />
Your use of any software obtained from this site is subject to the terms of any license agreement provided with the software. Some of these agreements incorporate the terms of the GPL or other open source licences. Please read these agreements before installing and using the software; by installing and using the software, you will have accepted the terms of the agreements.<br />
<br />
<span class="pagina_subtitulo">Trademarks</span><br />
Any trademarks and logos displayed on this website are the property of their owners. For example, Linux is a registered trademark of Linus Torvalds. Debian is a trademark of Software in the Public Interest, Inc. Windows is allegedly a trademark of Microsoft Corporation.
All rights reserved. <br />
<br />
<span class="pagina_subtitulo">Privacy policy</span><br />
If this site makes forums, message boards, and/or news groups available to its users, please remember that any information that is disclosed in these areas becomes public information and you should exercise caution when deciding to disclose your personal information.<br />
<br />
<span class="pagina_subtitulo">Links to other websites</span><br />
This website may contain links to other websites and resources. The links are provided for convenience only and Harbour Project is not responsible for the content of any linked websites. The inclusion of any link to a website does not imply endorsement by Harbour of the website or their entities, products or services.<br />
<br />
<span class="pagina_subtitulo">Disclaimer</span><br />
This website and all information, products and services on it are provided on an "as is" basis, without warranty of any kind, either express or implied. Your use of this website is at your own risk. The Harbour Project disclaims all warranties, express or implied, including without limitation, warranties of merchantability and fitness for a particular purpose.
<br />
<br />
Harbour Project and our developers disclaims liability for any direct, indirect, incidental, special, consequential, exemplary, punitive or other damages, or lost profits, that may result directly or indirectly from the use of this website and any material that is downloaded or obtained through the use of this website.
<br />
<br />
This includes, without limitation, any damage to computer systems, hardware or software, loss of data, or any other performance failures, any errors, bugs, viruses or other defects that result from, or are associated with the use of this website.<br />
<br />
Any doubts about the content on this site, please post a topic in our <a href="mailing.html" class="blue_link">mailing list</a> that we will assist you.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,217 +1,217 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - License</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">The Harbour Project Compiler License</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="redbox">Note: This license applies to most of the files in the source/compiler
directory.</span><br />
<br />
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.<br />
<br />
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.<br />
<br />
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA (or visit
their web site at <a href="http://www.gnu.org/" class="black_link">http://www.gnu.org/</a>).</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">The Harbour Project Library License<br /></td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"> <span class="redbox">Note: This license applies to most of the files in the include directory,
source directory, and subdirectories. </span><br />
<br />
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version. <br />
<br />
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. <br />
<br />
You should have received a copy of the GNU General Public License
along with this software; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA (or visit the web site <a href="http://www.gnu.org/" class="black_link">http://www.gnu.org/</a>). <br />
<br />
As a special exception, the Harbour Project gives permission for
additional uses of the text contained in its release of Harbour. <br />
<br />
The exception is that, if you link the Harbour libraries with other
files to produce an executable, this does not by itself cause the
resulting executable to be covered by the GNU General Public License.
Your use of that executable is in no way restricted on account of
linking the Harbour library code into it. <br />
<br />
This exception does not however invalidate any other reasons why
the executable file might be covered by the GNU General Public License. <br />
<br />
This exception applies only to the code released by the Harbour
Project under the name Harbour. If you copy code from other
Harbour Project or Free Software Foundation releases into a copy of
Harbour, as the General Public License permits, the exception does
not apply to the code that you add in this way. To avoid isleading<br />
anyone as to the status of such modified files, you must delete
this exception notice from them. <br />
<br />
If you write modifications of your own for Harbour, it is your choice
whether to permit this exception to apply to your modifications.
If you do not wish that, delete this exception notice.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">The Old Harbour Project Library License<br /></td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="redbox">Note: This license only applies to the following files: <br />
<br />
&nbsp;&nbsp;&nbsp;source\rtl\philes.c<br />
&nbsp;&nbsp;&nbsp;source\rtl\binnum.c<br />
&nbsp;&nbsp;&nbsp;source\lang\msgeu.c<br />
&nbsp;&nbsp;&nbsp;source\lang\msgsl437.c<br />
&nbsp;&nbsp;&nbsp;source\lang\msgsl852.c<br />
&nbsp;&nbsp;&nbsp;source\lang\msgsliso.c<br />
&nbsp;&nbsp;&nbsp;source\lang\msgslwin.c<br />
&nbsp;&nbsp;&nbsp;source\lang\msgsr852.c<br />
&nbsp;&nbsp;&nbsp;source\lang\msgsriso.c</span><br />
<br />
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version, with one exception: <br />
<br />
The exception is that if you link the Harbour Runtime Library (HRL)
and/or the Harbour Virtual Machine (HVM) with other files to produce
an executable, this does not by itself cause the resulting executable
to be covered by the GNU General Public License. Your use of that
executable is in no way restricted on account of linking the HRL
and/or HVM code into it. <br />
<br />
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. <br />
<br />
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA (or visit
their web site at <a href="http://www.gnu.org/" class="black_link">http://www.gnu.org/</a>).</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">The Harbour Project Contrib License<br /></td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">There is no one single license that applies to the Harbour Project
contrib files. Some files use the Harbour Project Compiler license.
Some files use the Harbour Project Library license. Some files use
the old Harbour Project Library license. Some files may even use other
types of free software or open source software licenses. Some files
have been donated to the public domain. If you use any of the contrib
files, you need to investigate the license that applies to each file.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - License</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">The Harbour Project Compiler License</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="redbox">Note: This license applies to most of the files in the source/compiler
directory.</span><br />
<br />
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.<br />
<br />
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.<br />
<br />
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA (or visit
their web site at <a href="http://www.gnu.org/" class="black_link">http://www.gnu.org/</a>).</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">The Harbour Project Library License<br /></td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"> <span class="redbox">Note: This license applies to most of the files in the include directory,
source directory, and subdirectories. </span><br />
<br />
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version. <br />
<br />
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. <br />
<br />
You should have received a copy of the GNU General Public License
along with this software; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA (or visit the web site <a href="http://www.gnu.org/" class="black_link">http://www.gnu.org/</a>). <br />
<br />
As a special exception, the Harbour Project gives permission for
additional uses of the text contained in its release of Harbour. <br />
<br />
The exception is that, if you link the Harbour libraries with other
files to produce an executable, this does not by itself cause the
resulting executable to be covered by the GNU General Public License.
Your use of that executable is in no way restricted on account of
linking the Harbour library code into it. <br />
<br />
This exception does not however invalidate any other reasons why
the executable file might be covered by the GNU General Public License. <br />
<br />
This exception applies only to the code released by the Harbour
Project under the name Harbour. If you copy code from other
Harbour Project or Free Software Foundation releases into a copy of
Harbour, as the General Public License permits, the exception does
not apply to the code that you add in this way. To avoid isleading<br />
anyone as to the status of such modified files, you must delete
this exception notice from them. <br />
<br />
If you write modifications of your own for Harbour, it is your choice
whether to permit this exception to apply to your modifications.
If you do not wish that, delete this exception notice.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">The Old Harbour Project Library License<br /></td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="redbox">Note: This license only applies to the following files: <br />
<br />
&nbsp;&nbsp;&nbsp;source\rtl\philes.c<br />
&nbsp;&nbsp;&nbsp;source\rtl\binnum.c<br />
&nbsp;&nbsp;&nbsp;source\lang\msgeu.c<br />
&nbsp;&nbsp;&nbsp;source\lang\msgsl437.c<br />
&nbsp;&nbsp;&nbsp;source\lang\msgsl852.c<br />
&nbsp;&nbsp;&nbsp;source\lang\msgsliso.c<br />
&nbsp;&nbsp;&nbsp;source\lang\msgslwin.c<br />
&nbsp;&nbsp;&nbsp;source\lang\msgsr852.c<br />
&nbsp;&nbsp;&nbsp;source\lang\msgsriso.c</span><br />
<br />
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version, with one exception: <br />
<br />
The exception is that if you link the Harbour Runtime Library (HRL)
and/or the Harbour Virtual Machine (HVM) with other files to produce
an executable, this does not by itself cause the resulting executable
to be covered by the GNU General Public License. Your use of that
executable is in no way restricted on account of linking the HRL
and/or HVM code into it. <br />
<br />
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. <br />
<br />
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA (or visit
their web site at <a href="http://www.gnu.org/" class="black_link">http://www.gnu.org/</a>).</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">The Harbour Project Contrib License<br /></td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">There is no one single license that applies to the Harbour Project
contrib files. Some files use the Harbour Project Compiler license.
Some files use the Harbour Project Library license. Some files use
the old Harbour Project Library license. Some files may even use other
types of free software or open source software licenses. Some files
have been donated to the public domain. If you use any of the contrib
files, you need to investigate the license that applies to each file.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,179 +1,179 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Official logos </title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL"><a name="top" id="top"></a></td>
<td width="96%" height="26" class="title">Official logos </td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Below offer several images containing reference to the Harbour project for use in its software and its Web site.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><table width="100%" border="0" cellspacing="3" cellpadding="0">
<tr>
<td width="62%"><a href="art/harbour-logo.zip"><img src="art/harbour-logo.jpg" width="423" height="255" border="0" /></a></td>
<td width="38%" align="center"><a href="art/harbour.ico.zip"><img src="art/harbour_ico.png" width="50" height="287" border="0" /></a></td>
</tr>
<tr>
<td valign="top">The Harbour
logo was created by Patrick
Mast. Download the <a href="art/harbour-logo_in_high_resolution.zip" class="blue_link">Harbour
logo</a>
in PDF, EPS &amp; AI formats with high
resolution (829Kb).</td>
<td valign="top">Harbour icon in Win/Mac format (5.74KB)<br />
<span class="read_more"> Created by Vailton Renato with Axialis IconWorkshop&reg;.</span></td>
</tr>
</table></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="title">Harbour Banners</span><br />
To put Harbour Banner on your webpage, save the image on your computer, then copy and paste the code that is below the desired image in your HTML page. </td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="63%"><br /> <img src="art/bannerhrblt.gif" width="444" height="82" /></td>
</tr>
<tr>
<td><textarea name="textarea" rows="6" readonly="readonly" class="source_code" id="textarea" style="width: 100%">&lt;!-- Harbour Banner Code Start ---&gt;
&lt;A HREF=&quot;http://harbour-project.org&quot;&gt;
&lt;IMG SRC=&quot;http://www.flexsys-ci.com/harbour-project/images/bannerhrblt.gif&quot;
BORDER=0 ALT=&quot;Visit The Harbour Project&quot; /&gt;&lt;/A&gt;&lt;BR /&gt;
&lt;!-- Harbour Banner Code End ---&gt;
</textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><img src="art/hrbspace.gif" width="400" height="40" /></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><textarea name="textarea2" rows="4" readonly="readonly" class="source_code" id="textarea2" style="width: 100%">&lt;!-- Harbour Space Banner Code Start ---&gt; &lt;A HREF=&quot;http://harbour-project.org&quot;&gt; &lt;IMG SRC=&quot;http://www.flexsys-ci.com/harbour-project/images/hrbspace.gif&quot; BORDER=0 ALT=&quot;The Harbour Project&quot;&gt;&lt;/A&gt;&lt;BR&gt; &lt;!-- Harbour Space Banner Code End ---&gt;</textarea></td>
</tr>
</table></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="title">Harbour Buttons</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Right-click the mouse and select &quot;Save As&quot; to save the images below on your computer. <br />
<br /> <img src="art/harbour-button.gif" width="86" height="32" /> <br />
Harbour button in GIF format. (2.09Kb)
<p><img src="art/hrbbtn.gif" width="99" height="43" /> <br />
&quot;Harbour the future of xBase&quot; (16.8Kb)</p>
<p><img src="art/hscbtn.gif" width="99" height="43" /> <br />
&quot;Powered by HScript&quot; (2.95Kb)
<br />
</p></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Official logos </title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL"><a name="top" id="top"></a></td>
<td width="96%" height="26" class="title">Official logos </td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Below offer several images containing reference to the Harbour project for use in its software and its Web site.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><table width="100%" border="0" cellspacing="3" cellpadding="0">
<tr>
<td width="62%"><a href="art/harbour-logo.zip"><img src="art/harbour-logo.jpg" width="423" height="255" border="0" /></a></td>
<td width="38%" align="center"><a href="art/harbour.ico.zip"><img src="art/harbour_ico.png" width="50" height="287" border="0" /></a></td>
</tr>
<tr>
<td valign="top">The Harbour
logo was created by Patrick
Mast. Download the <a href="art/harbour-logo_in_high_resolution.zip" class="blue_link">Harbour
logo</a>
in PDF, EPS &amp; AI formats with high
resolution (829Kb).</td>
<td valign="top">Harbour icon in Win/Mac format (5.74KB)<br />
<span class="read_more"> Created by Vailton Renato with Axialis IconWorkshop&reg;.</span></td>
</tr>
</table></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><span class="title">Harbour Banners</span><br />
To put Harbour Banner on your webpage, save the image on your computer, then copy and paste the code that is below the desired image in your HTML page. </td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="63%"><br /> <img src="art/bannerhrblt.gif" width="444" height="82" /></td>
</tr>
<tr>
<td><textarea name="textarea" rows="6" readonly="readonly" class="source_code" id="textarea" style="width: 100%">&lt;!-- Harbour Banner Code Start ---&gt;
&lt;A HREF=&quot;http://harbour-project.org&quot;&gt;
&lt;IMG SRC=&quot;http://www.flexsys-ci.com/harbour-project/images/bannerhrblt.gif&quot;
BORDER=0 ALT=&quot;Visit The Harbour Project&quot; /&gt;&lt;/A&gt;&lt;BR /&gt;
&lt;!-- Harbour Banner Code End ---&gt;
</textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><img src="art/hrbspace.gif" width="400" height="40" /></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><textarea name="textarea2" rows="4" readonly="readonly" class="source_code" id="textarea2" style="width: 100%">&lt;!-- Harbour Space Banner Code Start ---&gt; &lt;A HREF=&quot;http://harbour-project.org&quot;&gt; &lt;IMG SRC=&quot;http://www.flexsys-ci.com/harbour-project/images/hrbspace.gif&quot; BORDER=0 ALT=&quot;The Harbour Project&quot;&gt;&lt;/A&gt;&lt;BR&gt; &lt;!-- Harbour Space Banner Code End ---&gt;</textarea></td>
</tr>
</table></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="title">Harbour Buttons</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Right-click the mouse and select &quot;Save As&quot; to save the images below on your computer. <br />
<br /> <img src="art/harbour-button.gif" width="86" height="32" /> <br />
Harbour button in GIF format. (2.09Kb)
<p><img src="art/hrbbtn.gif" width="99" height="43" /> <br />
&quot;Harbour the future of xBase&quot; (16.8Kb)</p>
<p><img src="art/hscbtn.gif" width="99" height="43" /> <br />
&quot;Powered by HScript&quot; (2.95Kb)
<br />
</p></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -53,7 +53,7 @@ stm_aix("p0i16","p0i2",[]);
stm_aix("p0i17","p0i3",[2,"","language_en.png","language_en.png",62,65,0,""]);
stm_bpx("p7","p1",[1,4,0,-3,2,0,28]);
stm_aix("p7i0","p1i0",[0," English ","","",-1,-1,0,"/","_self","","","flageua.png","flageua.png",28,17]);
stm_aix("p7i1","p7i0",[0," Español ","","",-1,-1,0,"http://alex-degarate.110mb.com/harbour/","_self","","","flages.png","flages.png"]);
stm_aix("p7i1","p7i0",[0," Espanol ","","",-1,-1,0,"http://alex-degarate.110mb.com/harbour/","_self","","","flages.png","flages.png"]);
stm_aix("p7i2","p7i0",[0," Portugués ","","",-1,-1,0,"http://www.harbour-project.com.br","_self","","","flagbr.png","flagbr.png"]);
stm_ep();
stm_ep();

File diff suppressed because one or more lines are too long

View File

@@ -4,4 +4,4 @@
Copyright 2008 by SourceTec Software Co.,LTD
For more information, see:www.sothink.com
================================================================*/
if(typeof _STNS!="undefined"&&_STNS.EFFECT&&_STNS.bIsIE&&!_STNS.EFFECT.CEffIE){with(_STNS.EFFECT){_STNS.EFFECT.CEffIE=_STNS.Class(_STNS.EFFECT.CEffect);CEffIE.register("EFFECT/CEffect>CEffIE");CEffIE.construct=function(as){this.iFid=as[4]?as[4]:-1;this.sfName="";this.iDur=as[3]||-1;this.sBak="";this._iOid=-1;this._iStat=-1;this._iGid=-1;with(_STNS.EFFECT.CEffIE){this.fiGetStat=fiGetStat;this.fbSet=fbSet;this.fbDel=fbDel;this.fbApply=fbApply;this.fbPlay=fbPlay;this.fbStop=fbStop;this.fbSetStyle=fbSetStyle;}};CEffIE._aGlobal=[];CEffIE.fiGetStat=function(){var _r=_STNS,e;if(this._iStat==-1){return -1;}if(e=_r.fdmGetEleById(this.sDmId,this.dmWin)){return e.status;}else{return this._iStat;}};CEffIE.fbSet=function(){var _r=_STNS,e,s,fs=[],i=0,_9,n;if(e=_r.fdmGetEleById(this.sDmId,this.dmWin)){if(this.sName&&_STNS.oNav.version>=5.5){s=this.sfName=this.sName;}else{if(_STNS.oNav.version<5.5&&this.iFid>=0&&this.iFid<24&&this.iDur!=-1){s=this.sfName="revealTrans(Transition="+this.iFid+",Duration="+this.iDur/1000+")";}else{return false;}}_9=e.style.filter;if(_9){var re=/[\w:\.]+\([^;\)]+\)/g;fs=_9.match(re);}if(this._iGid==-1){n=_r.EFFECT.CEffIE._aGlobal.length;_r.EFFECT.CEffIE._aGlobal.push(this);this._iGid=n;}if(!fs){fs=[];}for(i=0;i<fs.length;i++){if(fs[i]==this.sfName){this._iOid=i;return true;}}this._iOid=i;e.style.filter=(_9?_9+" ":"")+s;}this.iStat=0;return true;};CEffIE.fbDel=function(){var _r=_STNS,e,s,fs=[],bak,i,f=1,t;this.fbStop();if(e=_r.fdmGetEleById(this.sDmId,this.dmWin)){t=_STNS.EFFECT.CEffIE._aGlobal;t[this._iGid]=null;for(i=0;i<t.length;i++){if(t[i]&&t[i].sDmId==this.sDmId&&t[i].dmWin==this.dmWin&&t[i]._iOid==this._iOid){f=0;}}if(!f){return true;}bak=e.style.filter;if(bak){var re=/[\w:\.]+\([^;\)]+\)/g;fs=bak.match(re);}for(i=0;i<fs.length;i++){if(fs[i]==this.sfName){fs[i]="";}}e.style.filter=fs.length?fs.join(" "):"";for(i=0;i<t.length;i++){if(t[i]&&t[i].sDmId==this.sDmId&&t[i].dmWin==this.dmWin&&t[i]._iOid>this._iOid){t[i]._iOid--;}}}this._iStat=-1;return true;};CEffIE.fbApply=function(){var _r=_STNS,e;if(e=_r.fdmGetEleById(this.sDmId,this.dmWin)){e.filters[this._iOid].apply();}this._iStat=1;return true;};CEffIE.fbPlay=function(){var _r=_STNS,e;if(e=_r.fdmGetEleById(this.sDmId,this.dmWin)){e.filters[this._iOid].play();}this._iStat=2;return true;};CEffIE.fbStop=function(){var _r=_STNS,e;if(this.iStat>-1){if(e=_r.fdmGetEleById(this.sDmId,this.dmWin)){if(e.filters[this._iOid].status){e.filters[this._iOid].stop();}}this._iStat=0;}return true;};CEffIE.fbSetStyle=function(s){var _r=_STNS,e;if(e=_r.fdmGetEleById(this.sDmId,this.dmWin)){var ss=_r.foCss2Style(s),i;for(i in ss){try{e.style[i]=ss[i];}catch(e){}}}return true;};}}
if(typeof _STNS!="undefined"&&_STNS.EFFECT&&_STNS.bIsIE&&!_STNS.EFFECT.CEffIE){with(_STNS.EFFECT){_STNS.EFFECT.CEffIE=_STNS.Class(_STNS.EFFECT.CEffect);CEffIE.register("EFFECT/CEffect>CEffIE");CEffIE.construct=function(as){this.iFid=as[4]?as[4]:-1;this.sfName="";this.iDur=as[3]||-1;this.sBak="";this._iOid=-1;this._iStat=-1;this._iGid=-1;with(_STNS.EFFECT.CEffIE){this.fiGetStat=fiGetStat;this.fbSet=fbSet;this.fbDel=fbDel;this.fbApply=fbApply;this.fbPlay=fbPlay;this.fbStop=fbStop;this.fbSetStyle=fbSetStyle;}};CEffIE._aGlobal=[];CEffIE.fiGetStat=function(){var _r=_STNS,e;if(this._iStat==-1){return -1;}if(e=_r.fdmGetEleById(this.sDmId,this.dmWin)){return e.status;}else{return this._iStat;}};CEffIE.fbSet=function(){var _r=_STNS,e,s,fs=[],i=0,_9,n;if(e=_r.fdmGetEleById(this.sDmId,this.dmWin)){if(this.sName&&_STNS.oNav.version>=5.5){s=this.sfName=this.sName;}else{if(_STNS.oNav.version<5.5&&this.iFid>=0&&this.iFid<24&&this.iDur!=-1){s=this.sfName="revealTrans(Transition="+this.iFid+",Duration="+this.iDur/1000+")";}else{return false;}}_9=e.style.filter;if(_9){var re=/[\w:\.]+\([^;\)]+\)/g;fs=_9.match(re);}if(this._iGid==-1){n=_r.EFFECT.CEffIE._aGlobal.length;_r.EFFECT.CEffIE._aGlobal.push(this);this._iGid=n;}if(!fs){fs=[];}for(i=0;i<fs.length;i++){if(fs[i]==this.sfName){this._iOid=i;return true;}}this._iOid=i;e.style.filter=(_9?_9+" ":"")+s;}this.iStat=0;return true;};CEffIE.fbDel=function(){var _r=_STNS,e,s,fs=[],bak,i,f=1,t;this.fbStop();if(e=_r.fdmGetEleById(this.sDmId,this.dmWin)){t=_STNS.EFFECT.CEffIE._aGlobal;t[this._iGid]=null;for(i=0;i<t.length;i++){if(t[i]&&t[i].sDmId==this.sDmId&&t[i].dmWin==this.dmWin&&t[i]._iOid==this._iOid){f=0;}}if(!f){return true;}bak=e.style.filter;if(bak){var re=/[\w:\.]+\([^;\)]+\)/g;fs=bak.match(re);}for(i=0;i<fs.length;i++){if(fs[i]==this.sfName){fs[i]="";}}e.style.filter=fs.length?fs.join(" "):"";for(i=0;i<t.length;i++){if(t[i]&&t[i].sDmId==this.sDmId&&t[i].dmWin==this.dmWin&&t[i]._iOid>this._iOid){t[i]._iOid--;}}}this._iStat=-1;return true;};CEffIE.fbApply=function(){var _r=_STNS,e;if(e=_r.fdmGetEleById(this.sDmId,this.dmWin)){e.filters[this._iOid].apply();}this._iStat=1;return true;};CEffIE.fbPlay=function(){var _r=_STNS,e;if(e=_r.fdmGetEleById(this.sDmId,this.dmWin)){e.filters[this._iOid].play();}this._iStat=2;return true;};CEffIE.fbStop=function(){var _r=_STNS,e;if(this.iStat>-1){if(e=_r.fdmGetEleById(this.sDmId,this.dmWin)){if(e.filters[this._iOid].status){e.filters[this._iOid].stop();}}this._iStat=0;}return true;};CEffIE.fbSetStyle=function(s){var _r=_STNS,e;if(e=_r.fdmGetEleById(this.sDmId,this.dmWin)){var ss=_r.foCss2Style(s),i;for(i in ss){try{e.style[i]=ss[i];}catch(e){}}}return true;};}}

View File

@@ -4,4 +4,4 @@
Copyright 2008 by SourceTec Software Co.,LTD
For more information, see:www.sothink.com
================================================================*/
if(typeof _STNS!="undefined"&&_STNS.EFFECT&&!_STNS.EFFECT.CEffRect){with(_STNS.EFFECT){_STNS.EFFECT.CEffRect=_STNS.Class(_STNS.EFFECT.CEffect);CEffRect.register("EFFECT/CEffect>CEffRect");CEffRect.construct=function(as){this._tTid=0;this._bShow=0;this._iFms=12;this._iDt=50;this._iDx=0;this._iDy=0;this._iDsx=0;this._iDsy=0;this._iX=0;this._iY=0;this._iSX=-1;this._iSY=-1;this._iGid=-1;this._iCurWid=0;this._iCurHei=0;this.iDur=as[3];this._sBdStyle="solid";this._iBdWid=1;this._sBdClr="#999999";with(_STNS.EFFECT.CEffRect){this.fbSet=fbSet;this.fbDel=fbDel;this.fbApply=fbApply;this.fbPlay=fbPlay;this.fbStop=fbStop;this.fbSetStyle=fbSetStyle;this.fbShow=fbShow;this.fbHide=fbHide;}if(as[4]){this.fbSetStyle(as[4]);}};CEffRect.fbSet=function(){var _r=_STNS,e=_r.fdmGetEleById(this.sDmId,this.dmWin),n;if(!e){return false;}if(this._iGid==-1){n=_r.EFFECT.CEffRect._aGlobal.length;_r.EFFECT.CEffRect._aGlobal.push(this);this._iGid=n;}s="<div style="+"'position:absolute;left:0px;top:0px;z-index:1000;font-size:1pt;line-height:1pt;display:none;background:transparent;'"+" id='stEffR_"+this._iGid+"'>"+"</div>";_STNS.fbInsHTML(this.dmWin.document.body,"afterBegin",s);this._iStat=0;return true;};CEffRect.fbDel=function(){this.fbStop();this._iStat=-1;_STNS.EFFECT.CEffRect._aGlobal[this._iGid]=null;return true;};CEffRect.fbApply=function(){var _r=_STNS,e=_r.fdmGetEleById(this.sDmId,this.dmWin);if(!e){return false;}this._iCurWid=_r.fiGetEleWid(e);this._iCurHei=_r.fiGetEleHei(e);this._iDt=Math.floor(this.iDur/this._iFms);this._iDx=Math.round(this._iCurWid/this._iFms);this._iDy=Math.round(this._iCurHei/this._iFms);e=_r.fdmGetEleById("stEffR_"+this._iGid,this.dmWin);e.style.borderStyle=this._sBdStyle;e.style.borderWidth=this._iBdWid+"px";e.style.borderColor=this._sBdClr;if(!_r.EFFECT.CEffRect._aGlobal[this._iGid]){_r.EFFECT.CEffRect._aGlobal[this._iGid]=this;}this._iStat=1;return true;};CEffRect.fbPlay=function(){if(this._iStat!=1){return false;}if(this._bShow){this.fbShow();}else{this.fbHide();}this._iStat=2;return true;};CEffRect.fbStop=function(){if(this._iStat>0){clearTimeout(this._tTid);var e=_STNS.fdmGetEleById("stEffR_"+this._iGid,this.dmWin);e.style.display="none";e=_STNS.fdmGetEleById(this.sDmId,this.dmWin);e.style.left=this._iX+"px";e.style.top=this._iY+"px";if(this._bShow){e.style.visibility="visible";}else{e.style.visibility="hidden";}this._iStat=0;}return true;};CEffRect.fbSetStyle=function(s){var _r=_STNS,ss;ss=_r.foCss2Style(s);if(ss["visibility"]=="hidden"){this._bShow=0;}else{if(ss["visibility"]=="visible"){this._bShow=1;}}if(ss["left"]){this._iX=parseInt(ss["left"]);}if(ss["top"]){this._iY=parseInt(ss["top"]);}if(ss["borderStyle"]){this._sBdStyle=ss["borderStyle"];}if(ss["borderWidth"]){this._iBdWid=parseInt(ss["borderWidth"]);}if(ss["borderColor"]){this._sBdClr=ss["borderColor"];}if(ss["_stStartX"]){this._iSX=parseInt(ss["_stStartX"]);}else{this._iSX=this._iX+this._iCurWid/2;}if(ss["_stStartY"]){this._iSY=parseInt(ss["_stStartY"]);}else{this._iSY=this._iY+this._iCurHei/2;}this._iDsx=Math.floor((this._iSX-this._iX)/this._iFms);this._iDsy=Math.floor((this._iSY-this._iY)/this._iFms);};CEffRect._aGlobal=[];CEffRect.fbShow=function(t){var _r=_STNS,e=_r.fdmGetEleById("stEffR_"+this._iGid,this.dmWin);if(!t){t=0;}if(t>=this._iFms){e.style.display="none";e=_r.fdmGetEleById(this.sDmId,this.dmWin);e.style.left=this._iX+"px";e.style.top=this._iY+"px";e.style.visibility="visible";this._iStat=0;return true;}else{e.style.width=t*this._iDx+"px";e.style.height=t*this._iDy+"px";e.style.left=this._iSX-t*this._iDsx+"px";e.style.top=this._iSY-t*this._iDsy+"px";this._tTid=setTimeout("_STNS.EFFECT.CEffRect._aGlobal["+this._iGid+"].fbShow("+(++t)+")",this._iDt);}e.style.display="block";};CEffRect.fbHide=function(t){var _r=_STNS,e=_r.fdmGetEleById("stEffR_"+this._iGid,this.dmWin);if(!t){_r.fdmGetEleById(this.sDmId,this.dmWin).style.visibility="hidden";t=0;}if(t>=this._iFms){e.style.display="none";this._iStat=0;return true;}else{e.style.width=Math.max(1,this._iCurWid-t*this._iDx)+"px";e.style.height=Math.max(1,this._iCurHei-t*this._iDy)+"px";e.style.left=this._iX+t*this._iDsx+"px";e.style.top=this._iY+t*this._iDsy+"px";this._tTid=setTimeout("_STNS.EFFECT.CEffRect._aGlobal["+this._iGid+"].fbHide("+(++t)+")",this._iDt);}e.style.display="block";};}}
if(typeof _STNS!="undefined"&&_STNS.EFFECT&&!_STNS.EFFECT.CEffRect){with(_STNS.EFFECT){_STNS.EFFECT.CEffRect=_STNS.Class(_STNS.EFFECT.CEffect);CEffRect.register("EFFECT/CEffect>CEffRect");CEffRect.construct=function(as){this._tTid=0;this._bShow=0;this._iFms=12;this._iDt=50;this._iDx=0;this._iDy=0;this._iDsx=0;this._iDsy=0;this._iX=0;this._iY=0;this._iSX=-1;this._iSY=-1;this._iGid=-1;this._iCurWid=0;this._iCurHei=0;this.iDur=as[3];this._sBdStyle="solid";this._iBdWid=1;this._sBdClr="#999999";with(_STNS.EFFECT.CEffRect){this.fbSet=fbSet;this.fbDel=fbDel;this.fbApply=fbApply;this.fbPlay=fbPlay;this.fbStop=fbStop;this.fbSetStyle=fbSetStyle;this.fbShow=fbShow;this.fbHide=fbHide;}if(as[4]){this.fbSetStyle(as[4]);}};CEffRect.fbSet=function(){var _r=_STNS,e=_r.fdmGetEleById(this.sDmId,this.dmWin),n;if(!e){return false;}if(this._iGid==-1){n=_r.EFFECT.CEffRect._aGlobal.length;_r.EFFECT.CEffRect._aGlobal.push(this);this._iGid=n;}s="<div style="+"'position:absolute;left:0px;top:0px;z-index:1000;font-size:1pt;line-height:1pt;display:none;background:transparent;'"+" id='stEffR_"+this._iGid+"'>"+"</div>";_STNS.fbInsHTML(this.dmWin.document.body,"afterBegin",s);this._iStat=0;return true;};CEffRect.fbDel=function(){this.fbStop();this._iStat=-1;_STNS.EFFECT.CEffRect._aGlobal[this._iGid]=null;return true;};CEffRect.fbApply=function(){var _r=_STNS,e=_r.fdmGetEleById(this.sDmId,this.dmWin);if(!e){return false;}this._iCurWid=_r.fiGetEleWid(e);this._iCurHei=_r.fiGetEleHei(e);this._iDt=Math.floor(this.iDur/this._iFms);this._iDx=Math.round(this._iCurWid/this._iFms);this._iDy=Math.round(this._iCurHei/this._iFms);e=_r.fdmGetEleById("stEffR_"+this._iGid,this.dmWin);e.style.borderStyle=this._sBdStyle;e.style.borderWidth=this._iBdWid+"px";e.style.borderColor=this._sBdClr;if(!_r.EFFECT.CEffRect._aGlobal[this._iGid]){_r.EFFECT.CEffRect._aGlobal[this._iGid]=this;}this._iStat=1;return true;};CEffRect.fbPlay=function(){if(this._iStat!=1){return false;}if(this._bShow){this.fbShow();}else{this.fbHide();}this._iStat=2;return true;};CEffRect.fbStop=function(){if(this._iStat>0){clearTimeout(this._tTid);var e=_STNS.fdmGetEleById("stEffR_"+this._iGid,this.dmWin);e.style.display="none";e=_STNS.fdmGetEleById(this.sDmId,this.dmWin);e.style.left=this._iX+"px";e.style.top=this._iY+"px";if(this._bShow){e.style.visibility="visible";}else{e.style.visibility="hidden";}this._iStat=0;}return true;};CEffRect.fbSetStyle=function(s){var _r=_STNS,ss;ss=_r.foCss2Style(s);if(ss["visibility"]=="hidden"){this._bShow=0;}else{if(ss["visibility"]=="visible"){this._bShow=1;}}if(ss["left"]){this._iX=parseInt(ss["left"]);}if(ss["top"]){this._iY=parseInt(ss["top"]);}if(ss["borderStyle"]){this._sBdStyle=ss["borderStyle"];}if(ss["borderWidth"]){this._iBdWid=parseInt(ss["borderWidth"]);}if(ss["borderColor"]){this._sBdClr=ss["borderColor"];}if(ss["_stStartX"]){this._iSX=parseInt(ss["_stStartX"]);}else{this._iSX=this._iX+this._iCurWid/2;}if(ss["_stStartY"]){this._iSY=parseInt(ss["_stStartY"]);}else{this._iSY=this._iY+this._iCurHei/2;}this._iDsx=Math.floor((this._iSX-this._iX)/this._iFms);this._iDsy=Math.floor((this._iSY-this._iY)/this._iFms);};CEffRect._aGlobal=[];CEffRect.fbShow=function(t){var _r=_STNS,e=_r.fdmGetEleById("stEffR_"+this._iGid,this.dmWin);if(!t){t=0;}if(t>=this._iFms){e.style.display="none";e=_r.fdmGetEleById(this.sDmId,this.dmWin);e.style.left=this._iX+"px";e.style.top=this._iY+"px";e.style.visibility="visible";this._iStat=0;return true;}else{e.style.width=t*this._iDx+"px";e.style.height=t*this._iDy+"px";e.style.left=this._iSX-t*this._iDsx+"px";e.style.top=this._iSY-t*this._iDsy+"px";this._tTid=setTimeout("_STNS.EFFECT.CEffRect._aGlobal["+this._iGid+"].fbShow("+(++t)+")",this._iDt);}e.style.display="block";};CEffRect.fbHide=function(t){var _r=_STNS,e=_r.fdmGetEleById("stEffR_"+this._iGid,this.dmWin);if(!t){_r.fdmGetEleById(this.sDmId,this.dmWin).style.visibility="hidden";t=0;}if(t>=this._iFms){e.style.display="none";this._iStat=0;return true;}else{e.style.width=Math.max(1,this._iCurWid-t*this._iDx)+"px";e.style.height=Math.max(1,this._iCurHei-t*this._iDy)+"px";e.style.left=this._iX+t*this._iDsx+"px";e.style.top=this._iY+t*this._iDsy+"px";this._tTid=setTimeout("_STNS.EFFECT.CEffRect._aGlobal["+this._iGid+"].fbHide("+(++t)+")",this._iDt);}e.style.display="block";};}}

File diff suppressed because one or more lines are too long

View File

@@ -1,92 +1,92 @@
/*=======Ver: 7.0.60906========*/
/*DHTMLMenu, (c) 2006, SourceTec Software Co.,LTD - www.sothink.com*/
if(typeof st_js=="undefined")
{
STM_FILTER=1;
STM_SCROLL=1;
STM_SLIP=1;
STM_RTL=0;
STM_AHCM=0;
STM_SMSC=1;
STM_BIMG=1;
STM_ILOC=0;
STM_ILINK=0;
stHAL=["left","center","right"];
stVAL=["top","middle","bottom"];
stREP=["no-repeat","repeat-x","repeat-y","repeat"];
stBDS=["none","solid","double","dotted","dashed","groove","ridge","outset","inset"];
stENTS=["onmouseover","onmouseout","onclick","onmousedown","onmouseup","onfocus","onblur","onkeydown","onkeyup"];
st_ld=[];
st_lded=0;
st_ck=[];
st_ms=[];
st_imgs=[];
st_funs=0;
st_path=stgfd(location.href);
st_nav=stnav();
st_cm=st_cp=st_ci= st_tid=0;
if(!Array.prototype.push)Array.prototype.push=function(){var l=this.length;for(var i=0;i<arguments.length;i++)this[l++]=arguments[i];};
if(!Array.prototype.pop)Array.prototype.pop=function(){if(this.length){var o=this[this.length-1];this.length--;return o}};
st_css=0;
stCSS=
{
tb:"width:auto;height:auto;border-style:none;background-color:transparent;background-image:none;",
tr:"width:auto;height:auto;border-style:none;background-color:transparent;background-image:none;",
td:"height:auto;border-style:none;background-color:transparent;background-image:none;",
dv:"margin:0px;padding:0px;background-color:transparent;background-image:none;",
a:"border-style:none;margin:0px;padding:0px;background-color:transparent;background-image:none;"
}
if(document.getElementsByTagName?document.getElementsByTagName("body").length:document.all.tags("body").length)st_css=1;
else document.write(stStyle());
st_js=1;
}
function stm_bm(a){var jsp,sc,jsr;if(document.getElementsByTagName)sc=document.getElementsByTagName("script"); else if(document.all.tags)sc=document.all.tags("script");for(var j=0;j<sc.length;j++){jsr=sc[j].src;if(jsr&&jsr.indexOf("stmenu.js")!=-1){jsp=jsr.substring(0,jsr.indexOf("stmenu.js"));break;}}var ip=a[2]?a[2].charAt(a[2].length-1)!="/"?a[2]+"/":a[2]:"",lp=a[15]?a[15].charAt(a[15].length-1)!="/"?a[15]+"/":a[15]:"",jp=a[23]?a[23].charAt(a[23].length-1)!="/"?a[23]+"/":a[23]:"",n=st_ms.length,m;if(typeof jsp!="undefined")jp=jsp;st_cm=st_ms[n]=m={typ:a[4], id:n, nam:a[0],ids:a[0]+n,ps:[],x:a[5],y:a[6],hal:a[7], wid:a[16], bnk:stbuf(ip+a[3]),usrE:[],cfrm:0,cfsh:1, tfrn:"",sfrn:"",cfX:0,cfY:0,cfD:0,sc:[0,0],sp:0,deSV:a[9],deSH:a[10],hdp:a[19],deHd:a[19]?a[11]:3000,hdS:a[12],hdO:a[13],hdI:a[14], hdT:[],lits:a[17], lnks:[], litl:a[20],rtl:a[18],imgP:ip,jsP:jp,lnkP:lp,cks:a[8]};m.cur=[stisF(a[21])?"url("+stgPth(3,a[21])+"),auto":a[21],stisF(a[22])?"url("+stgPth(3,a[22])+"),auto":a[22]];if(m.hdS&&(!st_nav.typ&&st_nav.os!="mac"||st_nav.nam=="konqueror"))m.hdT.push("select");if(m.hdI&&(!st_nav.typ&&st_nav.ver<5.5||st_nav.nam=="opera"||st_nav.nam=="konqueror")) m.hdT.push("iframe"); if(m.hdO) m.hdT.push("object","embed","applet");if(m.lits&1){var li=[];if(m.lits&128)li[0]=1;if(m.lits&64)if(m.rtl)li[6]=1;else li[3]=1;if(m.lits&256)if(m.rtl)li[3]=1; else li[6]=1;if(m.lits&8)li[9]=1;if(m.lits&16)li[12]=1;if(m.lits&32)li[18]=1;if(m.lits&2)li[21]=1;if(m.lits&4)li[24]=1,li[27]=1;m.hili=stDtB(li);}}
function stm_bp(l,a){var m=st_cm,p,i=st_cp?st_ci:0,j=m.ps.length,st=!j&&!m.typ,tp=stDtB([a[0]]),pd;switch(a[1]){case 1:pd=4;break;case 2:pd=7;break;case 3:pd=1;break;case 4:pd=13;}st_cp=m.ps[j]=p={is:[],typ:tp, id:j,ids:m.ids+"p"+j, dir:pd,wid:0,hei:0, offX:a[2],offY:a[3],mar:a[4],pad:a[5],lms:m.rtl?a[7]:a[6],rms:m.rtl?a[6]:a[7], bgC:a[17],bgI:stgPth(0,a[18]),bgR:a[19],bd:a[20],bdW:a[21],bdC:a[22],zid:i?i.parP.zid+i.id+5:1000,isSt:st,isSh:0,isOV:0,parI:i,mid:m.id,frm:0,hal:st?m.hal:0,opc:a[8], shad:a[14],stre:st_nav.typ?0:a[15],sdC:a[16], efsp:a[13],sc:[0,0],dec:[stgPth(0,a[23]?a[23]:""),stgPth(0,a[30]?a[30]:""),stgPth(0,a[37]?a[37]:""),stgPth(0,a[44]?a[44]:"")],decH:[a[24]?a[24]:0,a[31]?a[31]:0,a[38]?a[38]:0,a[45]?a[45]:0],decW:[a[25]?a[25]:0,a[32]?a[32]:0,a[39]?a[39]:0,a[46]?a[46]:0],decB:[a[26]?a[26]:0,a[33]?a[33]:0,a[40]?a[40]:0,a[47]?a[47]:0],decBC:[a[27]?a[27]:"",a[34]?a[34]:"",a[41]?a[41]:"",a[48]?a[48]:""],decBI:[stgPth(0,a[28]?a[28]:""),stgPth(0,a[35]?a[35]:""),stgPth(0,a[42]?a[42]:""),stgPth(0,a[49]?a[49]:"")],decBR:[a[29]?a[29]:0,a[36]?a[36]:0,a[43]?a[43]:0,a[50]?a[50]:0],cor:[stgPth(0,a[51]?a[51]:""),stgPth(0,a[52]?a[52]:""),stgPth(0,a[53]?a[53]:""),stgPth(0,a[54]?a[54]:"")],args:a };p.onmouseover="stpov";p.onmouseout="stpou";p.lock=i?((m.cks&1)?1:0):0;p.eff=[stgEff(a[9],a[10],a[13],1,p.isSt),stgEff(a[11],a[12],a[13],2,p.isSt)];if(p.eff[0]||p.eff[1]) m.ieff=1;if(st&&!a[0]) p.wid=m.wid;if(i) i.subP=p;eval(l+"=p");}
function stm_bpx(l,r,a){var p=eval(r);stm_bp(l,(a.length?a.concat(p.args.slice(a.length)):p.args));}
function stm_ai(l,a){var m=st_cm,p=st_cp,v=p.typ&1,j=p.is.length,typ=stDtB([a[0]==6?2:a[0],0,m.rtl,a[0]==6?1:0]),i;if(a[0]==6)i=stItem([typ,p.ids+"sp"+j,"",(v?"100%":a[1]),(v?a[1]:"100%"),"",a[3],"",a[4],a[5],0,"","","","","","",0,0,0,"","",0,0,0,1,1,a[2],"","","","","",0,0,"","","","","","",0,0,0,"","",1,0,0]);else{var lw=v?p.lms:m.rtl?(a[18]+2*a[20]):(a[13]+2*a[15]),rw=v?p.rms:m.rtl?(a[13]+2*a[15]):(a[18]+2*a[20]);i=stItem([typ,p.ids+"i"+j,"",arguments[2]?arguments[2]:"100%",arguments[3]?arguments[3]:"100%",a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],m.rtl?a[16]:a[11],m.rtl?a[17]:a[12],m.rtl?a[18]:a[13],m.rtl?a[19]:a[14],m.rtl?a[20]:a[15],m.rtl?a[11]:a[16],m.rtl?a[12]:a[17],m.rtl?a[13]:a[18],m.rtl?a[14]:a[19],m.rtl?a[15]:a[20],a[21],a[22],a[24]?"transparent":a[23],a[26]?"transparent":a[25],a[27],a[28],a[29],a[30],a[31],a[32],a[33],a[34],a[35],a[36],a[37],a[38],a[39],a[40],p.pad,m.cur[0],m.cur[1],1,lw,rw]);if((!i.icoW||!i.icoH)&&lw&&v) {i.icoW=lw,i.icoH=-1,i.ico=["",""]};if((!i.arrW||!i.arrH)&&rw&&v) {i.arrW=rw,i.arrH=-1,i.arr=["",""]};i.isOv=0;}st_ci=p.is[j]=i;i.mid=m.id;i.pid=p.id; i.id=j;i.parP=p; if(a[0]!=6){ i.tid=0; i.subP=0;i.lock=(m.cks&1)?!(m.cks&2):0;i.onmouseover="stiov";i.onmouseout="stiou";i.onclick="stick";i.ovst=153391689;i.oust=0;stLnks(i);}i.args=a;eval(l+"=i");}
function stm_aix(l,r,a){var i=eval(r),wd=arguments.length>3?arguments[3]:0,ht=arguments.length>4?arguments[4]:0;stm_ai(l,(a.length?a.concat(i.args.slice(a.length)):i.args),wd,ht)}
function stm_ep(){var m=st_cm,p=st_cp;st_ci=p.parI;if(st_ci) st_cp=st_ci.parP;else st_cp=0; if(!p.is.length){var i=p.parI;if(m.rtl){i.ico=["",""];i.icoW=0;i.icoH=0;i.icoB=0;}else{i.arr=["",""];i.arrW=0;i.arrH=0;i.arrB=0;} i.subP=0;m.ps.pop();} }
function stm_sc(n,a){if(!STM_SCROLL)return; var m=st_cm,e;for(var j=1;j<m.ps.length;j++){var p=m.ps[j]; if(p.typ&2) e=1;if((p.typ&1)==n){ p.scsp=100;p.typ|=2;p.sc[0]=stItem([2,p.ids+"sc0","","100%","100%","",a[10],a[11],a[12],a[13],a[14],"","","","","","",0,0,0,a[2],a[3],0,0,0,1,1,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],"","","","",0,0,0,"hand","",1,0,0]);p.sc[0].typ=p.sc[0].typ|16;p.sc[0].onmouseover="stsov";p.sc[0].onmouseout="stsou";p.sc[0].onmousedown="stsdn";p.sc[0].onmouseup="stsdu";p.sc[0].sid=0;p.sc[0].parP=p;p.sc[0].mid=p.mid;p.sc[0].pid=p.id;p.sc[1]=stItem([2,p.ids+"sc1","","100%","100%","",a[16],a[15],a[17],a[18],a[19],"","","","","","",0,0,0,a[2],a[3],0,0,0,1,1,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],"","","","",0,0,0,"hand","",1,0,0,0]);p.sc[1].typ=p.sc[1].typ|16;p.sc[1].onmouseover="stsov";p.sc[1].onmouseout="stsou";p.sc[1].onmousedown="stsdn";p.sc[1].onmouseup="stsdu";p.sc[1].sid=1;p.sc[1].pid=p.id;p.sc[1].mid=p.mid;p.sc[1].parP=p;p.scD=a[20]?a[21]:0;}} if(!e)staddE(0,"stsSc",m);if(!(st_funs&64))document.write(stgJs(m.jsP+"stscroll.js",1)),st_funs|=64;}
function stm_cf(a){var m=st_cm;m.cfD=a[0];m.cfX=a[1];m.cfY=a[2];m.cfrm=1;m.tfrn=a[3];m.sfrn=a[4];m.cfsh=a[5];}
function stm_em(){var m=st_cm;st_cp=st_ci=0;if(!m.ps.length){st_ms.pop(), st_cm=st_ms[st_ms.length-1];return;}for(var j=0;j<st_cm.ps.length;j++){var p=st_cm.ps[j];p.args=null;for(var k=0;k<st_cm.ps[j].is.length;k++)p.is[k].args=null;}stCreate();}
function stcklo(p){var m=st_ms[p.mid];for(var j=0;j<m.ps.length;j++){if(j) m.ps[j].lock=1;if(!(m.cks&2))for(var k=0;k<m.ps[j].is.length;k++)m.ps[j].is[k].lock=1;}m.ckd=0;}
function stItem(a){var i={typ:a[0], ids:a[1], nam:a[2],wid:a[3],hei:a[4],txt:a[0]&1?a[5]:stHTML(a[5]), img:[stgPth(0,a[6]),stgPth(0,a[7])],imgW:a[8],imgH:a[9],imgB:a[10], lnk:stabsL(stgPth(2,a[11])),tar:a[12]?a[12]:"_self", stus:a[13],tip:stHTML(a[14],1),ico:[stgPth(0,a[15]),stgPth(0,a[16])],icoW:a[17],icoH:a[18],icoB:a[19],arr:[stgPth(0,a[20]),stgPth(0,a[21])],arrW:a[22],arrH:a[23],arrB:a[24],thal:a[25],tval:a[26],bgC:[a[27],a[28]],bgI:[stgPth(0,a[29]),stgPth(0,a[30])],bgR:[a[31],a[32]],bd:a[33],bdW:a[34],bdC:[a[35],a[36]],colr:[a[37],a[38]],fnt:[a[39],a[40]],dec:[a[41],a[42]],pad:a[43],cur:[a[44],a[45]],hal:a[46], lw:a[47],rw:a[48],stat:0 };if(!i.bgI[0]&&i.bgI[1]) i.bgI[0]=st_cm.bnk;if(!i.bgI[1]&&i.bgI[0]) i.bgI[1]=st_cm.bnk;return i;}
function stnav(){var _n=navigator,_u=_n.userAgent,_a=_n.appName,_p=_n.platform,n,v,p;if(/(Opera)[ \/]([\d\.]+)/.test(_u)||/(Netscape)\d*\/([\d\.]+)/.test(_u)||/(MSIE) ([\d\.]+)/.test(_u)||/(Safari)\/([\d\.]+)/.test(_u)||/(Konqueror)\/([\d\.]+)/.test(_u)||/(Gecko)\/(\d+)/.test(_u)){n=RegExp.$1.toLowerCase();v=RegExp.$2;}else if(_a=="Netscape"&&_n.appVersion.charAt(0)=="4"){n="netscape4";v=_n.appVersion;}else{n="unknow";v=0;}if(n=="netscape")switch(_a){case "Microsoft Internet Explorer":n="msie";v=/(MSIE) ([\d\.]+)/.exec(_u)[2]; break;case "Netscape":n="gecko";v=/(Gecko)\/(\d+)/.exec(_u)[2];}v=parseFloat(v);if(/^(Win)/.test(_p)||/^(Mac)/.test(_p)||/^(SunOS)/.test(_p)||/^(Linux)/.test(_p)||/^(Unix)/.test(_p))p=RegExp.$1.toLowerCase();else p=_p;if(n=="msie"&&v>=4){if(v<5||p=="mac")STM_SCROLL=0;t=0;}else if(n=="opera"&&v>=7||n=="safari"&&v>=1){if(n!="opera"||v<9)STM_SCROLL=0;STM_FILTER=0;t=1;}else if(n=="konqueror"&&v>=3){STM_FILTER=0;STM_SLIP=0;STM_SCROLL=0;t=1;}else if(n=="gecko"&&v>=20020529){STM_FILTER=0;if(v<20040804)STM_SCROLL=0;t=1;}else t=4;return {os:p,nam:n,ver:v,typ:t}}
function stckpg(){if(!st_ck.length) return;for(var j=0;j<st_ck.length;j++){if(!(st_ck[j][2]%st_ck[j][1])){st_ck[j][2]=1;st_ck[j][0]();}else st_ck[j][2]++;}st_tid=setTimeout("stckpg()",25);}
function stisF(s){var re=/\w+\.\w+$/;return re.exec(s)}
function stgJs(s,f){return "<script type='text/javascript' language='javascript1.2' src='"+s+"'"+(f?" DEFER":"")+"></script>"}
function stCreate(){var m=st_cm,d=document;if(m.eslip)steslip();if(m.ieff)stflt();var f=(st_funs&2)||(st_funs&4);switch(st_nav.typ){case 0:if(!(st_funs&2)){d.write(stgJs(m.jsP+"stie.js"));st_funs|=2;}break;case 1:if(!(st_funs&4)){d.write(stgJs(m.jsP+"stdom.js"));st_funs|=4;}}if((st_funs&512)&&f) stshow();else {d.write(stgJs(m.jsP+"stinit.js")); st_funs|=512;}}
function stDtB(a){var b=0;for(var j=0;j<a.length;j++)if(a[j]) b+=a[j]*Math.pow(2,j);return b;}
function stgPth(f,s){if(!s) return s;switch(f){case 0: s=stabs(s)?s:st_cm.imgP+s;stbuf(s);break;case 1:s=stabs(s)?s:st_cm.jsP+s;break;case 2:s=stabs(s)?s:st_cm.lnkP+s;if(!s.toLowerCase().indexOf("javascript:"))s+=";void(0)";break;case 3:s=stabs(s)?s:st_cm.imgP+s;break;}return s;}
function stLnks(i){var m=st_ms[i.mid];if(!i.lnk) return;for(var j=0;j<m.lnks.length;j++)if(m.lnks[j].url==i.lnk&&m.lnks[j].tar==i.tar){m.lnks[j].dat.push(i);break;}if(j==m.lnks.length) m.lnks.push({url:i.lnk,tar:i.tar,dat:[i]})}
function stHTML(s,f){if(!s) return "";var re;re=/&/g;s=s.replace(re,"&amp;");if(!f){ re=/ /g;s=s.replace(re,"&nbsp;");}re=/</g;s=s.replace(re,"&lt;");re=/>/g;s=s.replace(re,"&gt;");re=/\r\n/g;s=s.replace(re,"<br>");re=/\"/g;s=s.replace(re,"&quot;");return s;}
function stabs(s){var t=s.toLowerCase();return t=="@"||!t||!t.indexOf("#")||!t.indexOf("?")||t.indexOf(":")==1&&t.charCodeAt()>="a"&&t.charCodeAt()<="z"||!t.indexOf("http:")||!t.indexOf("https:")||!t.indexOf("file:")||!t.indexOf("ftp:")||!t.indexOf("/")||!t.indexOf("javascript:")||!t.indexOf("mailto:")||!t.indexOf("about:")||!t.indexOf("gopher:")||!t.indexOf("news:")||!t.indexOf("telnet:")||!t.indexOf("wais:")||!t.indexOf("rtsp:")||!t.indexOf("mms:");}
function stbuf(s){if(s&&STM_BIMG){for(var j=0;j<st_imgs.length;j++)if(st_imgs[j].src==s) return s;var i=new Image();i.src=s;st_imgs.push({src:s,img:i}); }return s;}
function stEffect(s,h){var p=st_cp,n=s.substring(10,s.length-2);if(n=="slip"&&STM_SLIP){if(typeof p.efft=="undefined") p.efft=0;p.effn="slip";p.efft|=h;st_cm.eslip=1;}}
function stsetld(){ if(st_nav.typ==4) return;var m=st_cm,f1=f2=1;if(!window.onload||onload.toString()!=stload.toString()){if(typeof(window.onload)=="function") st_ld.push(onload);window.onload=stload;}if(m.hdT.length&&!(st_funs&16)){st_ld.push(sthdw);document.write(stgJs(m.jsP+"stwinels.js",1));st_funs|=16;} if(m.lits&1&&!(st_funs&128)){st_ck.push([sthl,40,40]);st_ld.push(sthi);document.write(stgJs(m.jsP+"sthilight.js",1));st_funs|=128;}if(m.cks&1) staddE(6,"stcklo",m);if((isNaN(m.x)||isNaN(m.y))&&!(st_funs&8)){if((st_nav.os=="mac"&&!st_nav.typ)||!STM_SMSC)st_ck.push([stssc,20,1]);else st_ck.push([stssc,1,1]);st_funs|=8;}if(!(st_funs&1024)){st_ld.push(stckpg);st_funs|=1024;}}
function stgMe(n){for(var j=0;j<st_ms.length;j++)if(st_ms[j].nam==n) return st_ms[j];return false;}
function stload(){if(st_lded)return;for(var j=0;j<st_ld.length;j++)st_ld[j]();for(var j=0;j<st_ms.length;j++)if(st_ms[j].myload) st_ms[j].myload();st_lded=1;}
function staddE(i,f,m){if(!m.usrE[i])m.usrE[i]=[];m.usrE[i].push(f);}
function stusrE(i,o,m){var r=1;if(m.usrE[i]){for(var j=0;j<m.usrE[i].length;j++)if(window[m.usrE[i][j]]&&!eval(m.usrE[i][j]+"(o)")) r=0; }return r;}
function sthdw(){for(var j=0;j<st_ms.length;j++){var m=st_ms[j];if(m.hdT.length){staddE(1,"sthdWels",m);staddE(3,"stshWels",m);} }}
function stgtfrm(m){if(!m.cfrm) return window;var a=m.tfrn.split("."),w;if(m.sfrn) w="parent";else w="window";for(var j=0;j<a.length;++j){w+="."+a[j];if(typeof(eval(w))=="undefined")return window;}return eval(w);}
function stgsfrm(m){var s="",a=m.sfrn?("parent."+m.tfrn).split("."):m.tfrn.split("."),n=[],f=0;for(var j=0;j<a.length;j++){s+=a[j];if(a[j]!="parent"){if(a[j]=="window") continue;if(!f){if(n.length) n[n.length-1]="parent";f=1;}n.push("parent");}else n.push(eval(s).name);s+=".";} s="";for(var j=n.length-2;j>=0;j--)s+=n[j]+".";if(m.sfrn) s+=m.sfrn+".";else s+="parent.";m.sfrp=s;return s;}
function sthl(){if(typeof(stisL)=="undefined") return;for(var k=0;k<st_ms.length;k++){ var m=st_ms[k];if(!(m.lits&1)||m.isOv) continue;var w=stgtfrm(m),ip=new Array(m.ps.length),ii=new Array(m.ps.length),f=0,i,t,is,sn=0,pp,ex,li=m.hili,mck=m.ckhd;for(var j=0;j<m.lnks.length;j++){is=m.lnks[j].dat;if(stisL(m.lnks[j].url,m.lnks[j].tar,0,w)){ for( var l=is.length-1;l>=0;l--){ i=is[l]; if(!i.ishl||mck){ex=i.pid?stckL(i,w):stckL(i);if(m.lits&0x01000000){ if(ex){i._anchor.href="#";i._anchor.target="_self";i._layer.style.cursor=!m.cur[0].indexOf("url(")&&!st_nav.typ&&st_nav.ver<6||m.cur[0]=="hand"&&st_nav.typ==1&&st_nav.nam!="opera"?"":m.cur[0];} i.blnk=i.lnk;i.lnk="@";} f=1;}else{do{if(typeof ii[i.pid]=="undefined")ii[i.pid]=[];ii[i.pid][i.id]=1;i=i.parP.parI; }while(i&&(m.lits&0x04000000));continue;}pp=[];t=0;do{ if(m.lits&0x08000000)pp.push(i.parP);if(!t||m.lits&0x04000000){ if(ex&&!i.isOv){var los=i.lock;i.lock=0;stcIt(i,li);i.lock=los;}i.stat=i.oust=li;i.ishl=1; if(typeof ii[i.pid]=="undefined")ii[i.pid]=[];ii[i.pid][i.id]=1;}t=1;i=i.parP.parI; if(!i)break;ex=i.pid?stckL(i,w):stckL(i);}while(m.lits&0x04000000||m.lits&0x08000000);if(m.lits&0x10000000)sn=Math.max(pp.length-m.litl,0);for(var q=pp.length-1;q>=sn;q--){ clearTimeout(pp[q].tid);if(!pp[q].isSh){var los=pp[q].lock;pp[q].lock=0;stshP(pp[q]);pp[q].lock=los;}ip[pp[q].id]=1;}}}}if(f)for(var j=0;j<m.lnks.length;j++){is=m.lnks[j].dat;for(var l=0;l<is.length;l++){i=is[l];if(i.ishl&&(!ii[i.pid]||!ii[i.pid][i.id])) { ex=i.pid?stckL(i,w):stckL(i);pp=[];if((m.lits&0x01000000)&&i.blnk){i.lnk=i.blnk;i.blnk="";if(ex){i._anchor.href=i.lnk;i._anchor.target=i.tar;i._layer.style.cursor=!m.cur[1].indexOf("url(")&&!st_nav.typ&&st_nav.ver<6||m.cur[1]=="hand"&&st_nav.typ==1&&st_nav.nam!="opera"?"":m.cur[1];}}t=0;do{if(ii[i.pid]&&ii[i.pid][i.id])break;if(!t||m.lits&0x04000000){ if(ex&&!i.isOv){var los=i.lock;i.lock=0;stcIt(i,0);i.lock=los;}i.stat=i.oust=0;i.ishl=0;}if((m.lits&0x08000000)&&!ip[i.pid]&&i.parP.isSh){var los=i.parP.lock;i.parP.lock=0;sthdP(i.parP);i.parP.lock=los;}t=1;if(!(i=i.parP.parI)) break;ex=i.pid?stckL(i,w):stckL(i);}while(m.lits&0x04000000||m.lits&0x08000000);}}}}}
function stflt(){ var m=st_cm;staddE(0,"stfltshB",m);staddE(1,"stfltshE",m);staddE(2,"stflthdB",m);staddE(3,"stflthdE",m);if(!(st_funs&256)){document.write(stgJs(m.jsP+"stfilter.js"));st_funs|=256;}}
function steslip(){var m=st_cm;staddE(0,"stslsh",m);staddE(2,"stslhd",m);if(!(st_funs&32)){document.write(stgJs(m.jsP+"stslip.js",1));st_funs|=32;}}
function stssc(){if(typeof(stmvto)=='undefined'||!st_lded) return;for(var j=0;j<st_ms.length;j++){var m=st_ms[j];if(!isNaN(m.x)&&!isNaN(m.y)) continue;var p=m.ps[0],rc=p._rc,xy=[eval(m.x),eval(m.y)];if(typeof(p.scxs)=='undefined')p.scxs=0;if(typeof(p.scys)=='undefined')p.scys=0;var dx=xy[0]-rc[0],dy=xy[1]-rc[1];if(dx||dy){ p.scxs=stgsp(p.scxs,Math.abs(dx));p.scys=stgsp(p.scys,Math.abs(dy));var x=dx>0?rc[0]+p.scxs:rc[0]-p.scxs,y=dy>0?rc[1]+p.scys:rc[1]-p.scys;stmvto([x,y],p)}}}
function stgsp(sp,d){var i=0,s=5;if(d<s) return d;return Math.floor(Math.sqrt(2*d*s));}
function sthi(){for(var j=0;j<st_ms.length;j++)if(st_ms[j].lits&0x08000000)staddE(6,"stshlp",st_ms[j]);}
function stgfd(s){var ts=s.toLowerCase();if(!ts.indexOf("//")||!ts.indexOf("file:/")||!ts.indexOf("http://")||!ts.indexOf("https://"))return s.substr(0,s.lastIndexOf("/")+1);else return "";}
function stabsL(s){if(!s) return s;var re,t;if(s.charAt(0)=="/"){re=/(file:\/{2,}[^\/]+\/|http:\/\/[^\/]+\/|https:\/\/[^\/]+\/)/;if(re.exec(st_path)) s=RegExp.$1+s.substr(1);}else if(!stabs(s))s=st_path.substr(0,st_path.lastIndexOf("/")+1)+s;else return s;while(s.indexOf("/./")>0)s=s.replace("/./","/");while((t=s.indexOf("/../"))>0){var p1,p2;p1=s.substr(0,t);p2=s.substr(t).replace("/../","");p1=p1.substr(0,p1.lastIndexOf("/")+1);s=p1+p2;}return s;}
function stStyle(){var s="<style>",t;for (t in stCSS ) s+=".stc"+t+"{"+stCSS[t]+"}\n";return s+="</style>";}
function stgCss(t,f,c){var s="";if(!f){if(stCSS[t]) s=" class='stc"+t+"'";if(c) s+=" style=\""+c+"\"";}else{if(!c&&stCSS[t])s=" style='"+stCSS[t]+"'";else if(stCSS[t]){s=" style=\"";var a=ststo(c),b=ststo(stCSS[t]);for(var i in b) if(typeof a[i]=="undefined") a[i]=b[i];s+=stots(a);s+="\"";}}return s;}
function ststo(s){var o={},a,re=/\s*([\w\-_]+)\s*:\s*([:\w#%\- .\"\',\(\)\-\/\\=\|]+)\s*(;|$)/,ra;a=s.split(";"); for(var i=0;i<a.length;i++){ra=re.exec(a[i]);if(ra)o[ra[1]]=ra[2];}return o;}
function stots(a){var s="";for(var i in a) s+=i+":"+a[i]+";";return s;}
function stgEnt(o){var s="",f="", m=st_ms[o.mid];if(o.frm) f=m.sfrp?m.sfrp:stgsfrm(m);for(var j=0;j<stENTS.length;j++)if(o[stENTS[j]]) s+=stENTS[j]+"=\""+f+"stsEnt(event,this,"+j+",'st_ms["+o.mid+"]"+(typeof(o.pid)=="undefined"?".ps["+o.id+"]":((o.typ&17)/8==2?".ps["+o.pid+"].sc["+o.sid+"]":".ps["+o.pid+"].is["+o.id+"]"))+"')\" ";return s;}
function stgEff(f,i,s,h,st){if(!f.indexOf("stEffect")){if(!st)stEffect(f,h);return "";}if(f=="normal"||!STM_FILTER) return "";return st_nav.ver<5.5?(!st||st_nav.ver>=5)&&i<24&&i>=0?"revealTrans(Transition="+i+",Duration="+((110-s)/100)+")":"":f;}
function copyright_year() {
document.write( new Date().getFullYear() );
}
/*=======Ver: 7.0.60906========*/
/*DHTMLMenu, (c) 2006, SourceTec Software Co.,LTD - www.sothink.com*/
if(typeof st_js=="undefined")
{
STM_FILTER=1;
STM_SCROLL=1;
STM_SLIP=1;
STM_RTL=0;
STM_AHCM=0;
STM_SMSC=1;
STM_BIMG=1;
STM_ILOC=0;
STM_ILINK=0;
stHAL=["left","center","right"];
stVAL=["top","middle","bottom"];
stREP=["no-repeat","repeat-x","repeat-y","repeat"];
stBDS=["none","solid","double","dotted","dashed","groove","ridge","outset","inset"];
stENTS=["onmouseover","onmouseout","onclick","onmousedown","onmouseup","onfocus","onblur","onkeydown","onkeyup"];
st_ld=[];
st_lded=0;
st_ck=[];
st_ms=[];
st_imgs=[];
st_funs=0;
st_path=stgfd(location.href);
st_nav=stnav();
st_cm=st_cp=st_ci= st_tid=0;
if(!Array.prototype.push)Array.prototype.push=function(){var l=this.length;for(var i=0;i<arguments.length;i++)this[l++]=arguments[i];};
if(!Array.prototype.pop)Array.prototype.pop=function(){if(this.length){var o=this[this.length-1];this.length--;return o}};
st_css=0;
stCSS=
{
tb:"width:auto;height:auto;border-style:none;background-color:transparent;background-image:none;",
tr:"width:auto;height:auto;border-style:none;background-color:transparent;background-image:none;",
td:"height:auto;border-style:none;background-color:transparent;background-image:none;",
dv:"margin:0px;padding:0px;background-color:transparent;background-image:none;",
a:"border-style:none;margin:0px;padding:0px;background-color:transparent;background-image:none;"
}
if(document.getElementsByTagName?document.getElementsByTagName("body").length:document.all.tags("body").length)st_css=1;
else document.write(stStyle());
st_js=1;
}
function stm_bm(a){var jsp,sc,jsr;if(document.getElementsByTagName)sc=document.getElementsByTagName("script"); else if(document.all.tags)sc=document.all.tags("script");for(var j=0;j<sc.length;j++){jsr=sc[j].src;if(jsr&&jsr.indexOf("stmenu.js")!=-1){jsp=jsr.substring(0,jsr.indexOf("stmenu.js"));break;}}var ip=a[2]?a[2].charAt(a[2].length-1)!="/"?a[2]+"/":a[2]:"",lp=a[15]?a[15].charAt(a[15].length-1)!="/"?a[15]+"/":a[15]:"",jp=a[23]?a[23].charAt(a[23].length-1)!="/"?a[23]+"/":a[23]:"",n=st_ms.length,m;if(typeof jsp!="undefined")jp=jsp;st_cm=st_ms[n]=m={typ:a[4], id:n, nam:a[0],ids:a[0]+n,ps:[],x:a[5],y:a[6],hal:a[7], wid:a[16], bnk:stbuf(ip+a[3]),usrE:[],cfrm:0,cfsh:1, tfrn:"",sfrn:"",cfX:0,cfY:0,cfD:0,sc:[0,0],sp:0,deSV:a[9],deSH:a[10],hdp:a[19],deHd:a[19]?a[11]:3000,hdS:a[12],hdO:a[13],hdI:a[14], hdT:[],lits:a[17], lnks:[], litl:a[20],rtl:a[18],imgP:ip,jsP:jp,lnkP:lp,cks:a[8]};m.cur=[stisF(a[21])?"url("+stgPth(3,a[21])+"),auto":a[21],stisF(a[22])?"url("+stgPth(3,a[22])+"),auto":a[22]];if(m.hdS&&(!st_nav.typ&&st_nav.os!="mac"||st_nav.nam=="konqueror"))m.hdT.push("select");if(m.hdI&&(!st_nav.typ&&st_nav.ver<5.5||st_nav.nam=="opera"||st_nav.nam=="konqueror")) m.hdT.push("iframe"); if(m.hdO) m.hdT.push("object","embed","applet");if(m.lits&1){var li=[];if(m.lits&128)li[0]=1;if(m.lits&64)if(m.rtl)li[6]=1;else li[3]=1;if(m.lits&256)if(m.rtl)li[3]=1; else li[6]=1;if(m.lits&8)li[9]=1;if(m.lits&16)li[12]=1;if(m.lits&32)li[18]=1;if(m.lits&2)li[21]=1;if(m.lits&4)li[24]=1,li[27]=1;m.hili=stDtB(li);}}
function stm_bp(l,a){var m=st_cm,p,i=st_cp?st_ci:0,j=m.ps.length,st=!j&&!m.typ,tp=stDtB([a[0]]),pd;switch(a[1]){case 1:pd=4;break;case 2:pd=7;break;case 3:pd=1;break;case 4:pd=13;}st_cp=m.ps[j]=p={is:[],typ:tp, id:j,ids:m.ids+"p"+j, dir:pd,wid:0,hei:0, offX:a[2],offY:a[3],mar:a[4],pad:a[5],lms:m.rtl?a[7]:a[6],rms:m.rtl?a[6]:a[7], bgC:a[17],bgI:stgPth(0,a[18]),bgR:a[19],bd:a[20],bdW:a[21],bdC:a[22],zid:i?i.parP.zid+i.id+5:1000,isSt:st,isSh:0,isOV:0,parI:i,mid:m.id,frm:0,hal:st?m.hal:0,opc:a[8], shad:a[14],stre:st_nav.typ?0:a[15],sdC:a[16], efsp:a[13],sc:[0,0],dec:[stgPth(0,a[23]?a[23]:""),stgPth(0,a[30]?a[30]:""),stgPth(0,a[37]?a[37]:""),stgPth(0,a[44]?a[44]:"")],decH:[a[24]?a[24]:0,a[31]?a[31]:0,a[38]?a[38]:0,a[45]?a[45]:0],decW:[a[25]?a[25]:0,a[32]?a[32]:0,a[39]?a[39]:0,a[46]?a[46]:0],decB:[a[26]?a[26]:0,a[33]?a[33]:0,a[40]?a[40]:0,a[47]?a[47]:0],decBC:[a[27]?a[27]:"",a[34]?a[34]:"",a[41]?a[41]:"",a[48]?a[48]:""],decBI:[stgPth(0,a[28]?a[28]:""),stgPth(0,a[35]?a[35]:""),stgPth(0,a[42]?a[42]:""),stgPth(0,a[49]?a[49]:"")],decBR:[a[29]?a[29]:0,a[36]?a[36]:0,a[43]?a[43]:0,a[50]?a[50]:0],cor:[stgPth(0,a[51]?a[51]:""),stgPth(0,a[52]?a[52]:""),stgPth(0,a[53]?a[53]:""),stgPth(0,a[54]?a[54]:"")],args:a };p.onmouseover="stpov";p.onmouseout="stpou";p.lock=i?((m.cks&1)?1:0):0;p.eff=[stgEff(a[9],a[10],a[13],1,p.isSt),stgEff(a[11],a[12],a[13],2,p.isSt)];if(p.eff[0]||p.eff[1]) m.ieff=1;if(st&&!a[0]) p.wid=m.wid;if(i) i.subP=p;eval(l+"=p");}
function stm_bpx(l,r,a){var p=eval(r);stm_bp(l,(a.length?a.concat(p.args.slice(a.length)):p.args));}
function stm_ai(l,a){var m=st_cm,p=st_cp,v=p.typ&1,j=p.is.length,typ=stDtB([a[0]==6?2:a[0],0,m.rtl,a[0]==6?1:0]),i;if(a[0]==6)i=stItem([typ,p.ids+"sp"+j,"",(v?"100%":a[1]),(v?a[1]:"100%"),"",a[3],"",a[4],a[5],0,"","","","","","",0,0,0,"","",0,0,0,1,1,a[2],"","","","","",0,0,"","","","","","",0,0,0,"","",1,0,0]);else{var lw=v?p.lms:m.rtl?(a[18]+2*a[20]):(a[13]+2*a[15]),rw=v?p.rms:m.rtl?(a[13]+2*a[15]):(a[18]+2*a[20]);i=stItem([typ,p.ids+"i"+j,"",arguments[2]?arguments[2]:"100%",arguments[3]?arguments[3]:"100%",a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],m.rtl?a[16]:a[11],m.rtl?a[17]:a[12],m.rtl?a[18]:a[13],m.rtl?a[19]:a[14],m.rtl?a[20]:a[15],m.rtl?a[11]:a[16],m.rtl?a[12]:a[17],m.rtl?a[13]:a[18],m.rtl?a[14]:a[19],m.rtl?a[15]:a[20],a[21],a[22],a[24]?"transparent":a[23],a[26]?"transparent":a[25],a[27],a[28],a[29],a[30],a[31],a[32],a[33],a[34],a[35],a[36],a[37],a[38],a[39],a[40],p.pad,m.cur[0],m.cur[1],1,lw,rw]);if((!i.icoW||!i.icoH)&&lw&&v) {i.icoW=lw,i.icoH=-1,i.ico=["",""]};if((!i.arrW||!i.arrH)&&rw&&v) {i.arrW=rw,i.arrH=-1,i.arr=["",""]};i.isOv=0;}st_ci=p.is[j]=i;i.mid=m.id;i.pid=p.id; i.id=j;i.parP=p; if(a[0]!=6){ i.tid=0; i.subP=0;i.lock=(m.cks&1)?!(m.cks&2):0;i.onmouseover="stiov";i.onmouseout="stiou";i.onclick="stick";i.ovst=153391689;i.oust=0;stLnks(i);}i.args=a;eval(l+"=i");}
function stm_aix(l,r,a){var i=eval(r),wd=arguments.length>3?arguments[3]:0,ht=arguments.length>4?arguments[4]:0;stm_ai(l,(a.length?a.concat(i.args.slice(a.length)):i.args),wd,ht)}
function stm_ep(){var m=st_cm,p=st_cp;st_ci=p.parI;if(st_ci) st_cp=st_ci.parP;else st_cp=0; if(!p.is.length){var i=p.parI;if(m.rtl){i.ico=["",""];i.icoW=0;i.icoH=0;i.icoB=0;}else{i.arr=["",""];i.arrW=0;i.arrH=0;i.arrB=0;} i.subP=0;m.ps.pop();} }
function stm_sc(n,a){if(!STM_SCROLL)return; var m=st_cm,e;for(var j=1;j<m.ps.length;j++){var p=m.ps[j]; if(p.typ&2) e=1;if((p.typ&1)==n){ p.scsp=100;p.typ|=2;p.sc[0]=stItem([2,p.ids+"sc0","","100%","100%","",a[10],a[11],a[12],a[13],a[14],"","","","","","",0,0,0,a[2],a[3],0,0,0,1,1,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],"","","","",0,0,0,"hand","",1,0,0]);p.sc[0].typ=p.sc[0].typ|16;p.sc[0].onmouseover="stsov";p.sc[0].onmouseout="stsou";p.sc[0].onmousedown="stsdn";p.sc[0].onmouseup="stsdu";p.sc[0].sid=0;p.sc[0].parP=p;p.sc[0].mid=p.mid;p.sc[0].pid=p.id;p.sc[1]=stItem([2,p.ids+"sc1","","100%","100%","",a[16],a[15],a[17],a[18],a[19],"","","","","","",0,0,0,a[2],a[3],0,0,0,1,1,a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],"","","","",0,0,0,"hand","",1,0,0,0]);p.sc[1].typ=p.sc[1].typ|16;p.sc[1].onmouseover="stsov";p.sc[1].onmouseout="stsou";p.sc[1].onmousedown="stsdn";p.sc[1].onmouseup="stsdu";p.sc[1].sid=1;p.sc[1].pid=p.id;p.sc[1].mid=p.mid;p.sc[1].parP=p;p.scD=a[20]?a[21]:0;}} if(!e)staddE(0,"stsSc",m);if(!(st_funs&64))document.write(stgJs(m.jsP+"stscroll.js",1)),st_funs|=64;}
function stm_cf(a){var m=st_cm;m.cfD=a[0];m.cfX=a[1];m.cfY=a[2];m.cfrm=1;m.tfrn=a[3];m.sfrn=a[4];m.cfsh=a[5];}
function stm_em(){var m=st_cm;st_cp=st_ci=0;if(!m.ps.length){st_ms.pop(), st_cm=st_ms[st_ms.length-1];return;}for(var j=0;j<st_cm.ps.length;j++){var p=st_cm.ps[j];p.args=null;for(var k=0;k<st_cm.ps[j].is.length;k++)p.is[k].args=null;}stCreate();}
function stcklo(p){var m=st_ms[p.mid];for(var j=0;j<m.ps.length;j++){if(j) m.ps[j].lock=1;if(!(m.cks&2))for(var k=0;k<m.ps[j].is.length;k++)m.ps[j].is[k].lock=1;}m.ckd=0;}
function stItem(a){var i={typ:a[0], ids:a[1], nam:a[2],wid:a[3],hei:a[4],txt:a[0]&1?a[5]:stHTML(a[5]), img:[stgPth(0,a[6]),stgPth(0,a[7])],imgW:a[8],imgH:a[9],imgB:a[10], lnk:stabsL(stgPth(2,a[11])),tar:a[12]?a[12]:"_self", stus:a[13],tip:stHTML(a[14],1),ico:[stgPth(0,a[15]),stgPth(0,a[16])],icoW:a[17],icoH:a[18],icoB:a[19],arr:[stgPth(0,a[20]),stgPth(0,a[21])],arrW:a[22],arrH:a[23],arrB:a[24],thal:a[25],tval:a[26],bgC:[a[27],a[28]],bgI:[stgPth(0,a[29]),stgPth(0,a[30])],bgR:[a[31],a[32]],bd:a[33],bdW:a[34],bdC:[a[35],a[36]],colr:[a[37],a[38]],fnt:[a[39],a[40]],dec:[a[41],a[42]],pad:a[43],cur:[a[44],a[45]],hal:a[46], lw:a[47],rw:a[48],stat:0 };if(!i.bgI[0]&&i.bgI[1]) i.bgI[0]=st_cm.bnk;if(!i.bgI[1]&&i.bgI[0]) i.bgI[1]=st_cm.bnk;return i;}
function stnav(){var _n=navigator,_u=_n.userAgent,_a=_n.appName,_p=_n.platform,n,v,p;if(/(Opera)[ \/]([\d\.]+)/.test(_u)||/(Netscape)\d*\/([\d\.]+)/.test(_u)||/(MSIE) ([\d\.]+)/.test(_u)||/(Safari)\/([\d\.]+)/.test(_u)||/(Konqueror)\/([\d\.]+)/.test(_u)||/(Gecko)\/(\d+)/.test(_u)){n=RegExp.$1.toLowerCase();v=RegExp.$2;}else if(_a=="Netscape"&&_n.appVersion.charAt(0)=="4"){n="netscape4";v=_n.appVersion;}else{n="unknow";v=0;}if(n=="netscape")switch(_a){case "Microsoft Internet Explorer":n="msie";v=/(MSIE) ([\d\.]+)/.exec(_u)[2]; break;case "Netscape":n="gecko";v=/(Gecko)\/(\d+)/.exec(_u)[2];}v=parseFloat(v);if(/^(Win)/.test(_p)||/^(Mac)/.test(_p)||/^(SunOS)/.test(_p)||/^(Linux)/.test(_p)||/^(Unix)/.test(_p))p=RegExp.$1.toLowerCase();else p=_p;if(n=="msie"&&v>=4){if(v<5||p=="mac")STM_SCROLL=0;t=0;}else if(n=="opera"&&v>=7||n=="safari"&&v>=1){if(n!="opera"||v<9)STM_SCROLL=0;STM_FILTER=0;t=1;}else if(n=="konqueror"&&v>=3){STM_FILTER=0;STM_SLIP=0;STM_SCROLL=0;t=1;}else if(n=="gecko"&&v>=20020529){STM_FILTER=0;if(v<20040804)STM_SCROLL=0;t=1;}else t=4;return {os:p,nam:n,ver:v,typ:t}}
function stckpg(){if(!st_ck.length) return;for(var j=0;j<st_ck.length;j++){if(!(st_ck[j][2]%st_ck[j][1])){st_ck[j][2]=1;st_ck[j][0]();}else st_ck[j][2]++;}st_tid=setTimeout("stckpg()",25);}
function stisF(s){var re=/\w+\.\w+$/;return re.exec(s)}
function stgJs(s,f){return "<script type='text/javascript' language='javascript1.2' src='"+s+"'"+(f?" DEFER":"")+"></script>"}
function stCreate(){var m=st_cm,d=document;if(m.eslip)steslip();if(m.ieff)stflt();var f=(st_funs&2)||(st_funs&4);switch(st_nav.typ){case 0:if(!(st_funs&2)){d.write(stgJs(m.jsP+"stie.js"));st_funs|=2;}break;case 1:if(!(st_funs&4)){d.write(stgJs(m.jsP+"stdom.js"));st_funs|=4;}}if((st_funs&512)&&f) stshow();else {d.write(stgJs(m.jsP+"stinit.js")); st_funs|=512;}}
function stDtB(a){var b=0;for(var j=0;j<a.length;j++)if(a[j]) b+=a[j]*Math.pow(2,j);return b;}
function stgPth(f,s){if(!s) return s;switch(f){case 0: s=stabs(s)?s:st_cm.imgP+s;stbuf(s);break;case 1:s=stabs(s)?s:st_cm.jsP+s;break;case 2:s=stabs(s)?s:st_cm.lnkP+s;if(!s.toLowerCase().indexOf("javascript:"))s+=";void(0)";break;case 3:s=stabs(s)?s:st_cm.imgP+s;break;}return s;}
function stLnks(i){var m=st_ms[i.mid];if(!i.lnk) return;for(var j=0;j<m.lnks.length;j++)if(m.lnks[j].url==i.lnk&&m.lnks[j].tar==i.tar){m.lnks[j].dat.push(i);break;}if(j==m.lnks.length) m.lnks.push({url:i.lnk,tar:i.tar,dat:[i]})}
function stHTML(s,f){if(!s) return "";var re;re=/&/g;s=s.replace(re,"&amp;");if(!f){ re=/ /g;s=s.replace(re,"&nbsp;");}re=/</g;s=s.replace(re,"&lt;");re=/>/g;s=s.replace(re,"&gt;");re=/\r\n/g;s=s.replace(re,"<br>");re=/\"/g;s=s.replace(re,"&quot;");return s;}
function stabs(s){var t=s.toLowerCase();return t=="@"||!t||!t.indexOf("#")||!t.indexOf("?")||t.indexOf(":")==1&&t.charCodeAt()>="a"&&t.charCodeAt()<="z"||!t.indexOf("http:")||!t.indexOf("https:")||!t.indexOf("file:")||!t.indexOf("ftp:")||!t.indexOf("/")||!t.indexOf("javascript:")||!t.indexOf("mailto:")||!t.indexOf("about:")||!t.indexOf("gopher:")||!t.indexOf("news:")||!t.indexOf("telnet:")||!t.indexOf("wais:")||!t.indexOf("rtsp:")||!t.indexOf("mms:");}
function stbuf(s){if(s&&STM_BIMG){for(var j=0;j<st_imgs.length;j++)if(st_imgs[j].src==s) return s;var i=new Image();i.src=s;st_imgs.push({src:s,img:i}); }return s;}
function stEffect(s,h){var p=st_cp,n=s.substring(10,s.length-2);if(n=="slip"&&STM_SLIP){if(typeof p.efft=="undefined") p.efft=0;p.effn="slip";p.efft|=h;st_cm.eslip=1;}}
function stsetld(){ if(st_nav.typ==4) return;var m=st_cm,f1=f2=1;if(!window.onload||onload.toString()!=stload.toString()){if(typeof(window.onload)=="function") st_ld.push(onload);window.onload=stload;}if(m.hdT.length&&!(st_funs&16)){st_ld.push(sthdw);document.write(stgJs(m.jsP+"stwinels.js",1));st_funs|=16;} if(m.lits&1&&!(st_funs&128)){st_ck.push([sthl,40,40]);st_ld.push(sthi);document.write(stgJs(m.jsP+"sthilight.js",1));st_funs|=128;}if(m.cks&1) staddE(6,"stcklo",m);if((isNaN(m.x)||isNaN(m.y))&&!(st_funs&8)){if((st_nav.os=="mac"&&!st_nav.typ)||!STM_SMSC)st_ck.push([stssc,20,1]);else st_ck.push([stssc,1,1]);st_funs|=8;}if(!(st_funs&1024)){st_ld.push(stckpg);st_funs|=1024;}}
function stgMe(n){for(var j=0;j<st_ms.length;j++)if(st_ms[j].nam==n) return st_ms[j];return false;}
function stload(){if(st_lded)return;for(var j=0;j<st_ld.length;j++)st_ld[j]();for(var j=0;j<st_ms.length;j++)if(st_ms[j].myload) st_ms[j].myload();st_lded=1;}
function staddE(i,f,m){if(!m.usrE[i])m.usrE[i]=[];m.usrE[i].push(f);}
function stusrE(i,o,m){var r=1;if(m.usrE[i]){for(var j=0;j<m.usrE[i].length;j++)if(window[m.usrE[i][j]]&&!eval(m.usrE[i][j]+"(o)")) r=0; }return r;}
function sthdw(){for(var j=0;j<st_ms.length;j++){var m=st_ms[j];if(m.hdT.length){staddE(1,"sthdWels",m);staddE(3,"stshWels",m);} }}
function stgtfrm(m){if(!m.cfrm) return window;var a=m.tfrn.split("."),w;if(m.sfrn) w="parent";else w="window";for(var j=0;j<a.length;++j){w+="."+a[j];if(typeof(eval(w))=="undefined")return window;}return eval(w);}
function stgsfrm(m){var s="",a=m.sfrn?("parent."+m.tfrn).split("."):m.tfrn.split("."),n=[],f=0;for(var j=0;j<a.length;j++){s+=a[j];if(a[j]!="parent"){if(a[j]=="window") continue;if(!f){if(n.length) n[n.length-1]="parent";f=1;}n.push("parent");}else n.push(eval(s).name);s+=".";} s="";for(var j=n.length-2;j>=0;j--)s+=n[j]+".";if(m.sfrn) s+=m.sfrn+".";else s+="parent.";m.sfrp=s;return s;}
function sthl(){if(typeof(stisL)=="undefined") return;for(var k=0;k<st_ms.length;k++){ var m=st_ms[k];if(!(m.lits&1)||m.isOv) continue;var w=stgtfrm(m),ip=new Array(m.ps.length),ii=new Array(m.ps.length),f=0,i,t,is,sn=0,pp,ex,li=m.hili,mck=m.ckhd;for(var j=0;j<m.lnks.length;j++){is=m.lnks[j].dat;if(stisL(m.lnks[j].url,m.lnks[j].tar,0,w)){ for( var l=is.length-1;l>=0;l--){ i=is[l]; if(!i.ishl||mck){ex=i.pid?stckL(i,w):stckL(i);if(m.lits&0x01000000){ if(ex){i._anchor.href="#";i._anchor.target="_self";i._layer.style.cursor=!m.cur[0].indexOf("url(")&&!st_nav.typ&&st_nav.ver<6||m.cur[0]=="hand"&&st_nav.typ==1&&st_nav.nam!="opera"?"":m.cur[0];} i.blnk=i.lnk;i.lnk="@";} f=1;}else{do{if(typeof ii[i.pid]=="undefined")ii[i.pid]=[];ii[i.pid][i.id]=1;i=i.parP.parI; }while(i&&(m.lits&0x04000000));continue;}pp=[];t=0;do{ if(m.lits&0x08000000)pp.push(i.parP);if(!t||m.lits&0x04000000){ if(ex&&!i.isOv){var los=i.lock;i.lock=0;stcIt(i,li);i.lock=los;}i.stat=i.oust=li;i.ishl=1; if(typeof ii[i.pid]=="undefined")ii[i.pid]=[];ii[i.pid][i.id]=1;}t=1;i=i.parP.parI; if(!i)break;ex=i.pid?stckL(i,w):stckL(i);}while(m.lits&0x04000000||m.lits&0x08000000);if(m.lits&0x10000000)sn=Math.max(pp.length-m.litl,0);for(var q=pp.length-1;q>=sn;q--){ clearTimeout(pp[q].tid);if(!pp[q].isSh){var los=pp[q].lock;pp[q].lock=0;stshP(pp[q]);pp[q].lock=los;}ip[pp[q].id]=1;}}}}if(f)for(var j=0;j<m.lnks.length;j++){is=m.lnks[j].dat;for(var l=0;l<is.length;l++){i=is[l];if(i.ishl&&(!ii[i.pid]||!ii[i.pid][i.id])) { ex=i.pid?stckL(i,w):stckL(i);pp=[];if((m.lits&0x01000000)&&i.blnk){i.lnk=i.blnk;i.blnk="";if(ex){i._anchor.href=i.lnk;i._anchor.target=i.tar;i._layer.style.cursor=!m.cur[1].indexOf("url(")&&!st_nav.typ&&st_nav.ver<6||m.cur[1]=="hand"&&st_nav.typ==1&&st_nav.nam!="opera"?"":m.cur[1];}}t=0;do{if(ii[i.pid]&&ii[i.pid][i.id])break;if(!t||m.lits&0x04000000){ if(ex&&!i.isOv){var los=i.lock;i.lock=0;stcIt(i,0);i.lock=los;}i.stat=i.oust=0;i.ishl=0;}if((m.lits&0x08000000)&&!ip[i.pid]&&i.parP.isSh){var los=i.parP.lock;i.parP.lock=0;sthdP(i.parP);i.parP.lock=los;}t=1;if(!(i=i.parP.parI)) break;ex=i.pid?stckL(i,w):stckL(i);}while(m.lits&0x04000000||m.lits&0x08000000);}}}}}
function stflt(){ var m=st_cm;staddE(0,"stfltshB",m);staddE(1,"stfltshE",m);staddE(2,"stflthdB",m);staddE(3,"stflthdE",m);if(!(st_funs&256)){document.write(stgJs(m.jsP+"stfilter.js"));st_funs|=256;}}
function steslip(){var m=st_cm;staddE(0,"stslsh",m);staddE(2,"stslhd",m);if(!(st_funs&32)){document.write(stgJs(m.jsP+"stslip.js",1));st_funs|=32;}}
function stssc(){if(typeof(stmvto)=='undefined'||!st_lded) return;for(var j=0;j<st_ms.length;j++){var m=st_ms[j];if(!isNaN(m.x)&&!isNaN(m.y)) continue;var p=m.ps[0],rc=p._rc,xy=[eval(m.x),eval(m.y)];if(typeof(p.scxs)=='undefined')p.scxs=0;if(typeof(p.scys)=='undefined')p.scys=0;var dx=xy[0]-rc[0],dy=xy[1]-rc[1];if(dx||dy){ p.scxs=stgsp(p.scxs,Math.abs(dx));p.scys=stgsp(p.scys,Math.abs(dy));var x=dx>0?rc[0]+p.scxs:rc[0]-p.scxs,y=dy>0?rc[1]+p.scys:rc[1]-p.scys;stmvto([x,y],p)}}}
function stgsp(sp,d){var i=0,s=5;if(d<s) return d;return Math.floor(Math.sqrt(2*d*s));}
function sthi(){for(var j=0;j<st_ms.length;j++)if(st_ms[j].lits&0x08000000)staddE(6,"stshlp",st_ms[j]);}
function stgfd(s){var ts=s.toLowerCase();if(!ts.indexOf("//")||!ts.indexOf("file:/")||!ts.indexOf("http://")||!ts.indexOf("https://"))return s.substr(0,s.lastIndexOf("/")+1);else return "";}
function stabsL(s){if(!s) return s;var re,t;if(s.charAt(0)=="/"){re=/(file:\/{2,}[^\/]+\/|http:\/\/[^\/]+\/|https:\/\/[^\/]+\/)/;if(re.exec(st_path)) s=RegExp.$1+s.substr(1);}else if(!stabs(s))s=st_path.substr(0,st_path.lastIndexOf("/")+1)+s;else return s;while(s.indexOf("/./")>0)s=s.replace("/./","/");while((t=s.indexOf("/../"))>0){var p1,p2;p1=s.substr(0,t);p2=s.substr(t).replace("/../","");p1=p1.substr(0,p1.lastIndexOf("/")+1);s=p1+p2;}return s;}
function stStyle(){var s="<style>",t;for (t in stCSS ) s+=".stc"+t+"{"+stCSS[t]+"}\n";return s+="</style>";}
function stgCss(t,f,c){var s="";if(!f){if(stCSS[t]) s=" class='stc"+t+"'";if(c) s+=" style=\""+c+"\"";}else{if(!c&&stCSS[t])s=" style='"+stCSS[t]+"'";else if(stCSS[t]){s=" style=\"";var a=ststo(c),b=ststo(stCSS[t]);for(var i in b) if(typeof a[i]=="undefined") a[i]=b[i];s+=stots(a);s+="\"";}}return s;}
function ststo(s){var o={},a,re=/\s*([\w\-_]+)\s*:\s*([:\w#%\- .\"\',\(\)\-\/\\=\|]+)\s*(;|$)/,ra;a=s.split(";"); for(var i=0;i<a.length;i++){ra=re.exec(a[i]);if(ra)o[ra[1]]=ra[2];}return o;}
function stots(a){var s="";for(var i in a) s+=i+":"+a[i]+";";return s;}
function stgEnt(o){var s="",f="", m=st_ms[o.mid];if(o.frm) f=m.sfrp?m.sfrp:stgsfrm(m);for(var j=0;j<stENTS.length;j++)if(o[stENTS[j]]) s+=stENTS[j]+"=\""+f+"stsEnt(event,this,"+j+",'st_ms["+o.mid+"]"+(typeof(o.pid)=="undefined"?".ps["+o.id+"]":((o.typ&17)/8==2?".ps["+o.pid+"].sc["+o.sid+"]":".ps["+o.pid+"].is["+o.id+"]"))+"')\" ";return s;}
function stgEff(f,i,s,h,st){if(!f.indexOf("stEffect")){if(!st)stEffect(f,h);return "";}if(f=="normal"||!STM_FILTER) return "";return st_nav.ver<5.5?(!st||st_nav.ver>=5)&&i<24&&i>=0?"revealTrans(Transition="+i+",Duration="+((110-s)/100)+")":"":f;}
function copyright_year() {
document.write( new Date().getFullYear() );
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
# Last Updated: 2010.10.13 15:34:00
User-agent: ia_archiver
Disallow: /photos/victorszakats.jpg
Disallow: /photos/victorszakats2.jpg
# Last Updated: 2010.10.13 15:34:00
User-agent: ia_archiver
Disallow: /photos/victorszakats.jpg
Disallow: /photos/victorszakats2.jpg

View File

@@ -1,361 +1,361 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Sample Applications</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL"><a name="top" id="top"></a></td>
<td width="96%" height="26" class="title">Sample Applications</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">This is the list of some examples in Harbour's test directory. The examples demonstrate Harbour features in small programs.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Categories:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="#Basic" class="blue_link">Basic</a></li>
<li><a href="#Arrays" class="blue_link">Arrays</a></li>
<li><a href="#Database" class="blue_link">Database</a></li>
<li><a href="#Extensions" class="blue_link">Extensions</a></li>
<!--
<li><a href="#OOP" class="blue_link">OOP</a></li>
!-->
<li><a href="#Web" class="blue_link">Web</a></li>
<li><a href="#More" class="blue_link">More samples</a><br />
</li>
<li><a href="#compile" class="blue_link">How to compile</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td ><a name="Basic" id="Basic"></a></td>
<td valign="top" class="sample_subtitle">Basic</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="samples/hello.html" class="blue_link">Hello world (hello.prg)</a></li>
<li><a href="samples/tstmacro.html" class="blue_link">Dynamic code evalutation sample (tstmacro.prg)</a></li>
<li> <a href="samples/begin.html" class="blue_link">Begin Sequence support (begin.prg)</a></li>
<li><a href="samples/codebloc.html" class="blue_link">Codeblock support sample (codebloc.prg)</a></li>
<li><a href="samples/codebl.html" class="blue_link">Codeblock advanced sample (codebl.prg)</a></li>
<li><a href="samples/dates3.html" class="blue_link">Manipulation of date values (dates3.prg)</a></li>
<li><a href="samples/dates4.html" class="blue_link">Dates values with hbct.lib & hbmisc.lib (dates4.prg)</a></li>
<li><a href="samples/byref.html" class="blue_link">Manipulating variables by reference (byref.prg) </a></li>
<li><a href="samples/parseini.html" class="blue_link">Test for Ini file reading/writing (parseini.prg)</a></li>
<li><a href="samples/initexit.html" class="blue_link">INIT and EXIT functions support (initexit.prg)</a><a href="samples/byref.html" class="blue_link"></a></li>
<li><a href="samples/dosshell.html" class="blue_link">Run command: About to shell to DOS (dosshell.prg)</a></li>
<li><a href="samples/longdev.html" class="blue_link">Testing long string handling support (longdev.prg)</a></li>
<li><a href="samples/mousetst.html" class="blue_link">Mouse sample support (mousetst.prg) </a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td ><a name="Arrays" id="Arrays"></a></td>
<td valign="top" class="sample_subtitle">Arrays</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="samples/array16.html" class="blue_link">Multidimensional arrays demo (array16.prg)</a></li>
<li><a href="samples/arreval.html" class="blue_link">aEval() sample (arreval.prg)</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td ><a name="Database" id="Database"></a></td>
<td valign="top" class="sample_subtitle">Database</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="samples/testbrdb.html" class="blue_link">Browse() function demo (testbrdb.prg)</a></li>
<li><a href="samples/testbrw.html" class="blue_link">TBrowse() sample (testbrw.prg)</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td ><a name="Extensions" id="Extensions"></a></td>
<td valign="top" class="sample_subtitle">Extensions</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="samples/switch.html" class="blue_link">Switch support (switch.prg)</a></li>
<li><a href="samples/foreach.html" class="blue_link">FOR EACH example (foreach.prg)</a></li>
<li><a href="samples/testidle.html" class="blue_link">OnIdle sample (testidle.prg)</a></li>
<li><a href="samples/onidle.html" class="blue_link">OnIdle advanced sample (onidle.prg)</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<!--
<tr>
<td ><a name="OOP" id="OOP"></a></td>
<td valign="top" class="sample_subtitle">OOP</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Using Harbour Class HBClass (classes.prg)*</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Using Harbour Class HBClass with inherit (clasinh.prg)</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Testing Harbour hbclass.ch support (classch.prg)</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Tests the className message against the &quot;fundemental&quot; types of Clipper. (clasname.prg)</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Testing Harbour classes ON ERROR feature (testcls.prg)</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Demonstration/test code for non virtual hidden messages (clsnv.prg)</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Demonstration/test code for class method scoping (clsscope.prg)</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Example/test code for object destructors (destruct.prg)</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Implementation of dynamic objects in Harbour (dynobj.prg)*</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Implementation of operator overload in Harbour (overload.prg)</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Testing the operators-overloading feature (testop.prg)</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
-->
<tr>
<td ><a name="Web" id="Web"></a></td>
<td valign="top" class="pagina_subtitulo">Web</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="samples/testhtml.html" class="blue_link">Harbour Test of a HTML-Generator class (testhtml.prg)</a></li>
<li><a href="samples/testcgi.html" class="blue_link">Harbour Test of a CGI/HTML-Generator class (testcgi.prg)</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td ><a name="More" id="More"></a></td>
<td valign="top" class="pagina_subtitulo">More examples</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">More examples can be provided with the installation package of the Harbor. Look the CONTRIB\EXAMPLES folder to find another samples.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td ><a name="compile" id="compile"></a></td>
<td valign="top" class="sample_subtitle">How to compile the samples applications</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="samples/HowToBuildOnLinux.html" class="blue_link">On Linux</a></li>
<!--<li><a href="samples/HowToBuildOnWindows.html" class="blue_link">On Windows</a></li>-->
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-2012 The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Sample Applications</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL"><a name="top" id="top"></a></td>
<td width="96%" height="26" class="title">Sample Applications</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">This is the list of some examples in Harbour's test directory. The examples demonstrate Harbour features in small programs.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Categories:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="#Basic" class="blue_link">Basic</a></li>
<li><a href="#Arrays" class="blue_link">Arrays</a></li>
<li><a href="#Database" class="blue_link">Database</a></li>
<li><a href="#Extensions" class="blue_link">Extensions</a></li>
<!--
<li><a href="#OOP" class="blue_link">OOP</a></li>
!-->
<li><a href="#Web" class="blue_link">Web</a></li>
<li><a href="#More" class="blue_link">More samples</a><br />
</li>
<li><a href="#compile" class="blue_link">How to compile</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td ><a name="Basic" id="Basic"></a></td>
<td valign="top" class="sample_subtitle">Basic</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="samples/hello.html" class="blue_link">Hello world (hello.prg)</a></li>
<li><a href="samples/tstmacro.html" class="blue_link">Dynamic code evalutation sample (tstmacro.prg)</a></li>
<li> <a href="samples/begin.html" class="blue_link">Begin Sequence support (begin.prg)</a></li>
<li><a href="samples/codebloc.html" class="blue_link">Codeblock support sample (codebloc.prg)</a></li>
<li><a href="samples/codebl.html" class="blue_link">Codeblock advanced sample (codebl.prg)</a></li>
<li><a href="samples/dates3.html" class="blue_link">Manipulation of date values (dates3.prg)</a></li>
<li><a href="samples/dates4.html" class="blue_link">Dates values with hbct.lib & hbmisc.lib (dates4.prg)</a></li>
<li><a href="samples/byref.html" class="blue_link">Manipulating variables by reference (byref.prg) </a></li>
<li><a href="samples/parseini.html" class="blue_link">Test for Ini file reading/writing (parseini.prg)</a></li>
<li><a href="samples/initexit.html" class="blue_link">INIT and EXIT functions support (initexit.prg)</a><a href="samples/byref.html" class="blue_link"></a></li>
<li><a href="samples/dosshell.html" class="blue_link">Run command: About to shell to DOS (dosshell.prg)</a></li>
<li><a href="samples/longdev.html" class="blue_link">Testing long string handling support (longdev.prg)</a></li>
<li><a href="samples/mousetst.html" class="blue_link">Mouse sample support (mousetst.prg) </a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td ><a name="Arrays" id="Arrays"></a></td>
<td valign="top" class="sample_subtitle">Arrays</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="samples/array16.html" class="blue_link">Multidimensional arrays demo (array16.prg)</a></li>
<li><a href="samples/arreval.html" class="blue_link">aEval() sample (arreval.prg)</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td ><a name="Database" id="Database"></a></td>
<td valign="top" class="sample_subtitle">Database</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="samples/testbrdb.html" class="blue_link">Browse() function demo (testbrdb.prg)</a></li>
<li><a href="samples/testbrw.html" class="blue_link">TBrowse() sample (testbrw.prg)</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td ><a name="Extensions" id="Extensions"></a></td>
<td valign="top" class="sample_subtitle">Extensions</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="samples/switch.html" class="blue_link">Switch support (switch.prg)</a></li>
<li><a href="samples/foreach.html" class="blue_link">FOR EACH example (foreach.prg)</a></li>
<li><a href="samples/testidle.html" class="blue_link">OnIdle sample (testidle.prg)</a></li>
<li><a href="samples/onidle.html" class="blue_link">OnIdle advanced sample (onidle.prg)</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<!--
<tr>
<td ><a name="OOP" id="OOP"></a></td>
<td valign="top" class="sample_subtitle">OOP</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Using Harbour Class HBClass (classes.prg)*</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Using Harbour Class HBClass with inherit (clasinh.prg)</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Testing Harbour hbclass.ch support (classch.prg)</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Tests the className message against the &quot;fundemental&quot; types of Clipper. (clasname.prg)</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Testing Harbour classes ON ERROR feature (testcls.prg)</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Demonstration/test code for non virtual hidden messages (clsnv.prg)</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Demonstration/test code for class method scoping (clsscope.prg)</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Example/test code for object destructors (destruct.prg)</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Implementation of dynamic objects in Harbour (dynobj.prg)*</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Implementation of operator overload in Harbour (overload.prg)</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Testing the operators-overloading feature (testop.prg)</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
-->
<tr>
<td ><a name="Web" id="Web"></a></td>
<td valign="top" class="pagina_subtitulo">Web</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="samples/testhtml.html" class="blue_link">Harbour Test of a HTML-Generator class (testhtml.prg)</a></li>
<li><a href="samples/testcgi.html" class="blue_link">Harbour Test of a CGI/HTML-Generator class (testcgi.prg)</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td ><a name="More" id="More"></a></td>
<td valign="top" class="pagina_subtitulo">More examples</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">More examples can be provided with the installation package of the Harbor. Look the CONTRIB\EXAMPLES folder to find another samples.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
<tr>
<td ><a name="compile" id="compile"></a></td>
<td valign="top" class="sample_subtitle">How to compile the samples applications</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="samples/HowToBuildOnLinux.html" class="blue_link">On Linux</a></li>
<!--<li><a href="samples/HowToBuildOnWindows.html" class="blue_link">On Windows</a></li>-->
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td align="right"><div align="right"><a href="#top" title="Go top"><img src="images/arrow_up.gif" width="7" height="7" border="0" /></a></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><hr /></td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-2012 The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,185 +1,185 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; How to Build on Linux</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script>
</head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title"> How to Build on Linux</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">In the last phase of install process if bash shell is available in the system then few bash scripts are created to make compiling and linking with Harbour a little easier. There are compiler and linker wrappers called &quot;hbcc&quot;, &quot;hbcmp&quot;, &quot;hblnk&quot; and &quot;hbmk&quot;.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top"><p><br />
&quot;hbcc&quot; is a wrapper to the C compiler only. It sets all flags
and paths necessary to compile .c files which include Harbour header
files. The result of its work is an object file.</p>
<p>Use &quot;hbcmp&quot; exactly as you would use the harbour compiler itself.
The main difference with hbcmp is that it results in an object file,
not a C file that needs compiling down to an object. hbcmp also
ensures that the harbour include directory is seen by the harbour compiler.</p>
<p>&quot;hblnk&quot; simply takes a list of object files and links them together
with the harbour virtual machine and run-time library to produce an
executable. The executable will be given the basename of the first object
file if not directly set by the &quot;-o&quot; command line switch.</p>
<p>&quot;hbmk&quot; tries to produce an executable from your .prg file. It's a simple
equivalent of cl.bat from the CA-Clipper distribution.</p>
<p>All these scripts accept command line switches:<br />
<code><span class="any1-preprocessor" style="FONT: 10pt Courier New">-o&lt;outputfilename&gt; &nbsp;&nbsp;# output file name
<br />
-static &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with static Harbour libs
<br />
-fullstatic &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with all static libs
<br />
-shared &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # link with shared libs (default)
<br />
-mt &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with multi-thread libs
<br />
-gt&lt;hbgt&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with &lt;hbgt&gt; GT driver, can be repeated to <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; # link with more GTs. The first one will be<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></code><code><span class="any1-preprocessor" style="FONT: 10pt Courier New"># the default at runtime <br />
-xbgtk &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with xbgtk library (xBase GTK+ interface) <br />
-hwgui &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with HWGUI library (GTK+ interface) <br />
-l&lt;libname&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with &lt;libname&gt; library <br />
-L&lt;libpath&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# additional path to search for libraries <br />
-fmstat &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with the memory statistics lib <br />
-nofmstat &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# do not link with the memory statistics lib (default) <br />
-[no]strip &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# strip (no strip) binaries <br />
-main=&lt;main_func&gt; &nbsp;&nbsp;&nbsp;# set the name of main program function/procedure. <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # if not set then 'MAIN' is used or if it doesn't <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # exist the name of first public function/procedure <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # in first linked object module (link)</span></code>
<p>Link options work only with &quot;hblnk&quot; and &quot;hbmk&quot; and have no effect
in &quot;hbcc&quot; and &quot;hbcmp&quot;.
Other options are passed to Harbour/C compiler/linker.</p>
An example compile/link session looks like:
<br />
<span class="source_code">---------------------------------------------------------------------------------------druzus@uran:~/tmp$ cat foo.prg
<br />
<code><span style="FONT: 10pt Courier New"><span class="any1-reservedword">function</span><span class="any1-space"> </span><span class="any1-variable">main</span><span class="any1-symbol">()<br />
? </span><span class="any1-string">&quot;Hello, World!&quot;<br />
</span><span class="any1-reservedword">return</span><span class="any1-space"> nil</span></span></code></span>
<pre class="source_code">druzus@uran:~/tmp$ <strong>hbcmp</strong> foo
Harbour Compiler Alpha build 46.2 (Flex)
Copyright 1999-2006, http://harbour-project.org/
Compiling 'foo.prg'...
Lines 5, Functions/Procedures 2
Generating C source output to 'foo.c'... Done.</pre>
<pre class="source_code">druzus@uran:~/tmp$ <strong>hblnk</strong> foo.o<br />druzus@uran:~/tmp$ <strong>strip</strong> foo<br /><span class="source_code">druzus@uran:~/tmp$ ls -l foo
-rwxrwxr-x 1 druzus druzus 3824 maj 17 02:46 </span><span class="any1-escapeampersand">foo</span><span class="source_code">
</span>---------------------------------------------------------------------------------------</pre>
<p>or using hbmk only:<br />
<span class="source_code">---------------------------------------------------------------------------------------<br />
druzus@uran:~/tmp</SPAN>$ cat foo.prg <br />
<code><span style="FONT: 10pt Courier New"><span class="any1-reservedword">function</span> <span class="any1-variable">main</span><span class="any1-symbol">()<br />
? </span><span class="any1-string">&quot;Hello, World!&quot;<br />
</span><span class="any1-reservedword">return</span><span class="any1-space"> nil</span></span></code><br />
<br />
druzus@uran:~/tmp$ <strong>hbmk</strong> foo<br />
Harbour Compiler Alpha build 46.2 (Flex)
<br />
Copyright 1999-2006, http://harbour-project.org/<br />
Compiling 'foo.prg'...
<br />
Lines 5, Functions/Procedures 2<br />
Generating C source output to 'foo.c'... Done.<br />
<br />
druzus@uran:~/tmp$ ls -l foo<br />
-rwxrwxr-x 1 druzus druzus 3824 maj 17 02:46<SPAN class=any1-space> </span><span class="any1-escapeampersand">foo</span><span class="source_code"><br />
---------------------------------------------------------------------------------------</span><br />
<br />
You will find additional wonderful tools: /usr/bin/hbrun<br />
You can run clipper/xbase compatible source files with it
if you only put in their first line: #!/usr/bin/hbrun</p>
<p>For example:<br />
----------------------------------------------------------------------<br />
<span class="source_code">druzus@uran:~/tmp$ cat foo.prg<br />
#!/usr/bin/hbrun<br />
<code><span style="FONT: 10pt Courier New"><span class="any1-reservedword">function</span> <span class="any1-variable">main</span><span class="any1-symbol">()<br />
? </span><span class="any1-string">&quot;Hello, World!, This is a script !!! :-)&quot;<br />
</span><span class="any1-reservedword">return</span><span class="any1-space"> nil</span></span></code></span></p>
<p class="source_code">druzus@uran:~/tmp$ <strong>chmod</strong> +x foo.prg<br />
druzus@uran:~/tmp$ <strong>./foo.prg</strong></p>
<p class="source_code">Hello, World!, This is a script !!! :-)</p>
<p class="source_code">druzus@uran:~/tmp$</p>
<p>I hope you will find this information useful,<br />
Przemyslaw Czerpak (druzus/at/priv.onet.pl)<br />
</p> </td>
<td width="2%" >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; How to Build on Linux</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script>
</head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title"> How to Build on Linux</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">In the last phase of install process if bash shell is available in the system then few bash scripts are created to make compiling and linking with Harbour a little easier. There are compiler and linker wrappers called &quot;hbcc&quot;, &quot;hbcmp&quot;, &quot;hblnk&quot; and &quot;hbmk&quot;.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top"><p><br />
&quot;hbcc&quot; is a wrapper to the C compiler only. It sets all flags
and paths necessary to compile .c files which include Harbour header
files. The result of its work is an object file.</p>
<p>Use &quot;hbcmp&quot; exactly as you would use the harbour compiler itself.
The main difference with hbcmp is that it results in an object file,
not a C file that needs compiling down to an object. hbcmp also
ensures that the harbour include directory is seen by the harbour compiler.</p>
<p>&quot;hblnk&quot; simply takes a list of object files and links them together
with the harbour virtual machine and run-time library to produce an
executable. The executable will be given the basename of the first object
file if not directly set by the &quot;-o&quot; command line switch.</p>
<p>&quot;hbmk&quot; tries to produce an executable from your .prg file. It's a simple
equivalent of cl.bat from the CA-Clipper distribution.</p>
<p>All these scripts accept command line switches:<br />
<code><span class="any1-preprocessor" style="FONT: 10pt Courier New">-o&lt;outputfilename&gt; &nbsp;&nbsp;# output file name
<br />
-static &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with static Harbour libs
<br />
-fullstatic &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with all static libs
<br />
-shared &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # link with shared libs (default)
<br />
-mt &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with multi-thread libs
<br />
-gt&lt;hbgt&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with &lt;hbgt&gt; GT driver, can be repeated to <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; # link with more GTs. The first one will be<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></code><code><span class="any1-preprocessor" style="FONT: 10pt Courier New"># the default at runtime <br />
-xbgtk &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with xbgtk library (xBase GTK+ interface) <br />
-hwgui &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with HWGUI library (GTK+ interface) <br />
-l&lt;libname&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with &lt;libname&gt; library <br />
-L&lt;libpath&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# additional path to search for libraries <br />
-fmstat &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with the memory statistics lib <br />
-nofmstat &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# do not link with the memory statistics lib (default) <br />
-[no]strip &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# strip (no strip) binaries <br />
-main=&lt;main_func&gt; &nbsp;&nbsp;&nbsp;# set the name of main program function/procedure. <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # if not set then 'MAIN' is used or if it doesn't <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # exist the name of first public function/procedure <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # in first linked object module (link)</span></code>
<p>Link options work only with &quot;hblnk&quot; and &quot;hbmk&quot; and have no effect
in &quot;hbcc&quot; and &quot;hbcmp&quot;.
Other options are passed to Harbour/C compiler/linker.</p>
An example compile/link session looks like:
<br />
<span class="source_code">---------------------------------------------------------------------------------------druzus@uran:~/tmp$ cat foo.prg
<br />
<code><span style="FONT: 10pt Courier New"><span class="any1-reservedword">function</span><span class="any1-space"> </span><span class="any1-variable">main</span><span class="any1-symbol">()<br />
? </span><span class="any1-string">&quot;Hello, World!&quot;<br />
</span><span class="any1-reservedword">return</span><span class="any1-space"> nil</span></span></code></span>
<pre class="source_code">druzus@uran:~/tmp$ <strong>hbcmp</strong> foo
Harbour Compiler Alpha build 46.2 (Flex)
Copyright 1999-2006, http://harbour-project.org/
Compiling 'foo.prg'...
Lines 5, Functions/Procedures 2
Generating C source output to 'foo.c'... Done.</pre>
<pre class="source_code">druzus@uran:~/tmp$ <strong>hblnk</strong> foo.o<br />druzus@uran:~/tmp$ <strong>strip</strong> foo<br /><span class="source_code">druzus@uran:~/tmp$ ls -l foo
-rwxrwxr-x 1 druzus druzus 3824 maj 17 02:46 </span><span class="any1-escapeampersand">foo</span><span class="source_code">
</span>---------------------------------------------------------------------------------------</pre>
<p>or using hbmk only:<br />
<span class="source_code">---------------------------------------------------------------------------------------<br />
druzus@uran:~/tmp</SPAN>$ cat foo.prg <br />
<code><span style="FONT: 10pt Courier New"><span class="any1-reservedword">function</span> <span class="any1-variable">main</span><span class="any1-symbol">()<br />
? </span><span class="any1-string">&quot;Hello, World!&quot;<br />
</span><span class="any1-reservedword">return</span><span class="any1-space"> nil</span></span></code><br />
<br />
druzus@uran:~/tmp$ <strong>hbmk</strong> foo<br />
Harbour Compiler Alpha build 46.2 (Flex)
<br />
Copyright 1999-2006, http://harbour-project.org/<br />
Compiling 'foo.prg'...
<br />
Lines 5, Functions/Procedures 2<br />
Generating C source output to 'foo.c'... Done.<br />
<br />
druzus@uran:~/tmp$ ls -l foo<br />
-rwxrwxr-x 1 druzus druzus 3824 maj 17 02:46<SPAN class=any1-space> </span><span class="any1-escapeampersand">foo</span><span class="source_code"><br />
---------------------------------------------------------------------------------------</span><br />
<br />
You will find additional wonderful tools: /usr/bin/hbrun<br />
You can run clipper/xbase compatible source files with it
if you only put in their first line: #!/usr/bin/hbrun</p>
<p>For example:<br />
----------------------------------------------------------------------<br />
<span class="source_code">druzus@uran:~/tmp$ cat foo.prg<br />
#!/usr/bin/hbrun<br />
<code><span style="FONT: 10pt Courier New"><span class="any1-reservedword">function</span> <span class="any1-variable">main</span><span class="any1-symbol">()<br />
? </span><span class="any1-string">&quot;Hello, World!, This is a script !!! :-)&quot;<br />
</span><span class="any1-reservedword">return</span><span class="any1-space"> nil</span></span></code></span></p>
<p class="source_code">druzus@uran:~/tmp$ <strong>chmod</strong> +x foo.prg<br />
druzus@uran:~/tmp$ <strong>./foo.prg</strong></p>
<p class="source_code">Hello, World!, This is a script !!! :-)</p>
<p class="source_code">druzus@uran:~/tmp$</p>
<p>I hope you will find this information useful,<br />
Przemyslaw Czerpak (druzus/at/priv.onet.pl)<br />
</p> </td>
<td width="2%" >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,173 +1,173 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; How to Build on Windows</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script>
</head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title"> <p>How to Build on Windows</p> </td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">In the BIN folder where your Harbor was installed, is the file HBMK.BAT. This batch file will help you compile your applications in a Microsoft.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top"><p>&quot;hbmk&quot; tries to produce an executable from your .prg file. It's a simple
equivalent of cl.bat from the CA-Clipper distribution.</p>
<p>All these scripts accept command line switches:<br />
<code><span class="any1-preprocessor" style="FONT: 10pt Courier New">-o&lt;outputfilename&gt; &nbsp;&nbsp;# output file name
<br />
-static &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with static Harbour libs
<br />
-fullstatic &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with all static libs
<br />
-shared &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # link with shared libs (default)
<br />
-mt &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with multi-thread libs
<br />
-gt&lt;hbgt&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with &lt;hbgt&gt; GT driver, can be repeated to <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; # link with more GTs. The first one will be<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></code><code><span class="any1-preprocessor" style="FONT: 10pt Courier New"># the default at runtime <br />
-xbgtk &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with xbgtk library (xBase GTK+ interface) <br />
-hwgui &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with HWGUI library (GTK+ interface) <br />
-l&lt;libname&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with &lt;libname&gt; library <br />
-L&lt;libpath&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# additional path to search for libraries <br />
-fmstat &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with the memory statistics lib <br />
-nofmstat &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# do not link with the memory statistics lib (default) <br />
-[no]strip &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# strip (no strip) binaries <br />
-main=&lt;main_func&gt; &nbsp;&nbsp;&nbsp;# set the name of main program function/procedure. <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # if not set then 'MAIN' is used or if it doesn't <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # exist the name of first public function/procedure <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # in first linked object module (link)</span></code>
<p>Link options work only with &quot;hblnk&quot; and &quot;hbmk&quot; and have no effect
in &quot;hbcc&quot; and &quot;hbcmp&quot;.
Other options are passed to Harbour/C compiler/linker.</p>
An example compile/link session looks like:
<br />
<span class="source_code">---------------------------------------------------------------------------------------druzus@uran:~/tmp$ cat foo.prg
<br />
<code><span style="FONT: 10pt Courier New"><span class="any1-reservedword">function</span><span class="any1-space"> </span><span class="any1-variable">main</span><span class="any1-symbol">()<br />
? </span><span class="any1-string">&quot;Hello, World!&quot;<br />
</span><span class="any1-reservedword">return</span><span class="any1-space"> nil</span></span></code></span>
<pre class="source_code">druzus@uran:~/tmp$ <strong>hbcmp</strong> foo
Harbour Compiler Alpha build 46.2 (Flex)
Copyright 1999-2006, http://harbour-project.org/
Compiling 'foo.prg'...
Lines 5, Functions/Procedures 2
Generating C source output to 'foo.c'... Done.</pre>
<pre class="source_code">druzus@uran:~/tmp$ <strong>hblnk</strong> foo.o<br />druzus@uran:~/tmp$ <strong>strip</strong> foo<br /><span class="source_code">druzus@uran:~/tmp$ ls -l foo
-rwxrwxr-x 1 druzus druzus 3824 maj 17 02:46 </span><span class="any1-escapeampersand">foo</span><span class="source_code">
</span>---------------------------------------------------------------------------------------</pre>
<p>or using hbmk only:<br />
<span class="source_code">---------------------------------------------------------------------------------------<br />
druzus@uran:~/tmp</SPAN>$ cat foo.prg <br />
<code><span style="FONT: 10pt Courier New"><span class="any1-reservedword">function</span> <span class="any1-variable">main</span><span class="any1-symbol">()<br />
? </span><span class="any1-string">&quot;Hello, World!&quot;<br />
</span><span class="any1-reservedword">return</span><span class="any1-space"> nil</span></span></code><br />
<br />
druzus@uran:~/tmp$ <strong>hbmk</strong> foo<br />
Harbour Compiler Alpha build 46.2 (Flex)
<br />
Copyright 1999-2006, http://harbour-project.org/<br />
Compiling 'foo.prg'...
<br />
Lines 5, Functions/Procedures 2<br />
Generating C source output to 'foo.c'... Done.<br />
<br />
druzus@uran:~/tmp$ ls -l foo<br />
-rwxrwxr-x 1 druzus druzus 3824 maj 17 02:46<SPAN class=any1-space> </span><span class="any1-escapeampersand">foo</span><span class="source_code"><br />
---------------------------------------------------------------------------------------</span><br />
<br />
You will find additional wonderful tools: /usr/bin/hbrun<br />
You can run clipper/xbase compatible source files with it
if you only put in their first line: #!/usr/bin/hbrun</p>
<p>For example:<br />
----------------------------------------------------------------------<br />
<span class="source_code">druzus@uran:~/tmp$ cat foo.prg<br />
#!/usr/bin/hbrun<br />
<code><span style="FONT: 10pt Courier New"><span class="any1-reservedword">function</span> <span class="any1-variable">main</span><span class="any1-symbol">()<br />
? </span><span class="any1-string">&quot;Hello, World!, This is a script !!! :-)&quot;<br />
</span><span class="any1-reservedword">return</span><span class="any1-space"> nil</span></span></code></span></p>
<p class="source_code">druzus@uran:~/tmp$ <strong>chmod</strong> +x foo.prg<br />
druzus@uran:~/tmp$ <strong>./foo.prg</strong></p>
<p class="source_code">Hello, World!, This is a script !!! :-)</p>
<p class="source_code">druzus@uran:~/tmp$</p>
<p>I hope you will find this information useful,<br />
Przemyslaw Czerpak (druzus/at/priv.onet.pl)<br />
</p> </td>
<td width="2%" >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; How to Build on Windows</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script>
</head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title"> <p>How to Build on Windows</p> </td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">In the BIN folder where your Harbor was installed, is the file HBMK.BAT. This batch file will help you compile your applications in a Microsoft.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top"><p>&quot;hbmk&quot; tries to produce an executable from your .prg file. It's a simple
equivalent of cl.bat from the CA-Clipper distribution.</p>
<p>All these scripts accept command line switches:<br />
<code><span class="any1-preprocessor" style="FONT: 10pt Courier New">-o&lt;outputfilename&gt; &nbsp;&nbsp;# output file name
<br />
-static &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with static Harbour libs
<br />
-fullstatic &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with all static libs
<br />
-shared &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # link with shared libs (default)
<br />
-mt &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with multi-thread libs
<br />
-gt&lt;hbgt&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with &lt;hbgt&gt; GT driver, can be repeated to <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; # link with more GTs. The first one will be<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></code><code><span class="any1-preprocessor" style="FONT: 10pt Courier New"># the default at runtime <br />
-xbgtk &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with xbgtk library (xBase GTK+ interface) <br />
-hwgui &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with HWGUI library (GTK+ interface) <br />
-l&lt;libname&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with &lt;libname&gt; library <br />
-L&lt;libpath&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# additional path to search for libraries <br />
-fmstat &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# link with the memory statistics lib <br />
-nofmstat &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# do not link with the memory statistics lib (default) <br />
-[no]strip &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# strip (no strip) binaries <br />
-main=&lt;main_func&gt; &nbsp;&nbsp;&nbsp;# set the name of main program function/procedure. <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # if not set then 'MAIN' is used or if it doesn't <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # exist the name of first public function/procedure <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # in first linked object module (link)</span></code>
<p>Link options work only with &quot;hblnk&quot; and &quot;hbmk&quot; and have no effect
in &quot;hbcc&quot; and &quot;hbcmp&quot;.
Other options are passed to Harbour/C compiler/linker.</p>
An example compile/link session looks like:
<br />
<span class="source_code">---------------------------------------------------------------------------------------druzus@uran:~/tmp$ cat foo.prg
<br />
<code><span style="FONT: 10pt Courier New"><span class="any1-reservedword">function</span><span class="any1-space"> </span><span class="any1-variable">main</span><span class="any1-symbol">()<br />
? </span><span class="any1-string">&quot;Hello, World!&quot;<br />
</span><span class="any1-reservedword">return</span><span class="any1-space"> nil</span></span></code></span>
<pre class="source_code">druzus@uran:~/tmp$ <strong>hbcmp</strong> foo
Harbour Compiler Alpha build 46.2 (Flex)
Copyright 1999-2006, http://harbour-project.org/
Compiling 'foo.prg'...
Lines 5, Functions/Procedures 2
Generating C source output to 'foo.c'... Done.</pre>
<pre class="source_code">druzus@uran:~/tmp$ <strong>hblnk</strong> foo.o<br />druzus@uran:~/tmp$ <strong>strip</strong> foo<br /><span class="source_code">druzus@uran:~/tmp$ ls -l foo
-rwxrwxr-x 1 druzus druzus 3824 maj 17 02:46 </span><span class="any1-escapeampersand">foo</span><span class="source_code">
</span>---------------------------------------------------------------------------------------</pre>
<p>or using hbmk only:<br />
<span class="source_code">---------------------------------------------------------------------------------------<br />
druzus@uran:~/tmp</SPAN>$ cat foo.prg <br />
<code><span style="FONT: 10pt Courier New"><span class="any1-reservedword">function</span> <span class="any1-variable">main</span><span class="any1-symbol">()<br />
? </span><span class="any1-string">&quot;Hello, World!&quot;<br />
</span><span class="any1-reservedword">return</span><span class="any1-space"> nil</span></span></code><br />
<br />
druzus@uran:~/tmp$ <strong>hbmk</strong> foo<br />
Harbour Compiler Alpha build 46.2 (Flex)
<br />
Copyright 1999-2006, http://harbour-project.org/<br />
Compiling 'foo.prg'...
<br />
Lines 5, Functions/Procedures 2<br />
Generating C source output to 'foo.c'... Done.<br />
<br />
druzus@uran:~/tmp$ ls -l foo<br />
-rwxrwxr-x 1 druzus druzus 3824 maj 17 02:46<SPAN class=any1-space> </span><span class="any1-escapeampersand">foo</span><span class="source_code"><br />
---------------------------------------------------------------------------------------</span><br />
<br />
You will find additional wonderful tools: /usr/bin/hbrun<br />
You can run clipper/xbase compatible source files with it
if you only put in their first line: #!/usr/bin/hbrun</p>
<p>For example:<br />
----------------------------------------------------------------------<br />
<span class="source_code">druzus@uran:~/tmp$ cat foo.prg<br />
#!/usr/bin/hbrun<br />
<code><span style="FONT: 10pt Courier New"><span class="any1-reservedword">function</span> <span class="any1-variable">main</span><span class="any1-symbol">()<br />
? </span><span class="any1-string">&quot;Hello, World!, This is a script !!! :-)&quot;<br />
</span><span class="any1-reservedword">return</span><span class="any1-space"> nil</span></span></code></span></p>
<p class="source_code">druzus@uran:~/tmp$ <strong>chmod</strong> +x foo.prg<br />
druzus@uran:~/tmp$ <strong>./foo.prg</strong></p>
<p class="source_code">Hello, World!, This is a script !!! :-)</p>
<p class="source_code">druzus@uran:~/tmp$</p>
<p>I hope you will find this information useful,<br />
Przemyslaw Czerpak (druzus/at/priv.onet.pl)<br />
</p> </td>
<td width="2%" >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,132 +1,132 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; array16</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Multidimensional arrays demo <br /></td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This test demonstrates the many ways to access items in an array.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="array16.prg.html" class="blue_link">tests/array16.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/array16_w32.png" width="580" height="340" /><br />
array16 sample running on Windows Vista</span><br />
&nbsp;</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; array16</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Multidimensional arrays demo <br /></td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This test demonstrates the many ways to access items in an array.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="array16.prg.html" class="blue_link">tests/array16.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/array16_w32.png" width="580" height="340" /><br />
array16 sample running on Windows Vista</span><br />
&nbsp;</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,132 +1,132 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; arreval</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">aEval() sample</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">Simple AEval() test program. Note also that the code-block uses a second parameter to identify the position of the item currently in use.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="arreval.prg.html" class="blue_link">tests/arreval.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/arreval_w32.png" width="580" height="136" /><br />
arreval sample running on Windows</span><br />
&nbsp;</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; arreval</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">aEval() sample</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">Simple AEval() test program. Note also that the code-block uses a second parameter to identify the position of the item currently in use.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="arreval.prg.html" class="blue_link">tests/arreval.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/arreval_w32.png" width="580" height="136" /><br />
arreval sample running on Windows</span><br />
&nbsp;</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,121 +1,121 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; begin</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Begin Sequence support</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This files demonstrates the use of BEGIN/RECOVER/END SEQUENCE and BREAK statement in Harbour.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">Files:</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="begin.prg.html" class="blue_link">tests/begin.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle"><p>Screenshot:</p> </td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center" class="read_more"><img src="screenshots/begin.png" width="500" height="530" /><br />
begin demonstration running on Linux</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; begin</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Begin Sequence support</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This files demonstrates the use of BEGIN/RECOVER/END SEQUENCE and BREAK statement in Harbour.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">Files:</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="begin.prg.html" class="blue_link">tests/begin.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle"><p>Screenshot:</p> </td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center" class="read_more"><img src="screenshots/begin.png" width="500" height="530" /><br />
begin demonstration running on Linux</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,132 +1,132 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; byref</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Manipulating variables by reference. </td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This example shows how you can pass variables as a reference and change its values. </td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="byref.prg.html" class="blue_link">tests/byref.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/byref_w32.png" width="580" height="340" /><br />
initexit sample running on Windows<br />
</span></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright c 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; byref</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Manipulating variables by reference. </td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This example shows how you can pass variables as a reference and change its values. </td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="byref.prg.html" class="blue_link">tests/byref.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/byref_w32.png" width="580" height="340" /><br />
initexit sample running on Windows<br />
</span></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright c 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,121 +1,121 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; codebl</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Codeblock support sample</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">Harbour codeblocks demonstration.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">Files:</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="codebl.prg.html" class="blue_link">tests/codebl.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle"><p>Screenshot:</p></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center" class="read_more"><img src="screenshots/codebl.png" width="580" height="670" /><br />
<br />
</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; codebl</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Codeblock support sample</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">Harbour codeblocks demonstration.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">Files:</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="codebl.prg.html" class="blue_link">tests/codebl.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle"><p>Screenshot:</p></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center" class="read_more"><img src="screenshots/codebl.png" width="580" height="670" /><br />
<br />
</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,122 +1,122 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; codebloc</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Codeblock support sample</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">Harbour codeblocks test sample.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">Files:</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="codebloc.prg.html" class="blue_link">tests/codebloc.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle"><p>Screenshot:</p> </td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center" class="read_more"><img src="screenshots/codebloc.png" width="580" height="740" /><br />
<br />
</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; codebloc</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Codeblock support sample</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">Harbour codeblocks test sample.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">Files:</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="codebloc.prg.html" class="blue_link">tests/codebloc.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle"><p>Screenshot:</p> </td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center" class="read_more"><img src="screenshots/codebloc.png" width="580" height="740" /><br />
<br />
</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,143 +1,143 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>codebloc.prg</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16386" name=GENERATOR>
<STYLE type=text/css>
<!--
body { color: #000000; background-color: #FFFFFF; }
.any1-activedot { color: #800080; }
.any1-comment { color: #008080; }
.any1-constant { color: #800080; }
.any1-escapeampersand { color: #00FF00; font-weight: bold; }
.any1-function { color: #808000; }
.any1-identifier { color: #000000; }
.any1-number { color: #FF0000; }
.any1-preprocessor { }
.any1-reservedword { color: #800000; }
.any1-space { }
.any1-string { color: #0000FF; }
.any1-symbol { }
.any1-variable { color: #808000; }
-->
</STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<PRE><CODE><SPAN style="FONT: 10pt Courier New"><SPAN class=any1-comment>// codeblocks test
</SPAN><SPAN class=any1-reservedword>function</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>Main</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> B := </SPAN><SPAN class=any1-string>"this will never print"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> a := {| b, c | </SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"I am a codeblock"</SPAN><SPAN class=any1-space> + b + c ) }
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> d
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> de
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> ar := { </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-space> }
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> crlf:=</SPAN><SPAN class=any1-function>CHR</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>13</SPAN><SPAN class=any1-symbol>)+</SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>10</SPAN><SPAN class=any1-symbol>)
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> YY, X
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> x1, x2
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"this should print first"</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
</SPAN><SPAN class=any1-function>Eval</SPAN><SPAN class=any1-symbol>( a, </SPAN><SPAN class=any1-string>" with parameters"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>" ... and it works!"</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
d =</SPAN><SPAN class=any1-string>"with access to local variables"
</SPAN><SPAN class=any1-space> a ={| b, c | </SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"I am a second codeblock "</SPAN><SPAN class=any1-space> +d +b +;
</SPAN><SPAN class=any1-variable>IIF</SPAN><SPAN class=any1-symbol>(c==NIL, </SPAN><SPAN class=any1-string>' empty second parameter '</SPAN><SPAN class=any1-symbol>, c)), </SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>(crlf), </SPAN><SPAN class=any1-string>"WITH return value"</SPAN><SPAN class=any1-space> }
</SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( a, </SPAN><SPAN class=any1-string>", codeblock parameters"</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
</SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( a, </SPAN><SPAN class=any1-string>", codeblock parameters "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"and with second parameter"</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>MyEval</SPAN><SPAN class=any1-symbol>( a ) )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
</SPAN><SPAN class=any1-variable>OtherTest</SPAN><SPAN class=any1-symbol>( a )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
</SPAN><SPAN class=any1-variable>AnotherTest</SPAN><SPAN class=any1-symbol>( a, </SPAN><SPAN class=any1-string>"==&gt; Another "</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
a ={| c | </SPAN><SPAN class=any1-variable>IIF</SPAN><SPAN class=any1-symbol>( c=NIL, {| a | </SPAN><SPAN class=any1-string>"First "</SPAN><SPAN class=any1-symbol>+a}, {| a | </SPAN><SPAN class=any1-string>"Second "</SPAN><SPAN class=any1-symbol>+a}) }
a =</SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( a )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( a, </SPAN><SPAN class=any1-string>"codeblock created in a codeblock"</SPAN><SPAN class=any1-space> ) )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( ar[ </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ] )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
a :={|| ar[ </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ]++}
</SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( a )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( ar[ </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ] )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
yy :=</SPAN><SPAN class=any1-number>5
</SPAN><SPAN class=any1-space> x :={|xx| </SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-variable>LTRIM</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-function>STR</SPAN><SPAN class=any1-symbol>(xx))), </SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-string>"+"</SPAN><SPAN class=any1-symbol>), </SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-variable>LTRIM</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-function>STR</SPAN><SPAN class=any1-symbol>(yy))), </SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-string>"="</SPAN><SPAN class=any1-symbol>), xx + yy }
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( x, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ) ) </SPAN><SPAN class=any1-comment>//this is OK
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( CRLF )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( x, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-space> ) ) </SPAN><SPAN class=any1-comment>//this should ignore unnecesary parameters
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>QOut</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>RetBlock</SPAN><SPAN class=any1-symbol>(), </SPAN><SPAN class=any1-number>5</SPAN><SPAN class=any1-space> ) )
</SPAN><SPAN class=any1-comment>// BugToFix()
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Trying to use detached variable ..."</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
x1 :=</SPAN><SPAN class=any1-number>5
</SPAN><SPAN class=any1-space> x2 :=</SPAN><SPAN class=any1-number>6
</SPAN><SPAN class=any1-space> de =</SPAN><SPAN class=any1-variable>DetachLocal</SPAN><SPAN class=any1-symbol>( x1, x2 )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( de ) )
</SPAN><SPAN class=any1-comment>//changing the value of variables
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
x1 := </SPAN><SPAN class=any1-number>10
</SPAN><SPAN class=any1-space> x2 := </SPAN><SPAN class=any1-number>11
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>QOut</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( de ) )
de =</SPAN><SPAN class=any1-variable>DetachLocal</SPAN><SPAN class=any1-symbol>( x1, x2 )
</SPAN><SPAN class=any1-function>QOut</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( de ) )
</SPAN><SPAN class=any1-reservedword>return</SPAN><SPAN class=any1-space> nil
</SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>MyEval</SPAN><SPAN class=any1-symbol>( bCodeBlock )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> D:=</SPAN><SPAN class=any1-string>"this is another variable"
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>(bCodeBlock, </SPAN><SPAN class=any1-string>" from "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"MyEval Function"</SPAN><SPAN class=any1-space> ) )
</SPAN><SPAN class=any1-reservedword>PROCEDURE</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>OtherTest</SPAN><SPAN class=any1-symbol>( cblock )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> cb
cb :={| a, b | </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( cblock,a,b ) }
</SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( cb, </SPAN><SPAN class=any1-string>"--&gt; with nested "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"EVAL"</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-reservedword>RETURN
PROCEDURE</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>AnotherTest</SPAN><SPAN class=any1-symbol>( cb, a )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( cb, a ) )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>13</SPAN><SPAN class=any1-symbol>)+</SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>10</SPAN><SPAN class=any1-symbol>) )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( cb, a, </SPAN><SPAN class=any1-string>"again and again"</SPAN><SPAN class=any1-space> ) )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>13</SPAN><SPAN class=any1-symbol>)+</SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>10</SPAN><SPAN class=any1-symbol>) )
</SPAN><SPAN class=any1-reservedword>RETURN
FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>DetachLocal</SPAN><SPAN class=any1-symbol>( x, y )
</SPAN><SPAN class=any1-comment>//NOTE! this should work
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> z:=x+y
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> cb:={|| </SPAN><SPAN class=any1-function>QOut</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-string>"z=x+y="</SPAN><SPAN class=any1-symbol>), </SPAN><SPAN class=any1-function>QOut</SPAN><SPAN class=any1-symbol>(z), </SPAN><SPAN class=any1-function>QOut</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-string>"x*x="</SPAN><SPAN class=any1-symbol>), </SPAN><SPAN class=any1-function>QOut</SPAN><SPAN class=any1-symbol>(x*x), </SPAN><SPAN class=any1-function>QOut</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-string>"x*x+z="</SPAN><SPAN class=any1-symbol>), x*x+z}
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( cb )
</SPAN><SPAN class=any1-reservedword>PROCEDURE</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>BugToFix</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> b, a := {|| a+b }
b =</SPAN><SPAN class=any1-string>"bug "
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( a )
</SPAN><SPAN class=any1-reservedword>RETURN
FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>RetBlock</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( {|x| x*x} )
</SPAN></SPAN>
</CODE></PRE></BODY></HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>codebloc.prg</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16386" name=GENERATOR>
<STYLE type=text/css>
<!--
body { color: #000000; background-color: #FFFFFF; }
.any1-activedot { color: #800080; }
.any1-comment { color: #008080; }
.any1-constant { color: #800080; }
.any1-escapeampersand { color: #00FF00; font-weight: bold; }
.any1-function { color: #808000; }
.any1-identifier { color: #000000; }
.any1-number { color: #FF0000; }
.any1-preprocessor { }
.any1-reservedword { color: #800000; }
.any1-space { }
.any1-string { color: #0000FF; }
.any1-symbol { }
.any1-variable { color: #808000; }
-->
</STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<PRE><CODE><SPAN style="FONT: 10pt Courier New"><SPAN class=any1-comment>// codeblocks test
</SPAN><SPAN class=any1-reservedword>function</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>Main</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> B := </SPAN><SPAN class=any1-string>"this will never print"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> a := {| b, c | </SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"I am a codeblock"</SPAN><SPAN class=any1-space> + b + c ) }
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> d
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> de
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> ar := { </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-space> }
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> crlf:=</SPAN><SPAN class=any1-function>CHR</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>13</SPAN><SPAN class=any1-symbol>)+</SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>10</SPAN><SPAN class=any1-symbol>)
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> YY, X
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> x1, x2
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"this should print first"</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
</SPAN><SPAN class=any1-function>Eval</SPAN><SPAN class=any1-symbol>( a, </SPAN><SPAN class=any1-string>" with parameters"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>" ... and it works!"</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
d =</SPAN><SPAN class=any1-string>"with access to local variables"
</SPAN><SPAN class=any1-space> a ={| b, c | </SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"I am a second codeblock "</SPAN><SPAN class=any1-space> +d +b +;
</SPAN><SPAN class=any1-variable>IIF</SPAN><SPAN class=any1-symbol>(c==NIL, </SPAN><SPAN class=any1-string>' empty second parameter '</SPAN><SPAN class=any1-symbol>, c)), </SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>(crlf), </SPAN><SPAN class=any1-string>"WITH return value"</SPAN><SPAN class=any1-space> }
</SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( a, </SPAN><SPAN class=any1-string>", codeblock parameters"</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
</SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( a, </SPAN><SPAN class=any1-string>", codeblock parameters "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"and with second parameter"</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>MyEval</SPAN><SPAN class=any1-symbol>( a ) )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
</SPAN><SPAN class=any1-variable>OtherTest</SPAN><SPAN class=any1-symbol>( a )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
</SPAN><SPAN class=any1-variable>AnotherTest</SPAN><SPAN class=any1-symbol>( a, </SPAN><SPAN class=any1-string>"==&gt; Another "</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
a ={| c | </SPAN><SPAN class=any1-variable>IIF</SPAN><SPAN class=any1-symbol>( c=NIL, {| a | </SPAN><SPAN class=any1-string>"First "</SPAN><SPAN class=any1-symbol>+a}, {| a | </SPAN><SPAN class=any1-string>"Second "</SPAN><SPAN class=any1-symbol>+a}) }
a =</SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( a )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( a, </SPAN><SPAN class=any1-string>"codeblock created in a codeblock"</SPAN><SPAN class=any1-space> ) )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( ar[ </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ] )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
a :={|| ar[ </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ]++}
</SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( a )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( ar[ </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ] )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
yy :=</SPAN><SPAN class=any1-number>5
</SPAN><SPAN class=any1-space> x :={|xx| </SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-variable>LTRIM</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-function>STR</SPAN><SPAN class=any1-symbol>(xx))), </SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-string>"+"</SPAN><SPAN class=any1-symbol>), </SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-variable>LTRIM</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-function>STR</SPAN><SPAN class=any1-symbol>(yy))), </SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-string>"="</SPAN><SPAN class=any1-symbol>), xx + yy }
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( x, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ) ) </SPAN><SPAN class=any1-comment>//this is OK
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( CRLF )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( x, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-space> ) ) </SPAN><SPAN class=any1-comment>//this should ignore unnecesary parameters
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>QOut</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>RetBlock</SPAN><SPAN class=any1-symbol>(), </SPAN><SPAN class=any1-number>5</SPAN><SPAN class=any1-space> ) )
</SPAN><SPAN class=any1-comment>// BugToFix()
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Trying to use detached variable ..."</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
x1 :=</SPAN><SPAN class=any1-number>5
</SPAN><SPAN class=any1-space> x2 :=</SPAN><SPAN class=any1-number>6
</SPAN><SPAN class=any1-space> de =</SPAN><SPAN class=any1-variable>DetachLocal</SPAN><SPAN class=any1-symbol>( x1, x2 )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( de ) )
</SPAN><SPAN class=any1-comment>//changing the value of variables
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( crlf )
x1 := </SPAN><SPAN class=any1-number>10
</SPAN><SPAN class=any1-space> x2 := </SPAN><SPAN class=any1-number>11
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>QOut</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( de ) )
de =</SPAN><SPAN class=any1-variable>DetachLocal</SPAN><SPAN class=any1-symbol>( x1, x2 )
</SPAN><SPAN class=any1-function>QOut</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( de ) )
</SPAN><SPAN class=any1-reservedword>return</SPAN><SPAN class=any1-space> nil
</SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>MyEval</SPAN><SPAN class=any1-symbol>( bCodeBlock )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> D:=</SPAN><SPAN class=any1-string>"this is another variable"
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>(bCodeBlock, </SPAN><SPAN class=any1-string>" from "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"MyEval Function"</SPAN><SPAN class=any1-space> ) )
</SPAN><SPAN class=any1-reservedword>PROCEDURE</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>OtherTest</SPAN><SPAN class=any1-symbol>( cblock )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> cb
cb :={| a, b | </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( cblock,a,b ) }
</SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( cb, </SPAN><SPAN class=any1-string>"--&gt; with nested "</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"EVAL"</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-reservedword>RETURN
PROCEDURE</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>AnotherTest</SPAN><SPAN class=any1-symbol>( cb, a )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( cb, a ) )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>13</SPAN><SPAN class=any1-symbol>)+</SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>10</SPAN><SPAN class=any1-symbol>) )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( cb, a, </SPAN><SPAN class=any1-string>"again and again"</SPAN><SPAN class=any1-space> ) )
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>13</SPAN><SPAN class=any1-symbol>)+</SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>10</SPAN><SPAN class=any1-symbol>) )
</SPAN><SPAN class=any1-reservedword>RETURN
FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>DetachLocal</SPAN><SPAN class=any1-symbol>( x, y )
</SPAN><SPAN class=any1-comment>//NOTE! this should work
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> z:=x+y
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> cb:={|| </SPAN><SPAN class=any1-function>QOut</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-string>"z=x+y="</SPAN><SPAN class=any1-symbol>), </SPAN><SPAN class=any1-function>QOut</SPAN><SPAN class=any1-symbol>(z), </SPAN><SPAN class=any1-function>QOut</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-string>"x*x="</SPAN><SPAN class=any1-symbol>), </SPAN><SPAN class=any1-function>QOut</SPAN><SPAN class=any1-symbol>(x*x), </SPAN><SPAN class=any1-function>QOut</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-string>"x*x+z="</SPAN><SPAN class=any1-symbol>), x*x+z}
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( cb )
</SPAN><SPAN class=any1-reservedword>PROCEDURE</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>BugToFix</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> b, a := {|| a+b }
b =</SPAN><SPAN class=any1-string>"bug "
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>EVAL</SPAN><SPAN class=any1-symbol>( a )
</SPAN><SPAN class=any1-reservedword>RETURN
FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>RetBlock</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( {|x| x*x} )
</SPAN></SPAN>
</CODE></PRE></BODY></HTML>

View File

@@ -1,124 +1,124 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; dates3</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Manipulation of date values</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This example demonstrates the manipulation of date values and the use of SET (_SET_DATEFORMAT) to format the return of function DATE().</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="dates3.prg.html" class="blue_link">tests/dates3.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><img src="screenshots/dates3_w32.png" width="440" height="340" /></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; dates3</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Manipulation of date values</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This example demonstrates the manipulation of date values and the use of SET (_SET_DATEFORMAT) to format the return of function DATE().</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="dates3.prg.html" class="blue_link">tests/dates3.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><img src="screenshots/dates3_w32.png" width="440" height="340" /></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,124 +1,124 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; dates3</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Manipulation of date values</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">Example of dates with several functions of hbct.lib &amp; hbmisc.lib </td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="dates3.prg.html" class="blue_link">tests/dates3.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><img src="screenshots/dates3_w32.png" width="440" height="340" /></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; dates3</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Manipulation of date values</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">Example of dates with several functions of hbct.lib &amp; hbmisc.lib </td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="dates3.prg.html" class="blue_link">tests/dates3.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><img src="screenshots/dates3_w32.png" width="440" height="340" /></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,138 +1,138 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; dosshell</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Run command: About to shell to DOS</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This program uses geten () and the environment variable COMSPEC to start a new shell. </td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="dosshell.prg.html" class="blue_link">tests/dosshell.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/dosshell_w32.png" width="580" height="340" /><br />
dosshell sample running on Windows Vista<br />
<br />
<img src="screenshots/dosshell_linux.png" width="545" height="131" /><br />
dosshell sample running on Linux<br />
<br />
Note: To get the same result on Linux, you could execute a command &quot;run bash&quot;<br />
to forcing the beginning of a new shell. <br />
</span></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; dosshell</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Run command: About to shell to DOS</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This program uses geten () and the environment variable COMSPEC to start a new shell. </td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="dosshell.prg.html" class="blue_link">tests/dosshell.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/dosshell_w32.png" width="580" height="340" /><br />
dosshell sample running on Windows Vista<br />
<br />
<img src="screenshots/dosshell_linux.png" width="545" height="131" /><br />
dosshell sample running on Linux<br />
<br />
Note: To get the same result on Linux, you could execute a command &quot;run bash&quot;<br />
to forcing the beginning of a new shell. <br />
</span></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,53 +1,53 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>dosshell.prg</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16386" name=GENERATOR>
<STYLE type=text/css>
<!--
body { color: #000000; background-color: #FFFFFF; }
.any1-activedot { color: #800080; }
.any1-comment { color: #008080; }
.any1-constant { color: #800080; }
.any1-escapeampersand { color: #00FF00; font-weight: bold; }
.any1-function { color: #808000; }
.any1-identifier { color: #000000; }
.any1-number { color: #FF0000; }
.any1-preprocessor { }
.any1-reservedword { color: #800000; }
.any1-space { }
.any1-string { color: #0000FF; }
.any1-symbol { }
.any1-variable { color: #808000; }
-->
</STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<PRE><CODE><SPAN style="FONT: 10pt Courier New"><SPAN class=any1-comment>//
// DosShell
//
// This program shell to DOS
//
// Warning : DOS only
//
// Written by Eddie Runia &lt;eddie@runia.com&gt;
// www - http://harbour-project.org
//
// Placed in the public domain
//
</SPAN><SPAN class=any1-reservedword>function</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>Main</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> cOs := </SPAN><SPAN class=any1-function>Upper</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>OS</SPAN><SPAN class=any1-symbol>() )
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> cShell := </SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-string>"COMSPEC"</SPAN><SPAN class=any1-symbol>)
</SPAN><SPAN class=any1-reservedword>if</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>at</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"WINDOWS"</SPAN><SPAN class=any1-symbol>, cOs ) != </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-space> .or. </SPAN><SPAN class=any1-function>at</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"DOS"</SPAN><SPAN class=any1-symbol>, cOs ) != </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-space> ;
.or. </SPAN><SPAN class=any1-function>at</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"OS/2"</SPAN><SPAN class=any1-symbol>, cOs ) != </SPAN><SPAN class=any1-number>0
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"About to shell to DOS.."
</SPAN><SPAN class=any1-space> ! (cShell)
? </SPAN><SPAN class=any1-string>"Hey, I am back !"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>else
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Sorry this program is for Windows, DOS, and OS/2 only"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>endif
return</SPAN><SPAN class=any1-space> nil
</SPAN></SPAN>
</CODE></PRE></BODY></HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>dosshell.prg</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16386" name=GENERATOR>
<STYLE type=text/css>
<!--
body { color: #000000; background-color: #FFFFFF; }
.any1-activedot { color: #800080; }
.any1-comment { color: #008080; }
.any1-constant { color: #800080; }
.any1-escapeampersand { color: #00FF00; font-weight: bold; }
.any1-function { color: #808000; }
.any1-identifier { color: #000000; }
.any1-number { color: #FF0000; }
.any1-preprocessor { }
.any1-reservedword { color: #800000; }
.any1-space { }
.any1-string { color: #0000FF; }
.any1-symbol { }
.any1-variable { color: #808000; }
-->
</STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<PRE><CODE><SPAN style="FONT: 10pt Courier New"><SPAN class=any1-comment>//
// DosShell
//
// This program shell to DOS
//
// Warning : DOS only
//
// Written by Eddie Runia &lt;eddie@runia.com&gt;
// www - http://harbour-project.org
//
// Placed in the public domain
//
</SPAN><SPAN class=any1-reservedword>function</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>Main</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> cOs := </SPAN><SPAN class=any1-function>Upper</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>OS</SPAN><SPAN class=any1-symbol>() )
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> cShell := </SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-string>"COMSPEC"</SPAN><SPAN class=any1-symbol>)
</SPAN><SPAN class=any1-reservedword>if</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>at</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"WINDOWS"</SPAN><SPAN class=any1-symbol>, cOs ) != </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-space> .or. </SPAN><SPAN class=any1-function>at</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"DOS"</SPAN><SPAN class=any1-symbol>, cOs ) != </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-space> ;
.or. </SPAN><SPAN class=any1-function>at</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"OS/2"</SPAN><SPAN class=any1-symbol>, cOs ) != </SPAN><SPAN class=any1-number>0
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"About to shell to DOS.."
</SPAN><SPAN class=any1-space> ! (cShell)
? </SPAN><SPAN class=any1-string>"Hey, I am back !"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>else
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"Sorry this program is for Windows, DOS, and OS/2 only"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>endif
return</SPAN><SPAN class=any1-space> nil
</SPAN></SPAN>
</CODE></PRE></BODY></HTML>

View File

@@ -1,132 +1,132 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; foreach</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">FOR EACH example</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This example demonstrates how to use the FOR EACH command. FOR EACH iterates with elements of data types that can be seen as a collection such as arrays, strings or objects.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="foreach.prg.html" class="blue_link">tests/foreach.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/foreach_w32.png" width="580" height="340" /><br />
foreach sample running on Windows</span><br />
&nbsp;</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; foreach</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">FOR EACH example</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This example demonstrates how to use the FOR EACH command. FOR EACH iterates with elements of data types that can be seen as a collection such as arrays, strings or objects.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="foreach.prg.html" class="blue_link">tests/foreach.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/foreach_w32.png" width="580" height="340" /><br />
foreach sample running on Windows</span><br />
&nbsp;</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,134 +1,134 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; hello</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Hello world</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">A single Hello World with a typical welcome message.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">Files:</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="hello.prg.html" class="blue_link">tests/hello.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle"><p>Screenshots:</p>
</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center" class="read_more"><img src="screenshots/hello_w32.png" width="501" height="239" /><br />
Hello application running on Windows</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center" class="read_more"><img src="screenshots/hello_linux.png" width="529" height="175" /><br />
Hello application running on Linux<br />
</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; hello</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Hello world</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">A single Hello World with a typical welcome message.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">Files:</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="hello.prg.html" class="blue_link">tests/hello.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle"><p>Screenshots:</p>
</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center" class="read_more"><img src="screenshots/hello_w32.png" width="501" height="239" /><br />
Hello application running on Windows</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center" class="read_more"><img src="screenshots/hello_linux.png" width="529" height="175" /><br />
Hello application running on Linux<br />
</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,132 +1,132 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; initexit</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">INIT and EXIT functions support</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">Testing INIT and EXIT functions and initialization of static variables.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="initexit.prg.html" class="blue_link">tests/initexit.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/initexit_w32.png" width="580" height="340" /><br />
initexit sample running on Windows<br />
</span></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; initexit</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">INIT and EXIT functions support</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">Testing INIT and EXIT functions and initialization of static variables.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="initexit.prg.html" class="blue_link">tests/initexit.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/initexit_w32.png" width="580" height="340" /><br />
initexit sample running on Windows<br />
</span></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,135 +1,135 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; longdev</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Testing long string handling support</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">Testing Harbour long string handling with device output. <br />
<span class="read_more">NOTE: The Clipper limits the size of a string of up to 65,535 bytes (64K). In Harbor this limit is much higher: you could load a file with more than 2Gb to inside a memory variable! </span></td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="longdev.prg.html" class="blue_link">tests/longdev.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><br />
<img src="screenshots/longdev_linux.png" width="545" height="191" /><br />
longdev application running on Linux<br />
<br />
</span></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; longdev</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Testing long string handling support</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">Testing Harbour long string handling with device output. <br />
<span class="read_more">NOTE: The Clipper limits the size of a string of up to 65,535 bytes (64K). In Harbor this limit is much higher: you could load a file with more than 2Gb to inside a memory variable! </span></td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="longdev.prg.html" class="blue_link">tests/longdev.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><br />
<img src="screenshots/longdev_linux.png" width="545" height="191" /><br />
longdev application running on Linux<br />
<br />
</span></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,64 +1,64 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>longdev.prg</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16386" name=GENERATOR>
<STYLE type=text/css>
<!--
body { color: #000000; background-color: #FFFFFF; }
.any1-activedot { color: #800080; }
.any1-comment { color: #008080; }
.any1-constant { color: #800080; }
.any1-escapeampersand { color: #00FF00; font-weight: bold; }
.any1-function { color: #808000; }
.any1-identifier { color: #000000; }
.any1-number { color: #FF0000; }
.any1-preprocessor { }
.any1-reservedword { color: #800000; }
.any1-space { }
.any1-string { color: #0000FF; }
.any1-symbol { }
.any1-variable { color: #808000; }
-->
</STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<PRE><CODE><SPAN style="FONT: 10pt Courier New"><SPAN class=any1-comment>// Testing Harbour long string handling with device output.
/* Harbour Project source code
http://harbour-project.org/
Donated to the public domain on 2001-03-08 by David G. Holm &lt;dholm@jsd-llc.com&gt;
*/
</SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>Main</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> cShort := </SPAN><SPAN class=any1-string>"1234567890"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> i, j, cLong, cBuffer, nHandle
</SPAN><SPAN class=any1-comment>// Create an 80 KB string (Clipper is limited to 64 KB).
</SPAN><SPAN class=any1-space> cLong := cShort
</SPAN><SPAN class=any1-reservedword>FOR</SPAN><SPAN class=any1-space> i := </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>TO</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-number>13
</SPAN><SPAN class=any1-space> cLong += cLong
</SPAN><SPAN class=any1-reservedword>NEXT
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// Write the long string to file long_str.prn
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>SET</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>PRINTER</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>TO</SPAN><SPAN class=any1-space> long_str
</SPAN><SPAN class=any1-function>SET</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>DEVICE</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>TO</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>PRINTER
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>DEVOUT</SPAN><SPAN class=any1-symbol>( cLong )
</SPAN><SPAN class=any1-function>SET</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>PRINTER</SPAN><SPAN class=any1-space> OFF
</SPAN><SPAN class=any1-function>SET</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>DEVICE</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>TO</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>SCREEN
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// Confirm the string length and that a copy is exactly identical.
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"The length of the long string is"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-variable>iif</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>LEN</SPAN><SPAN class=any1-symbol>( cLong ) == </SPAN><SPAN class=any1-number>80</SPAN><SPAN class=any1-space> * </SPAN><SPAN class=any1-number>1024</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"correct"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"wrong"</SPAN><SPAN class=any1-space> )
cBuffer := cLong
? </SPAN><SPAN class=any1-string>"The length of a copy of the long string is"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-variable>iif</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>LEN</SPAN><SPAN class=any1-symbol>( cLong ) == </SPAN><SPAN class=any1-number>80</SPAN><SPAN class=any1-space> * </SPAN><SPAN class=any1-number>1024</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"correct"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"wrong"</SPAN><SPAN class=any1-space> )
? </SPAN><SPAN class=any1-string>"The copy of the long string is"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-variable>iif</SPAN><SPAN class=any1-symbol>( cLong == cBuffer, </SPAN><SPAN class=any1-string>"equal"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"not equal"</SPAN><SPAN class=any1-space> ), </SPAN><SPAN class=any1-string>"to the long string"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// Read the string back in and compare it to the original.
</SPAN><SPAN class=any1-space> nHandle := </SPAN><SPAN class=any1-function>FOPEN</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"long_str.prn"</SPAN><SPAN class=any1-space> )
cBuffer := </SPAN><SPAN class=any1-function>FREADSTR</SPAN><SPAN class=any1-symbol>( nHandle, </SPAN><SPAN class=any1-number>90000</SPAN><SPAN class=any1-space> )
? </SPAN><SPAN class=any1-string>"Original:"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>LEN</SPAN><SPAN class=any1-symbol>( cLong )
? </SPAN><SPAN class=any1-string>"From file:"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>LEN</SPAN><SPAN class=any1-symbol>( cBuffer )
? </SPAN><SPAN class=any1-string>"The strings are"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-variable>iif</SPAN><SPAN class=any1-symbol>( cLong == cBuffer, </SPAN><SPAN class=any1-string>"equal"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"not equal"</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-reservedword>return</SPAN><SPAN class=any1-space> nil
</SPAN></SPAN>
</CODE></PRE></BODY></HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>longdev.prg</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16386" name=GENERATOR>
<STYLE type=text/css>
<!--
body { color: #000000; background-color: #FFFFFF; }
.any1-activedot { color: #800080; }
.any1-comment { color: #008080; }
.any1-constant { color: #800080; }
.any1-escapeampersand { color: #00FF00; font-weight: bold; }
.any1-function { color: #808000; }
.any1-identifier { color: #000000; }
.any1-number { color: #FF0000; }
.any1-preprocessor { }
.any1-reservedword { color: #800000; }
.any1-space { }
.any1-string { color: #0000FF; }
.any1-symbol { }
.any1-variable { color: #808000; }
-->
</STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<PRE><CODE><SPAN style="FONT: 10pt Courier New"><SPAN class=any1-comment>// Testing Harbour long string handling with device output.
/* Harbour Project source code
http://harbour-project.org/
Donated to the public domain on 2001-03-08 by David G. Holm &lt;dholm@jsd-llc.com&gt;
*/
</SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>Main</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> cShort := </SPAN><SPAN class=any1-string>"1234567890"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> i, j, cLong, cBuffer, nHandle
</SPAN><SPAN class=any1-comment>// Create an 80 KB string (Clipper is limited to 64 KB).
</SPAN><SPAN class=any1-space> cLong := cShort
</SPAN><SPAN class=any1-reservedword>FOR</SPAN><SPAN class=any1-space> i := </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>TO</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-number>13
</SPAN><SPAN class=any1-space> cLong += cLong
</SPAN><SPAN class=any1-reservedword>NEXT
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// Write the long string to file long_str.prn
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>SET</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>PRINTER</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>TO</SPAN><SPAN class=any1-space> long_str
</SPAN><SPAN class=any1-function>SET</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>DEVICE</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>TO</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>PRINTER
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>DEVOUT</SPAN><SPAN class=any1-symbol>( cLong )
</SPAN><SPAN class=any1-function>SET</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>PRINTER</SPAN><SPAN class=any1-space> OFF
</SPAN><SPAN class=any1-function>SET</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>DEVICE</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>TO</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>SCREEN
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// Confirm the string length and that a copy is exactly identical.
</SPAN><SPAN class=any1-space> ? </SPAN><SPAN class=any1-string>"The length of the long string is"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-variable>iif</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>LEN</SPAN><SPAN class=any1-symbol>( cLong ) == </SPAN><SPAN class=any1-number>80</SPAN><SPAN class=any1-space> * </SPAN><SPAN class=any1-number>1024</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"correct"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"wrong"</SPAN><SPAN class=any1-space> )
cBuffer := cLong
? </SPAN><SPAN class=any1-string>"The length of a copy of the long string is"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-variable>iif</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>LEN</SPAN><SPAN class=any1-symbol>( cLong ) == </SPAN><SPAN class=any1-number>80</SPAN><SPAN class=any1-space> * </SPAN><SPAN class=any1-number>1024</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"correct"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"wrong"</SPAN><SPAN class=any1-space> )
? </SPAN><SPAN class=any1-string>"The copy of the long string is"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-variable>iif</SPAN><SPAN class=any1-symbol>( cLong == cBuffer, </SPAN><SPAN class=any1-string>"equal"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"not equal"</SPAN><SPAN class=any1-space> ), </SPAN><SPAN class=any1-string>"to the long string"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// Read the string back in and compare it to the original.
</SPAN><SPAN class=any1-space> nHandle := </SPAN><SPAN class=any1-function>FOPEN</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"long_str.prn"</SPAN><SPAN class=any1-space> )
cBuffer := </SPAN><SPAN class=any1-function>FREADSTR</SPAN><SPAN class=any1-symbol>( nHandle, </SPAN><SPAN class=any1-number>90000</SPAN><SPAN class=any1-space> )
? </SPAN><SPAN class=any1-string>"Original:"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>LEN</SPAN><SPAN class=any1-symbol>( cLong )
? </SPAN><SPAN class=any1-string>"From file:"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>LEN</SPAN><SPAN class=any1-symbol>( cBuffer )
? </SPAN><SPAN class=any1-string>"The strings are"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-variable>iif</SPAN><SPAN class=any1-symbol>( cLong == cBuffer, </SPAN><SPAN class=any1-string>"equal"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"not equal"</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-reservedword>return</SPAN><SPAN class=any1-space> nil
</SPAN></SPAN>
</CODE></PRE></BODY></HTML>

View File

@@ -1,135 +1,135 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; mousetst</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Mouse sample support</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">Test mouse for Harbour Project.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="mousetst.prg.html" class="blue_link">tests/mousetst.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/mousetst_w32.png" width="580" height="340" /><br />
mousetst sample running on Windows Vista<br />
<br />
<img src="screenshots/mousetst_linux.png" width="587" height="431" /><br />
mousetst sample running on Linux<br />
</span></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; mousetst</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Mouse sample support</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">Test mouse for Harbour Project.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="mousetst.prg.html" class="blue_link">tests/mousetst.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/mousetst_w32.png" width="580" height="340" /><br />
mousetst sample running on Windows Vista<br />
<br />
<img src="screenshots/mousetst_linux.png" width="587" height="431" /><br />
mousetst sample running on Linux<br />
</span></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,132 +1,132 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; onidle</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">OnIdle sample</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This demo demonstrates how to add various tasks into background in Harbour.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="onidle.prg.html" class="blue_link">tests/onidle.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/onidle_w32.png" width="580" height="340" /><br />
onidle sample running on Windows</span><br />
&nbsp;</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; onidle</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">OnIdle sample</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This demo demonstrates how to add various tasks into background in Harbour.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="onidle.prg.html" class="blue_link">tests/onidle.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/onidle_w32.png" width="580" height="340" /><br />
onidle sample running on Windows</span><br />
&nbsp;</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,136 +1,136 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; parseini</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Test for Ini file reading/writing</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">Test for Ini files reading/writing using native Harbour functions.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="parseini.prg.html" class="blue_link">tests/parseini.prg</a></li>
<li><a href="parseini.ini.html" class="blue_link">tests/parseini.ini</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/parseini_w32.png" width="580" height="340" /><br />
parseini sample running on Windows Vista<br />
<br />
<img src="screenshots/parseini_linux.png" width="545" height="401" /><br />
parseini sample running on Linux<br />
</span></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; parseini</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Test for Ini file reading/writing</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">Test for Ini files reading/writing using native Harbour functions.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="parseini.prg.html" class="blue_link">tests/parseini.prg</a></li>
<li><a href="parseini.ini.html" class="blue_link">tests/parseini.ini</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/parseini_w32.png" width="580" height="340" /><br />
parseini sample running on Windows Vista<br />
<br />
<img src="screenshots/parseini_linux.png" width="545" height="401" /><br />
parseini sample running on Linux<br />
</span></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,132 +1,132 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; switch</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Switch support</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This example demonstrates how to use the SWITCH to execute one or more blocks of statements. </td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="switch.prg.html" class="blue_link">tests/switch.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/switch_w32.png" width="580" height="340" /><br />
switch sample running on Windows</span><br />
&nbsp;</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; switch</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Switch support</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This example demonstrates how to use the SWITCH to execute one or more blocks of statements. </td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="switch.prg.html" class="blue_link">tests/switch.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/switch_w32.png" width="580" height="340" /><br />
switch sample running on Windows</span><br />
&nbsp;</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,125 +1,125 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; testbrdb</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Browse() function demo</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">Example to test Browse() function features.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">Files:</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="testbrdb.prg.html" class="blue_link">tests/testbrdb.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle"><p>Screenshots:</p> </td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center" class="read_more"><img src="screenshots/testbrdb_w32.png" width="500" height="390" /><br />
testbrdb sample running on Windows Vista<br />
<br />
<img src="screenshots/testbrdb_linux.png" width="531" height="328" /><br />
testbrdb sample running on Linux<br />
</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; testbrdb</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Browse() function demo</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">Example to test Browse() function features.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">Files:</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="testbrdb.prg.html" class="blue_link">tests/testbrdb.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle"><p>Screenshots:</p> </td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center" class="read_more"><img src="screenshots/testbrdb_w32.png" width="500" height="390" /><br />
testbrdb sample running on Windows Vista<br />
<br />
<img src="screenshots/testbrdb_linux.png" width="531" height="328" /><br />
testbrdb sample running on Linux<br />
</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,125 +1,125 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; testbrw</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">TBrowse() function demo</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">Harbour Class TBrowse and TBColumn sample.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">Files:</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="testbrw.prg.html" class="blue_link">tests/testbrw.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle"><p>Screenshots:</p> </td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center" class="read_more"><img src="screenshots/testbrw_w32.png" width="500" height="390" /><br />
testbrw sample running on Windows Vista<br />
<br />
<img src="screenshots/testbrw_linux.png" width="531" height="330" /><br />
testbrw sample running on Linux<br />
</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; testbrw</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">TBrowse() function demo</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">Harbour Class TBrowse and TBColumn sample.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">Files:</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="testbrw.prg.html" class="blue_link">tests/testbrw.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle"><p>Screenshots:</p> </td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center" class="read_more"><img src="screenshots/testbrw_w32.png" width="500" height="390" /><br />
testbrw sample running on Windows Vista<br />
<br />
<img src="screenshots/testbrw_linux.png" width="531" height="330" /><br />
testbrw sample running on Linux<br />
</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,169 +1,169 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>testbrw.prg</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16386" name=GENERATOR>
<STYLE type=text/css>
<!--
body { color: #000000; background-color: #FFFFFF; }
.any1-activedot { color: #800080; }
.any1-comment { color: #008080; }
.any1-constant { color: #800080; }
.any1-escapeampersand { color: #00FF00; font-weight: bold; }
.any1-function { color: #808000; }
.any1-identifier { color: #000000; }
.any1-number { color: #FF0000; }
.any1-preprocessor { }
.any1-reservedword { color: #800000; }
.any1-space { }
.any1-string { color: #0000FF; }
.any1-symbol { }
.any1-variable { color: #808000; }
-->
</STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<PRE><CODE><SPAN style="FONT: 10pt Courier New"><SPAN class=any1-comment>// Harbour Class TBrowse and TBColumn sample
</SPAN><SPAN class=any1-constant>#include</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-string>"inkey.ch"
</SPAN><SPAN class=any1-reservedword>function</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>Main</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> oBrowse := </SPAN><SPAN class=any1-variable>TBrowseNew</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-number>5</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>5</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>16</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>30</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> aTest0 := { </SPAN><SPAN class=any1-string>"This"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"is"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"a"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"browse"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"on"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"an"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"array"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"test"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"with"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"a"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"long"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"data"</SPAN><SPAN class=any1-space> }
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> aTest1 := { </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>3</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>4</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>5</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>6</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>7</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>8</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>10000</SPAN><SPAN class=any1-symbol>, -</SPAN><SPAN class=any1-number>1000</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>54</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>456342</SPAN><SPAN class=any1-space> }
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> aTest2 := { </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>(), </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()+</SPAN><SPAN class=any1-number>4</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()+</SPAN><SPAN class=any1-number>56</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()+</SPAN><SPAN class=any1-number>14</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()+</SPAN><SPAN class=any1-number>5</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()+</SPAN><SPAN class=any1-number>6</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()+</SPAN><SPAN class=any1-number>7</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()+</SPAN><SPAN class=any1-number>8</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()+</SPAN><SPAN class=any1-number>10000</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()-</SPAN><SPAN class=any1-number>1000</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()-</SPAN><SPAN class=any1-number>54</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()+</SPAN><SPAN class=any1-number>456342</SPAN><SPAN class=any1-space> }
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> aTest3 := { </SPAN><SPAN class=any1-activedot>.t.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.f.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.t.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.t.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.f.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.f.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.t.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.f.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.t.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.t.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.f.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.f.</SPAN><SPAN class=any1-space> }
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> n := </SPAN><SPAN class=any1-number>1
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> nKey
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> lEnd := </SPAN><SPAN class=any1-activedot>.f.
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> nCursor
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> cColor
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> nRow, nCol
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> nTmpRow, nTmpCol
oBrowse:colorSpec = </SPAN><SPAN class=any1-string>"W+/B, N/BG"
</SPAN><SPAN class=any1-space> oBrowse:ColSep = </SPAN><SPAN class=any1-string>"|"
</SPAN><SPAN class=any1-space> oBrowse:HeadSep = </SPAN><SPAN class=any1-string>"?-"
</SPAN><SPAN class=any1-space> oBrowse:FootSep = </SPAN><SPAN class=any1-string>"¤-"
</SPAN><SPAN class=any1-space> oBrowse:GoTopBlock = {|| n := </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> }
oBrowse:GoBottomBlock = {|| n := </SPAN><SPAN class=any1-function>Len</SPAN><SPAN class=any1-symbol>( aTest0 ) }
oBrowse:SkipBlock = {| nSkip, nPos | nPos := n,;
n := </SPAN><SPAN class=any1-reservedword>If</SPAN><SPAN class=any1-symbol>( nSkip &gt; </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>Min</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>Len</SPAN><SPAN class=any1-symbol>( aTest0 ), n + nSkip ),;
</SPAN><SPAN class=any1-function>Max</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>, n + nSkip )), n - nPos }
oBrowse:</SPAN><SPAN class=any1-variable>AddColumn</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>TBColumnNew</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"First"</SPAN><SPAN class=any1-symbol>, {|| n } ) )
oBrowse:</SPAN><SPAN class=any1-variable>AddColumn</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>TBColumnNew</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Second"</SPAN><SPAN class=any1-symbol>, {|| aTest0[ n ] } ) )
oBrowse:</SPAN><SPAN class=any1-variable>AddColumn</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>TBColumnNew</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Third"</SPAN><SPAN class=any1-symbol>, {|| aTest1[ n ] } ) )
oBrowse:</SPAN><SPAN class=any1-variable>AddColumn</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>TBColumnNew</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Forth"</SPAN><SPAN class=any1-symbol>, {|| aTest2[ n ] } ) )
oBrowse:</SPAN><SPAN class=any1-variable>AddColumn</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>TBColumnNew</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Fifth"</SPAN><SPAN class=any1-symbol>, {|| aTest3[ n ] } ) )
oBrowse:</SPAN><SPAN class=any1-variable>GetColumn</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>):Footing = </SPAN><SPAN class=any1-string>'Number'
</SPAN><SPAN class=any1-space> oBrowse:</SPAN><SPAN class=any1-variable>GetColumn</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-symbol>):Footing = </SPAN><SPAN class=any1-string>'Strins'
</SPAN><SPAN class=any1-space> oBrowse:</SPAN><SPAN class=any1-variable>GetColumn</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-symbol>):Picture := </SPAN><SPAN class=any1-string>'@!'
</SPAN><SPAN class=any1-space> oBrowse:</SPAN><SPAN class=any1-variable>GetColumn</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>3</SPAN><SPAN class=any1-symbol>):Footing = </SPAN><SPAN class=any1-string>'Number'
</SPAN><SPAN class=any1-space> oBrowse:</SPAN><SPAN class=any1-variable>GetColumn</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>3</SPAN><SPAN class=any1-symbol>):Picture := </SPAN><SPAN class=any1-string>'999,999.99'
</SPAN><SPAN class=any1-space> oBrowse:</SPAN><SPAN class=any1-variable>GetColumn</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>4</SPAN><SPAN class=any1-symbol>):Footing = </SPAN><SPAN class=any1-string>'Dates'
</SPAN><SPAN class=any1-space> oBrowse:</SPAN><SPAN class=any1-variable>GetColumn</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>5</SPAN><SPAN class=any1-symbol>):Footing = </SPAN><SPAN class=any1-string>'Logical'
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// needed since I've changed some columns _after_ I've added them to TBrowse object
</SPAN><SPAN class=any1-space> oBrowse:</SPAN><SPAN class=any1-variable>Configure</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-function>Alert</SPAN><SPAN class=any1-symbol>( oBrowse:</SPAN><SPAN class=any1-variable>ClassName</SPAN><SPAN class=any1-symbol>() )
</SPAN><SPAN class=any1-function>Alert</SPAN><SPAN class=any1-symbol>( oBrowse:</SPAN><SPAN class=any1-variable>GetColumn</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ):</SPAN><SPAN class=any1-variable>ClassName</SPAN><SPAN class=any1-symbol>() )
oBrowse:Freeze = </SPAN><SPAN class=any1-number>1
</SPAN><SPAN class=any1-space> nCursor := </SPAN><SPAN class=any1-function>SetCursor</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-space> )
cColor := </SPAN><SPAN class=any1-function>SetColor</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"W+/B"</SPAN><SPAN class=any1-space> )
nRow := </SPAN><SPAN class=any1-function>Row</SPAN><SPAN class=any1-symbol>()
nCol := </SPAN><SPAN class=any1-function>Col</SPAN><SPAN class=any1-symbol>()
@ </SPAN><SPAN class=any1-number>4</SPAN><SPAN class=any1-symbol>,</SPAN><SPAN class=any1-number>4</SPAN><SPAN class=any1-symbol>,</SPAN><SPAN class=any1-number>17</SPAN><SPAN class=any1-symbol>,</SPAN><SPAN class=any1-number>31</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>BOX</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-string>"+-+|+-+| "
</SPAN><SPAN class=any1-constant>#ifdef</SPAN><SPAN class=any1-space> HB_COMPAT_C53
oBrowse:</SPAN><SPAN class=any1-function>Setkey</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-symbol>,{|ob,nkey| </SPAN><SPAN class=any1-variable>Defproc</SPAN><SPAN class=any1-symbol>(ob,nKey)})
</SPAN><SPAN class=any1-reservedword>while</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-activedot>.t.
</SPAN><SPAN class=any1-space> oBrowse:</SPAN><SPAN class=any1-variable>ForceStable</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>if</SPAN><SPAN class=any1-space> (oBrowse:</SPAN><SPAN class=any1-variable>applykey</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-function>inkey</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-symbol>))== -</SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>)
</SPAN><SPAN class=any1-reservedword>exit
endif
enddo
</SPAN><SPAN class=any1-constant>#else
</SPAN><SPAN class=any1-reservedword>While</SPAN><SPAN class=any1-space> !lEnd
oBrowse:</SPAN><SPAN class=any1-variable>ForceStable</SPAN><SPAN class=any1-symbol>()
nKey = </SPAN><SPAN class=any1-function>InKey</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-reservedword>do</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>case
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey == K_ESC
</SPAN><SPAN class=any1-function>SetPos</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-number>17</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-space> )
lEnd = </SPAN><SPAN class=any1-activedot>.t.
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey == K_DOWN
oBrowse:</SPAN><SPAN class=any1-variable>Down</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey == K_UP
oBrowse:</SPAN><SPAN class=any1-variable>Up</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey == K_LEFT
oBrowse:</SPAN><SPAN class=any1-function>Left</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey == K_RIGHT
oBrowse:</SPAN><SPAN class=any1-function>Right</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_PGDN
oBrowse:</SPAN><SPAN class=any1-variable>pageDown</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_PGUP
oBrowse:</SPAN><SPAN class=any1-variable>pageUp</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_CTRL_PGUP
oBrowse:</SPAN><SPAN class=any1-variable>goTop</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_CTRL_PGDN
oBrowse:</SPAN><SPAN class=any1-variable>goBottom</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_HOME
oBrowse:</SPAN><SPAN class=any1-variable>home</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_END
oBrowse:</SPAN><SPAN class=any1-reservedword>end</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_CTRL_LEFT
oBrowse:</SPAN><SPAN class=any1-variable>panLeft</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_CTRL_RIGHT
oBrowse:</SPAN><SPAN class=any1-variable>panRight</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_CTRL_HOME
oBrowse:</SPAN><SPAN class=any1-variable>panHome</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_CTRL_END
oBrowse:</SPAN><SPAN class=any1-variable>panEnd</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_TAB
nTmpRow := </SPAN><SPAN class=any1-function>ROW</SPAN><SPAN class=any1-symbol>()
nTmpCol := </SPAN><SPAN class=any1-function>COL</SPAN><SPAN class=any1-symbol>()
@ </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>SAY</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>TIME</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-function>DevPos</SPAN><SPAN class=any1-symbol>( nTmpRow, nTmpCol )
</SPAN><SPAN class=any1-reservedword>endcase
</SPAN><SPAN class=any1-space>
</SPAN><SPAN class=any1-reservedword>end
</SPAN><SPAN class=any1-constant>#endif
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>DevPos</SPAN><SPAN class=any1-symbol>( nRow, nCol )
</SPAN><SPAN class=any1-function>SetColor</SPAN><SPAN class=any1-symbol>( cColor )
</SPAN><SPAN class=any1-function>SetCursor</SPAN><SPAN class=any1-symbol>( nCursor )
</SPAN><SPAN class=any1-reservedword>return</SPAN><SPAN class=any1-space> nil
</SPAN><SPAN class=any1-constant>#ifdef</SPAN><SPAN class=any1-space> HB_COMPAT_C53
</SPAN><SPAN class=any1-reservedword>function</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>defproc</SPAN><SPAN class=any1-symbol>(ob,nkey)
</SPAN><SPAN class=any1-reservedword>Local</SPAN><SPAN class=any1-space> nTmpRow,nTmpCol
</SPAN><SPAN class=any1-reservedword>if</SPAN><SPAN class=any1-space> nKey = K_TAB
nTmpRow := </SPAN><SPAN class=any1-function>ROW</SPAN><SPAN class=any1-symbol>()
nTmpCol := </SPAN><SPAN class=any1-function>COL</SPAN><SPAN class=any1-symbol>()
@ </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>SAY</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>TIME</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-function>DevPos</SPAN><SPAN class=any1-symbol>( nTmpRow, nTmpCol )
ob:</SPAN><SPAN class=any1-variable>Refreshall</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>endif
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>return</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-number>1
</SPAN><SPAN class=any1-constant>#endif
</SPAN></SPAN>
</CODE></PRE></BODY></HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>testbrw.prg</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16386" name=GENERATOR>
<STYLE type=text/css>
<!--
body { color: #000000; background-color: #FFFFFF; }
.any1-activedot { color: #800080; }
.any1-comment { color: #008080; }
.any1-constant { color: #800080; }
.any1-escapeampersand { color: #00FF00; font-weight: bold; }
.any1-function { color: #808000; }
.any1-identifier { color: #000000; }
.any1-number { color: #FF0000; }
.any1-preprocessor { }
.any1-reservedword { color: #800000; }
.any1-space { }
.any1-string { color: #0000FF; }
.any1-symbol { }
.any1-variable { color: #808000; }
-->
</STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<PRE><CODE><SPAN style="FONT: 10pt Courier New"><SPAN class=any1-comment>// Harbour Class TBrowse and TBColumn sample
</SPAN><SPAN class=any1-constant>#include</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-string>"inkey.ch"
</SPAN><SPAN class=any1-reservedword>function</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>Main</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> oBrowse := </SPAN><SPAN class=any1-variable>TBrowseNew</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-number>5</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>5</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>16</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>30</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> aTest0 := { </SPAN><SPAN class=any1-string>"This"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"is"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"a"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"browse"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"on"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"an"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"array"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"test"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"with"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"a"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"long"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"data"</SPAN><SPAN class=any1-space> }
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> aTest1 := { </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>3</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>4</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>5</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>6</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>7</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>8</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>10000</SPAN><SPAN class=any1-symbol>, -</SPAN><SPAN class=any1-number>1000</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>54</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>456342</SPAN><SPAN class=any1-space> }
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> aTest2 := { </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>(), </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()+</SPAN><SPAN class=any1-number>4</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()+</SPAN><SPAN class=any1-number>56</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()+</SPAN><SPAN class=any1-number>14</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()+</SPAN><SPAN class=any1-number>5</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()+</SPAN><SPAN class=any1-number>6</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()+</SPAN><SPAN class=any1-number>7</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()+</SPAN><SPAN class=any1-number>8</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()+</SPAN><SPAN class=any1-number>10000</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()-</SPAN><SPAN class=any1-number>1000</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()-</SPAN><SPAN class=any1-number>54</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>date</SPAN><SPAN class=any1-symbol>()+</SPAN><SPAN class=any1-number>456342</SPAN><SPAN class=any1-space> }
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> aTest3 := { </SPAN><SPAN class=any1-activedot>.t.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.f.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.t.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.t.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.f.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.f.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.t.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.f.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.t.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.t.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.f.</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-activedot>.f.</SPAN><SPAN class=any1-space> }
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> n := </SPAN><SPAN class=any1-number>1
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> nKey
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> lEnd := </SPAN><SPAN class=any1-activedot>.f.
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> nCursor
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> cColor
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> nRow, nCol
</SPAN><SPAN class=any1-reservedword>local</SPAN><SPAN class=any1-space> nTmpRow, nTmpCol
oBrowse:colorSpec = </SPAN><SPAN class=any1-string>"W+/B, N/BG"
</SPAN><SPAN class=any1-space> oBrowse:ColSep = </SPAN><SPAN class=any1-string>"|"
</SPAN><SPAN class=any1-space> oBrowse:HeadSep = </SPAN><SPAN class=any1-string>"?-"
</SPAN><SPAN class=any1-space> oBrowse:FootSep = </SPAN><SPAN class=any1-string>"¤-"
</SPAN><SPAN class=any1-space> oBrowse:GoTopBlock = {|| n := </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> }
oBrowse:GoBottomBlock = {|| n := </SPAN><SPAN class=any1-function>Len</SPAN><SPAN class=any1-symbol>( aTest0 ) }
oBrowse:SkipBlock = {| nSkip, nPos | nPos := n,;
n := </SPAN><SPAN class=any1-reservedword>If</SPAN><SPAN class=any1-symbol>( nSkip &gt; </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>Min</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>Len</SPAN><SPAN class=any1-symbol>( aTest0 ), n + nSkip ),;
</SPAN><SPAN class=any1-function>Max</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>, n + nSkip )), n - nPos }
oBrowse:</SPAN><SPAN class=any1-variable>AddColumn</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>TBColumnNew</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"First"</SPAN><SPAN class=any1-symbol>, {|| n } ) )
oBrowse:</SPAN><SPAN class=any1-variable>AddColumn</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>TBColumnNew</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Second"</SPAN><SPAN class=any1-symbol>, {|| aTest0[ n ] } ) )
oBrowse:</SPAN><SPAN class=any1-variable>AddColumn</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>TBColumnNew</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Third"</SPAN><SPAN class=any1-symbol>, {|| aTest1[ n ] } ) )
oBrowse:</SPAN><SPAN class=any1-variable>AddColumn</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>TBColumnNew</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Forth"</SPAN><SPAN class=any1-symbol>, {|| aTest2[ n ] } ) )
oBrowse:</SPAN><SPAN class=any1-variable>AddColumn</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>TBColumnNew</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Fifth"</SPAN><SPAN class=any1-symbol>, {|| aTest3[ n ] } ) )
oBrowse:</SPAN><SPAN class=any1-variable>GetColumn</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>):Footing = </SPAN><SPAN class=any1-string>'Number'
</SPAN><SPAN class=any1-space> oBrowse:</SPAN><SPAN class=any1-variable>GetColumn</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-symbol>):Footing = </SPAN><SPAN class=any1-string>'Strins'
</SPAN><SPAN class=any1-space> oBrowse:</SPAN><SPAN class=any1-variable>GetColumn</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-symbol>):Picture := </SPAN><SPAN class=any1-string>'@!'
</SPAN><SPAN class=any1-space> oBrowse:</SPAN><SPAN class=any1-variable>GetColumn</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>3</SPAN><SPAN class=any1-symbol>):Footing = </SPAN><SPAN class=any1-string>'Number'
</SPAN><SPAN class=any1-space> oBrowse:</SPAN><SPAN class=any1-variable>GetColumn</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>3</SPAN><SPAN class=any1-symbol>):Picture := </SPAN><SPAN class=any1-string>'999,999.99'
</SPAN><SPAN class=any1-space> oBrowse:</SPAN><SPAN class=any1-variable>GetColumn</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>4</SPAN><SPAN class=any1-symbol>):Footing = </SPAN><SPAN class=any1-string>'Dates'
</SPAN><SPAN class=any1-space> oBrowse:</SPAN><SPAN class=any1-variable>GetColumn</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>5</SPAN><SPAN class=any1-symbol>):Footing = </SPAN><SPAN class=any1-string>'Logical'
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// needed since I've changed some columns _after_ I've added them to TBrowse object
</SPAN><SPAN class=any1-space> oBrowse:</SPAN><SPAN class=any1-variable>Configure</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-function>Alert</SPAN><SPAN class=any1-symbol>( oBrowse:</SPAN><SPAN class=any1-variable>ClassName</SPAN><SPAN class=any1-symbol>() )
</SPAN><SPAN class=any1-function>Alert</SPAN><SPAN class=any1-symbol>( oBrowse:</SPAN><SPAN class=any1-variable>GetColumn</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ):</SPAN><SPAN class=any1-variable>ClassName</SPAN><SPAN class=any1-symbol>() )
oBrowse:Freeze = </SPAN><SPAN class=any1-number>1
</SPAN><SPAN class=any1-space> nCursor := </SPAN><SPAN class=any1-function>SetCursor</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-space> )
cColor := </SPAN><SPAN class=any1-function>SetColor</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"W+/B"</SPAN><SPAN class=any1-space> )
nRow := </SPAN><SPAN class=any1-function>Row</SPAN><SPAN class=any1-symbol>()
nCol := </SPAN><SPAN class=any1-function>Col</SPAN><SPAN class=any1-symbol>()
@ </SPAN><SPAN class=any1-number>4</SPAN><SPAN class=any1-symbol>,</SPAN><SPAN class=any1-number>4</SPAN><SPAN class=any1-symbol>,</SPAN><SPAN class=any1-number>17</SPAN><SPAN class=any1-symbol>,</SPAN><SPAN class=any1-number>31</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>BOX</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-string>"+-+|+-+| "
</SPAN><SPAN class=any1-constant>#ifdef</SPAN><SPAN class=any1-space> HB_COMPAT_C53
oBrowse:</SPAN><SPAN class=any1-function>Setkey</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-symbol>,{|ob,nkey| </SPAN><SPAN class=any1-variable>Defproc</SPAN><SPAN class=any1-symbol>(ob,nKey)})
</SPAN><SPAN class=any1-reservedword>while</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-activedot>.t.
</SPAN><SPAN class=any1-space> oBrowse:</SPAN><SPAN class=any1-variable>ForceStable</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>if</SPAN><SPAN class=any1-space> (oBrowse:</SPAN><SPAN class=any1-variable>applykey</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-function>inkey</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-symbol>))== -</SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>)
</SPAN><SPAN class=any1-reservedword>exit
endif
enddo
</SPAN><SPAN class=any1-constant>#else
</SPAN><SPAN class=any1-reservedword>While</SPAN><SPAN class=any1-space> !lEnd
oBrowse:</SPAN><SPAN class=any1-variable>ForceStable</SPAN><SPAN class=any1-symbol>()
nKey = </SPAN><SPAN class=any1-function>InKey</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-reservedword>do</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>case
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey == K_ESC
</SPAN><SPAN class=any1-function>SetPos</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-number>17</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-space> )
lEnd = </SPAN><SPAN class=any1-activedot>.t.
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey == K_DOWN
oBrowse:</SPAN><SPAN class=any1-variable>Down</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey == K_UP
oBrowse:</SPAN><SPAN class=any1-variable>Up</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey == K_LEFT
oBrowse:</SPAN><SPAN class=any1-function>Left</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey == K_RIGHT
oBrowse:</SPAN><SPAN class=any1-function>Right</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_PGDN
oBrowse:</SPAN><SPAN class=any1-variable>pageDown</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_PGUP
oBrowse:</SPAN><SPAN class=any1-variable>pageUp</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_CTRL_PGUP
oBrowse:</SPAN><SPAN class=any1-variable>goTop</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_CTRL_PGDN
oBrowse:</SPAN><SPAN class=any1-variable>goBottom</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_HOME
oBrowse:</SPAN><SPAN class=any1-variable>home</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_END
oBrowse:</SPAN><SPAN class=any1-reservedword>end</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_CTRL_LEFT
oBrowse:</SPAN><SPAN class=any1-variable>panLeft</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_CTRL_RIGHT
oBrowse:</SPAN><SPAN class=any1-variable>panRight</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_CTRL_HOME
oBrowse:</SPAN><SPAN class=any1-variable>panHome</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_CTRL_END
oBrowse:</SPAN><SPAN class=any1-variable>panEnd</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>case</SPAN><SPAN class=any1-space> nKey = K_TAB
nTmpRow := </SPAN><SPAN class=any1-function>ROW</SPAN><SPAN class=any1-symbol>()
nTmpCol := </SPAN><SPAN class=any1-function>COL</SPAN><SPAN class=any1-symbol>()
@ </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>SAY</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>TIME</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-function>DevPos</SPAN><SPAN class=any1-symbol>( nTmpRow, nTmpCol )
</SPAN><SPAN class=any1-reservedword>endcase
</SPAN><SPAN class=any1-space>
</SPAN><SPAN class=any1-reservedword>end
</SPAN><SPAN class=any1-constant>#endif
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>DevPos</SPAN><SPAN class=any1-symbol>( nRow, nCol )
</SPAN><SPAN class=any1-function>SetColor</SPAN><SPAN class=any1-symbol>( cColor )
</SPAN><SPAN class=any1-function>SetCursor</SPAN><SPAN class=any1-symbol>( nCursor )
</SPAN><SPAN class=any1-reservedword>return</SPAN><SPAN class=any1-space> nil
</SPAN><SPAN class=any1-constant>#ifdef</SPAN><SPAN class=any1-space> HB_COMPAT_C53
</SPAN><SPAN class=any1-reservedword>function</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>defproc</SPAN><SPAN class=any1-symbol>(ob,nkey)
</SPAN><SPAN class=any1-reservedword>Local</SPAN><SPAN class=any1-space> nTmpRow,nTmpCol
</SPAN><SPAN class=any1-reservedword>if</SPAN><SPAN class=any1-space> nKey = K_TAB
nTmpRow := </SPAN><SPAN class=any1-function>ROW</SPAN><SPAN class=any1-symbol>()
nTmpCol := </SPAN><SPAN class=any1-function>COL</SPAN><SPAN class=any1-symbol>()
@ </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>SAY</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>TIME</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-function>DevPos</SPAN><SPAN class=any1-symbol>( nTmpRow, nTmpCol )
ob:</SPAN><SPAN class=any1-variable>Refreshall</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>endif
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>return</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-number>1
</SPAN><SPAN class=any1-constant>#endif
</SPAN></SPAN>
</CODE></PRE></BODY></HTML>

View File

@@ -1,127 +1,127 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; testcgi</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Harbour Test of a CGI/HTML-Generator class</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This example shows how to work with Web pages using a custom class to manipulate data coming from a file and returns it to web browser. </td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="testcgi.prg.html" class="blue_link">tests/testcgi.prg</a></li>
<li><a href="function.cfm.html" class="blue_link">tests/function.cfm</a></li>
<li><div class="sample_link_missing">tests/list.txt (missing)</div>
</li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><img src="screenshots/testcgi.gif" width="500" height="517" /></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; testcgi</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Harbour Test of a CGI/HTML-Generator class</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This example shows how to work with Web pages using a custom class to manipulate data coming from a file and returns it to web browser. </td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="testcgi.prg.html" class="blue_link">tests/testcgi.prg</a></li>
<li><a href="function.cfm.html" class="blue_link">tests/function.cfm</a></li>
<li><div class="sample_link_missing">tests/list.txt (missing)</div>
</li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><img src="screenshots/testcgi.gif" width="500" height="517" /></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,495 +1,495 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>testcgi.prg</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16386" name=GENERATOR>
<STYLE type=text/css>
<!--
body { color: #000000; background-color: #FFFFFF; }
.any1-activedot { color: #800080; }
.any1-comment { color: #008080; }
.any1-constant { color: #800080; }
.any1-escapeampersand { color: #00FF00; font-weight: bold; }
.any1-function { color: #808000; }
.any1-identifier { color: #000000; }
.any1-number { color: #FF0000; }
.any1-preprocessor { }
.any1-reservedword { color: #800000; }
.any1-space { }
.any1-string { color: #0000FF; }
.any1-symbol { }
.any1-variable { color: #808000; }
-->
</STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<PRE><CODE><SPAN style="FONT: 10pt Courier New"><SPAN class=any1-comment>/*
*
* TestCGI.PRG
* Harbour Test of a CGI/HTML-Generator class.
*
* 1999/05/30 First implementation.
*
* 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
*
* 1999/05/31 Initial CGI functionality.
* 1999/06/01 Translated %nn to correct chars.
* 1999/06/02 Dynamic TAG matching routines (inspired on Delphi).
* First attempt to convert Delphi's ISAPI dll of WebSites'
* Function List
* (See http://www.flexsys-ci.com/harbour-project/functions.htm)
* 1999/06/11 List can be viewed online at
* http://www.flexsys-ci.com/cgi-bin/testcgi.exe
* 1999/07/29 Changed qOut() calls to OutStd() calls.
*
*/
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_SERVER_SOFTWARE </SPAN><SPAN class=any1-number>01
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_SERVER_NAME </SPAN><SPAN class=any1-number>02
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_GATEWAY_INTERFACE </SPAN><SPAN class=any1-number>03
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_SERVER_PROTOCOL </SPAN><SPAN class=any1-number>04
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_SERVER_PORT </SPAN><SPAN class=any1-number>05
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_REQUEST_METHOD </SPAN><SPAN class=any1-number>06
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_HTTP_ACCEPT </SPAN><SPAN class=any1-number>07
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_HTTP_USER_AGENT </SPAN><SPAN class=any1-number>08
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_HTTP_REFERER </SPAN><SPAN class=any1-number>09
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_PATH_INFO </SPAN><SPAN class=any1-number>10
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_PATH_TRANSLATED </SPAN><SPAN class=any1-number>11
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_SCRIPT_NAME </SPAN><SPAN class=any1-number>12
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_QUERY_STRING </SPAN><SPAN class=any1-number>13
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_REMOTE_HOST </SPAN><SPAN class=any1-number>14
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_REMOTE_ADDR </SPAN><SPAN class=any1-number>15
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_REMOTE_USER </SPAN><SPAN class=any1-number>16
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_AUTH_TYPE </SPAN><SPAN class=any1-number>17
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_CONTENT_TYPE </SPAN><SPAN class=any1-number>18
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_CONTENT_LENGTH </SPAN><SPAN class=any1-number>19
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_ANNOTATION_SERVER </SPAN><SPAN class=any1-number>20
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> IF_BUFFER </SPAN><SPAN class=any1-number>65535
</SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>Main</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> oHTML := </SPAN><SPAN class=any1-variable>THTML</SPAN><SPAN class=any1-symbol>():</SPAN><SPAN class=any1-variable>New</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> hFile, nPos, cString, cBuf, i, cTable, cLine
oHTML:</SPAN><SPAN class=any1-variable>SetHTMLFile</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"function.cfm"</SPAN><SPAN class=any1-space> )
hFile := </SPAN><SPAN class=any1-function>fOpen</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"list.txt"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-space> )
cString := </SPAN><SPAN class=any1-function>space</SPAN><SPAN class=any1-symbol>( IF_BUFFER )
cBuf := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> cTable := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// Builds dynamic table replacement
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>WHILE</SPAN><SPAN class=any1-space> hFile != -</SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> .AND. (nPos := </SPAN><SPAN class=any1-function>fRead</SPAN><SPAN class=any1-symbol>( hFile, @cString, IF_BUFFER )) &gt; </SPAN><SPAN class=any1-number>0
</SPAN><SPAN class=any1-space> i := </SPAN><SPAN class=any1-number>1
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>DO</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>WHILE</SPAN><SPAN class=any1-space> i &lt;= nPos
</SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>substr</SPAN><SPAN class=any1-symbol>( cString, i, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ) = </SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-number>13</SPAN><SPAN class=any1-space> )
i := i + </SPAN><SPAN class=any1-number>1
</SPAN><SPAN class=any1-space> cLine := cBuf
cBuf := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>left</SPAN><SPAN class=any1-symbol>( cLine, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ) &lt;&gt; </SPAN><SPAN class=any1-string>';'
</SPAN><SPAN class=any1-space> cTable += </SPAN><SPAN class=any1-string>'&lt;TR&gt;'</SPAN><SPAN class=any1-space> + </SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>10</SPAN><SPAN class=any1-symbol>)+</SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>13</SPAN><SPAN class=any1-symbol>) + ;
</SPAN><SPAN class=any1-string>'&lt;TD WIDTH="50%"&gt;&lt;FONT SIZE="2" FACE="Tahoma"&gt;'</SPAN><SPAN class=any1-space> + ;
</SPAN><SPAN class=any1-variable>ParseString</SPAN><SPAN class=any1-symbol>( cLine, </SPAN><SPAN class=any1-string>';'</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ) + </SPAN><SPAN class=any1-string>'&lt;/FONT&gt;&lt;/TD&gt;'</SPAN><SPAN class=any1-space> + </SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>10</SPAN><SPAN class=any1-symbol>)+</SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>13</SPAN><SPAN class=any1-symbol>) + ;
</SPAN><SPAN class=any1-string>'&lt;TD WIDTH="16%"&gt;'</SPAN><SPAN class=any1-space> + ;
</SPAN><SPAN class=any1-reservedword>if</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>ParseString</SPAN><SPAN class=any1-symbol>( cLine, </SPAN><SPAN class=any1-string>';'</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-space> ) = </SPAN><SPAN class=any1-string>'R'</SPAN><SPAN class=any1-symbol>, ;
</SPAN><SPAN class=any1-string>'&lt;CENTER&gt;&lt;IMG SRC="images/purple-m.gif"&gt;'</SPAN><SPAN class=any1-symbol>, ;
</SPAN><SPAN class=any1-string>'&amp;nbsp'</SPAN><SPAN class=any1-space> ) + ;
</SPAN><SPAN class=any1-string>'&lt;/TD&gt;'</SPAN><SPAN class=any1-space> + </SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>10</SPAN><SPAN class=any1-symbol>)+</SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>13</SPAN><SPAN class=any1-symbol>) + ;
</SPAN><SPAN class=any1-string>'&lt;TD WIDTH="16%"&gt;'</SPAN><SPAN class=any1-space> + ;
</SPAN><SPAN class=any1-reservedword>if</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>ParseString</SPAN><SPAN class=any1-symbol>( cLine, </SPAN><SPAN class=any1-string>';'</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-space> ) = </SPAN><SPAN class=any1-string>'S'</SPAN><SPAN class=any1-symbol>, ;
</SPAN><SPAN class=any1-string>'&lt;CENTER&gt;&lt;IMG SRC="images/purple-m.gif"&gt;'</SPAN><SPAN class=any1-symbol>, ;
</SPAN><SPAN class=any1-string>'&amp;nbsp'</SPAN><SPAN class=any1-space> ) + ;
</SPAN><SPAN class=any1-string>'&lt;/TD&gt;'</SPAN><SPAN class=any1-space> + </SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>10</SPAN><SPAN class=any1-symbol>)+</SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>13</SPAN><SPAN class=any1-symbol>) + ;
</SPAN><SPAN class=any1-string>'&lt;TD WIDTH="16%"&gt;'</SPAN><SPAN class=any1-space> + ;
</SPAN><SPAN class=any1-reservedword>if</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>ParseString</SPAN><SPAN class=any1-symbol>( cLine, </SPAN><SPAN class=any1-string>';'</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-space> ) = </SPAN><SPAN class=any1-string>'N'</SPAN><SPAN class=any1-symbol>, ;
</SPAN><SPAN class=any1-string>'&lt;CENTER&gt;&lt;IMG SRC="images/purple-m.gif"&gt;'</SPAN><SPAN class=any1-symbol>, ;
</SPAN><SPAN class=any1-string>'&amp;nbsp'</SPAN><SPAN class=any1-space> ) + ;
</SPAN><SPAN class=any1-string>'&lt;/TD&gt;'</SPAN><SPAN class=any1-space> + </SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>10</SPAN><SPAN class=any1-symbol>)+</SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>13</SPAN><SPAN class=any1-symbol>) + ;
</SPAN><SPAN class=any1-string>'&lt;/TR&gt;'
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ELSE
</SPAN><SPAN class=any1-space> cBuf := cBuf + </SPAN><SPAN class=any1-function>substr</SPAN><SPAN class=any1-symbol>( cString, i, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> i++
</SPAN><SPAN class=any1-reservedword>ENDDO
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ENDDO
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>fClose</SPAN><SPAN class=any1-symbol>( hFile )
oHTML:</SPAN><SPAN class=any1-variable>AddReplaceTag</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Functions"</SPAN><SPAN class=any1-symbol>, cTable )
oHTML:</SPAN><SPAN class=any1-variable>Generate</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-comment>// Uncomment the following if you don't have a Web Server to test
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// this sample
// oHTML:SaveToFile( "test.htm" )
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// If the above is uncommented, you may comment this line:
</SPAN><SPAN class=any1-space> oHTML:</SPAN><SPAN class=any1-variable>ShowResult</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( NIL )
</SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>ParseString</SPAN><SPAN class=any1-symbol>( cString, cDelim, nRet )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> cBuf, aElem, nPosFim, nSize, i
nSize := </SPAN><SPAN class=any1-function>len</SPAN><SPAN class=any1-symbol>( cString ) - </SPAN><SPAN class=any1-function>len</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>StrTran</SPAN><SPAN class=any1-symbol>( cString, cDelim, </SPAN><SPAN class=any1-string>''</SPAN><SPAN class=any1-space> ) ) + </SPAN><SPAN class=any1-number>1
</SPAN><SPAN class=any1-space> aElem := </SPAN><SPAN class=any1-function>array</SPAN><SPAN class=any1-symbol>( nSize )
cBuf := cString
i := </SPAN><SPAN class=any1-number>1
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FOR</SPAN><SPAN class=any1-space> i := </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>TO</SPAN><SPAN class=any1-space> nSize
nPosFim := </SPAN><SPAN class=any1-function>at</SPAN><SPAN class=any1-symbol>( cDelim, cBuf )
</SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> nPosFim &gt; </SPAN><SPAN class=any1-number>0
</SPAN><SPAN class=any1-space> aElem[i] := </SPAN><SPAN class=any1-function>substr</SPAN><SPAN class=any1-symbol>( cBuf, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>, nPosFim - </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-reservedword>ELSE
</SPAN><SPAN class=any1-space> aElem[i] := cBuf
</SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> cBuf := </SPAN><SPAN class=any1-function>substr</SPAN><SPAN class=any1-symbol>( cBuf, nPosFim + </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>len</SPAN><SPAN class=any1-symbol>( cBuf ) )
</SPAN><SPAN class=any1-reservedword>NEXT</SPAN><SPAN class=any1-space> i
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( aElem[ nRet ] )
</SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>Hex2Dec</SPAN><SPAN class=any1-symbol>( cHex )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> aHex := { { </SPAN><SPAN class=any1-string>"0"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>00</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"1"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>01</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"2"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>02</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"3"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>03</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"4"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>04</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"5"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>05</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"6"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>06</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"7"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>07</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"8"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>08</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"9"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>09</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"A"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>10</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"B"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>11</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"C"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>12</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"D"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>13</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"E"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>14</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"F"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>15</SPAN><SPAN class=any1-space> } }
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> nRet
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> nRes
nRet := </SPAN><SPAN class=any1-function>ascan</SPAN><SPAN class=any1-symbol>( aHex, {| x | </SPAN><SPAN class=any1-function>upper</SPAN><SPAN class=any1-symbol>( x[</SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>] ) = </SPAN><SPAN class=any1-function>upper</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>left</SPAN><SPAN class=any1-symbol>( cHex, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ) ) } )
nRes := aHex[nRet, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-symbol>] * </SPAN><SPAN class=any1-number>16
</SPAN><SPAN class=any1-space> nRet := </SPAN><SPAN class=any1-function>ascan</SPAN><SPAN class=any1-symbol>( aHex, {| x | </SPAN><SPAN class=any1-function>upper</SPAN><SPAN class=any1-symbol>( x[</SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>] ) = </SPAN><SPAN class=any1-function>upper</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>right</SPAN><SPAN class=any1-symbol>( cHex, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ) ) } )
nRes += aHex[nRet, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-symbol>]
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( nRes )
</SPAN><SPAN class=any1-comment>/*-------------------------------------------------------------------------*/
</SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> THTML
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> oClass
</SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> oClass == NIL
oClass = </SPAN><SPAN class=any1-variable>HBClass</SPAN><SPAN class=any1-symbol>():</SPAN><SPAN class=any1-variable>New</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"THTML"</SPAN><SPAN class=any1-space> )
oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cTitle"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// Page Title
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cBody"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// HTML Body Handler
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cBGColor"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// Background Color
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cLinkColor"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// Link Color
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cvLinkColor"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// Visited Link Color
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cContent"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// Page Content Handler
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"aCGIContents"</SPAN><SPAN class=any1-space> )
oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"aQueryFields"</SPAN><SPAN class=any1-space> )
oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cHTMLFile"</SPAN><SPAN class=any1-space> )
oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"aReplaceTags"</SPAN><SPAN class=any1-space> )
oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"New"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>New</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// New Method
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"SetTitle"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>SetTitle</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Set Page Title
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"AddHead"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>AddHead</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Add &lt;H1&gt; Header
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"AddLink"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>AddLink</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Add Hyperlink
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"AddPara"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>AddPara</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Add Paragraph
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"SaveToFile"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>SaveToFile</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Saves Content to File
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"ShowResult"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>ShowResult</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Show Result - SEE Fcn
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Generate"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>Generate</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Generate HTML
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"SetHTMLFile"</SPAN><SPAN class=any1-symbol>,@</SPAN><SPAN class=any1-variable>SetHTMLFile</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Sets source HTML file
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"ProcessCGI"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>ProcessCGI</SPAN><SPAN class=any1-symbol>() )
oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"GetCGIParam"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>GetCGIParam</SPAN><SPAN class=any1-symbol>() )
oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"QueryFields"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>QueryFields</SPAN><SPAN class=any1-symbol>() )
oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"AddReplaceTag"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>AddReplaceTag</SPAN><SPAN class=any1-symbol>() )
oClass:</SPAN><SPAN class=any1-function>Create</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( oClass:</SPAN><SPAN class=any1-variable>Instance</SPAN><SPAN class=any1-symbol>() )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>New</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
::cTitle := </SPAN><SPAN class=any1-string>"Untitled"
</SPAN><SPAN class=any1-space> ::cBGColor := </SPAN><SPAN class=any1-string>"#FFFFFF"
</SPAN><SPAN class=any1-space> ::cLinkColor := </SPAN><SPAN class=any1-string>"#0000FF"
</SPAN><SPAN class=any1-space> ::cvLinkColor := </SPAN><SPAN class=any1-string>"#FF0000"
</SPAN><SPAN class=any1-space> ::cContent := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> ::cBody := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> ::aCGIContents := {}
::aQueryFields := {}
::aReplaceTags := {}
::cHTMLFile := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>SetTitle</SPAN><SPAN class=any1-symbol>( cTitle )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
::cTitle := cTitle
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>AddLink</SPAN><SPAN class=any1-symbol>( cLinkTo, cLinkName )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
::cBody := ::cBody + ;
</SPAN><SPAN class=any1-string>"&lt;A HREF='"</SPAN><SPAN class=any1-space> + cLinkTo + </SPAN><SPAN class=any1-string>"'&gt;"</SPAN><SPAN class=any1-space> + cLinkName + </SPAN><SPAN class=any1-string>"&lt;/A&gt;"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>AddHead</SPAN><SPAN class=any1-symbol>( cDescr )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-comment>// Why this doesn't work?
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// ::cBody += ...
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// ???
</SPAN><SPAN class=any1-space> ::cBody := ::cBody + ;
</SPAN><SPAN class=any1-string>"&lt;H1&gt;"</SPAN><SPAN class=any1-space> + cDescr + </SPAN><SPAN class=any1-string>"&lt;/H1&gt;"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( NIL )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>AddPara</SPAN><SPAN class=any1-symbol>( cPara, cAlign )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
::cBody := ::cBody + ;
</SPAN><SPAN class=any1-string>"&lt;P ALIGN='"</SPAN><SPAN class=any1-space> + cAlign + </SPAN><SPAN class=any1-string>"'&gt;"</SPAN><SPAN class=any1-space> + </SPAN><SPAN class=any1-variable>HB_OSNewLine</SPAN><SPAN class=any1-symbol>() + ;
cPara + </SPAN><SPAN class=any1-variable>HB_OSNewLine</SPAN><SPAN class=any1-symbol>() + ;
</SPAN><SPAN class=any1-string>"&lt;/P&gt;"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>Generate</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> cFile, i, hFile, nPos, cRes := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> lFlag := </SPAN><SPAN class=any1-activedot>.f.
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// Is this a meta file or hand generated script?
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>empty</SPAN><SPAN class=any1-symbol>( ::cHTMLFile )
::cContent := ;
</SPAN><SPAN class=any1-string>"&lt;HTML&gt;&lt;HEAD&gt;"</SPAN><SPAN class=any1-space> + </SPAN><SPAN class=any1-variable>HB_OSNewLine</SPAN><SPAN class=any1-symbol>() + ;
</SPAN><SPAN class=any1-string>"&lt;TITLE&gt;"</SPAN><SPAN class=any1-space> + ::cTitle + </SPAN><SPAN class=any1-string>"&lt;/TITLE&gt;"</SPAN><SPAN class=any1-space> + </SPAN><SPAN class=any1-variable>HB_OSNewLine</SPAN><SPAN class=any1-symbol>() + ;
</SPAN><SPAN class=any1-string>"&lt;BODY link='"</SPAN><SPAN class=any1-space> + ::cLinkColor + </SPAN><SPAN class=any1-string>"' "</SPAN><SPAN class=any1-space> + ;
</SPAN><SPAN class=any1-string>"vlink='"</SPAN><SPAN class=any1-space> + ::cvLinkColor + </SPAN><SPAN class=any1-string>"'&gt;"</SPAN><SPAN class=any1-space> + + </SPAN><SPAN class=any1-variable>HB_OSNewLine</SPAN><SPAN class=any1-symbol>() + ;
::cBody + </SPAN><SPAN class=any1-variable>HB_OSNewLine</SPAN><SPAN class=any1-symbol>() + ;
</SPAN><SPAN class=any1-string>"&lt;/BODY&gt;&lt;/HTML&gt;"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ELSE
</SPAN><SPAN class=any1-space> ::cContent := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// Does cHTMLFile exists?
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> !</SPAN><SPAN class=any1-function>File</SPAN><SPAN class=any1-symbol>( ::cHTMLFile )
::cContent := </SPAN><SPAN class=any1-string>"&lt;H1&gt;Server Error&lt;/H1&gt;&lt;P&gt;&lt;I&gt;No such file: "</SPAN><SPAN class=any1-space> + ;
::cHTMLFile
</SPAN><SPAN class=any1-reservedword>ELSE
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// Read from file
</SPAN><SPAN class=any1-space> hFile := </SPAN><SPAN class=any1-function>fOpen</SPAN><SPAN class=any1-symbol>( ::cHTMLFile, </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-space> )
cFile := </SPAN><SPAN class=any1-function>space</SPAN><SPAN class=any1-symbol>( IF_BUFFER )
</SPAN><SPAN class=any1-reservedword>DO</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>WHILE</SPAN><SPAN class=any1-space> (nPos := </SPAN><SPAN class=any1-function>fRead</SPAN><SPAN class=any1-symbol>( hFile, @cFile, IF_BUFFER )) &gt; </SPAN><SPAN class=any1-number>0
</SPAN><SPAN class=any1-space> cFile := </SPAN><SPAN class=any1-function>left</SPAN><SPAN class=any1-symbol>( cFile, nPos )
cRes += cFile
cFile := </SPAN><SPAN class=any1-function>space</SPAN><SPAN class=any1-symbol>( IF_BUFFER )
</SPAN><SPAN class=any1-reservedword>ENDDO
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>fClose</SPAN><SPAN class=any1-symbol>( hFile )
</SPAN><SPAN class=any1-comment>// Replace matched tags
</SPAN><SPAN class=any1-space> i := </SPAN><SPAN class=any1-number>1
</SPAN><SPAN class=any1-space> ::cContent := cRes
</SPAN><SPAN class=any1-comment>/* TODO: Replace this DO WHILE with FOR..NEXT */
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>DO</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>WHILE</SPAN><SPAN class=any1-space> i &lt;= </SPAN><SPAN class=any1-function>len</SPAN><SPAN class=any1-symbol>( ::aReplaceTags )
::cContent := </SPAN><SPAN class=any1-function>strtran</SPAN><SPAN class=any1-symbol>( ::cContent, ;
</SPAN><SPAN class=any1-string>"&lt;#"</SPAN><SPAN class=any1-space> + ::aReplaceTags[i, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>] + </SPAN><SPAN class=any1-string>"&gt;"</SPAN><SPAN class=any1-symbol>, ::aReplaceTags[i, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-symbol>] )
i++
</SPAN><SPAN class=any1-reservedword>ENDDO
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>/* TODO: Clear remaining (not matched) tags */
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>/*
cRes := ""
FOR i := 1 TO len( ::cContent )
IF substr( ::cContent, i, 1 ) == "&lt;" .AND. ;
substr( ::cContent, i + 1, 1 ) == "#"
lFlag := .t.
ELSEIF substr( ::cContent, i, 1 ) == "&gt;" .AND. lFlag
lFlag := .f.
ELSEIF !lFlag
cRes += substr( ::cContent, i, 1 )
ENDIF
NEXT i
::cContent := cRes
*/
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>ShowResult</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( ;
</SPAN><SPAN class=any1-string>"HTTP/1.0 200 OK"</SPAN><SPAN class=any1-space> + </SPAN><SPAN class=any1-variable>HB_OSNewLine</SPAN><SPAN class=any1-symbol>() + ;
</SPAN><SPAN class=any1-string>"CONTENT-TYPE: TEXT/HTML"</SPAN><SPAN class=any1-space> + </SPAN><SPAN class=any1-variable>HB_OSNewLine</SPAN><SPAN class=any1-symbol>() + </SPAN><SPAN class=any1-variable>HB_OSNewLine</SPAN><SPAN class=any1-symbol>() + ;
::cContent )
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>SaveToFile</SPAN><SPAN class=any1-symbol>( cFile )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> hFile := </SPAN><SPAN class=any1-function>fCreate</SPAN><SPAN class=any1-symbol>( cFile )
</SPAN><SPAN class=any1-function>fWrite</SPAN><SPAN class=any1-symbol>( hFile, ::cContent )
</SPAN><SPAN class=any1-function>fClose</SPAN><SPAN class=any1-symbol>( hFile )
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>ProcessCGI</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> cQuery := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> cBuff := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> nBuff := </SPAN><SPAN class=any1-number>0
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> i
</SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>empty</SPAN><SPAN class=any1-symbol>( ::aCGIContents )
::aCGIContents := { ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"SERVER_SOFTWARE"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"SERVER_NAME"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"GATEWAY_INTERFACE"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"SERVER_PROTOCOL"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"SERVER_PORT"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"REQUEST_METHOD"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"HTTP_ACCEPT"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"HTTP_USER_AGENT"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"HTTP_REFERER"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"PATH_INFO"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"PATH_TRANSLATED"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"SCRIPT_NAME"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"QUERY_STRING"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"REMOTE_HOST"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"REMOTE_ADDR"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"REMOTE_USER"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"AUTH_TYPE"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"CONTENT_TYPE"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"CONTENT_LENGTH"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"ANNOTATION_SERVER"</SPAN><SPAN class=any1-space> ) ;
}
cQuery := ::</SPAN><SPAN class=any1-variable>GetCGIParam</SPAN><SPAN class=any1-symbol>( CGI_QUERY_STRING )
</SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> !</SPAN><SPAN class=any1-function>empty</SPAN><SPAN class=any1-symbol>( cQuery )
::aQueryFields := {}
</SPAN><SPAN class=any1-reservedword>FOR</SPAN><SPAN class=any1-space> i := </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>TO</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>len</SPAN><SPAN class=any1-symbol>( cQuery ) + </SPAN><SPAN class=any1-number>1
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> i &gt; </SPAN><SPAN class=any1-function>len</SPAN><SPAN class=any1-symbol>( cQuery ) .OR. </SPAN><SPAN class=any1-function>substr</SPAN><SPAN class=any1-symbol>( cQuery, i, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ) == </SPAN><SPAN class=any1-string>"&amp;"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>aadd</SPAN><SPAN class=any1-symbol>( ::aQueryFields, ;
{ </SPAN><SPAN class=any1-function>substr</SPAN><SPAN class=any1-symbol>( cBuff, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>at</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"="</SPAN><SPAN class=any1-symbol>, cBuff ) - </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>strtran</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>substr</SPAN><SPAN class=any1-symbol>( cBuff, </SPAN><SPAN class=any1-function>at</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"="</SPAN><SPAN class=any1-symbol>, cBuff ) + </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>, ;
</SPAN><SPAN class=any1-function>len</SPAN><SPAN class=any1-symbol>( cBuff ) - </SPAN><SPAN class=any1-function>at</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"="</SPAN><SPAN class=any1-symbol>, cBuff ) + </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ), </SPAN><SPAN class=any1-string>"+"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>" "</SPAN><SPAN class=any1-space> ) } )
cBuff := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ELSE
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>substr</SPAN><SPAN class=any1-symbol>( cQuery, i, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ) = </SPAN><SPAN class=any1-string>"%"
</SPAN><SPAN class=any1-space> cBuff += </SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>Hex2Dec</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>substr</SPAN><SPAN class=any1-symbol>( cQuery, i + </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-space> ) ) )
nBuff := </SPAN><SPAN class=any1-number>3
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> nBuff = </SPAN><SPAN class=any1-number>0
</SPAN><SPAN class=any1-space> cBuff += </SPAN><SPAN class=any1-function>substr</SPAN><SPAN class=any1-symbol>( cQuery, i, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-reservedword>ELSE
</SPAN><SPAN class=any1-space> nBuff--
</SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>NEXT
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>GetCGIParam</SPAN><SPAN class=any1-symbol>( nParam )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
::</SPAN><SPAN class=any1-variable>ProcessCGI</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> nParam &gt; </SPAN><SPAN class=any1-number>20</SPAN><SPAN class=any1-space> .OR. nParam &lt; </SPAN><SPAN class=any1-number>1
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>outerr</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Invalid CGI parameter"</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( NIL )
</SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( ::aCGIContents[nParam] )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>QueryFields</SPAN><SPAN class=any1-symbol>( cQueryName )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> cRet := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> nRet
::</SPAN><SPAN class=any1-variable>ProcessCGI</SPAN><SPAN class=any1-symbol>()
nRet := </SPAN><SPAN class=any1-function>aScan</SPAN><SPAN class=any1-symbol>( ::aQueryFields, ;
{| x | </SPAN><SPAN class=any1-function>upper</SPAN><SPAN class=any1-symbol>( x[</SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>] ) = </SPAN><SPAN class=any1-function>upper</SPAN><SPAN class=any1-symbol>( cQueryName ) } )
</SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> nRet &gt; </SPAN><SPAN class=any1-number>0
</SPAN><SPAN class=any1-space> cRet := ::aQueryFields[nRet, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-symbol>]
</SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( cRet )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>SetHTMLFile</SPAN><SPAN class=any1-symbol>( cFile )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
::cHTMLFile := cFile
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>AddReplaceTag</SPAN><SPAN class=any1-symbol>( cTag, cReplaceText )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-function>aAdd</SPAN><SPAN class=any1-symbol>( ::aReplaceTags, { cTag, cReplaceText } )
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN></SPAN>
</CODE></PRE>
</BODY></HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>testcgi.prg</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16386" name=GENERATOR>
<STYLE type=text/css>
<!--
body { color: #000000; background-color: #FFFFFF; }
.any1-activedot { color: #800080; }
.any1-comment { color: #008080; }
.any1-constant { color: #800080; }
.any1-escapeampersand { color: #00FF00; font-weight: bold; }
.any1-function { color: #808000; }
.any1-identifier { color: #000000; }
.any1-number { color: #FF0000; }
.any1-preprocessor { }
.any1-reservedword { color: #800000; }
.any1-space { }
.any1-string { color: #0000FF; }
.any1-symbol { }
.any1-variable { color: #808000; }
-->
</STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<PRE><CODE><SPAN style="FONT: 10pt Courier New"><SPAN class=any1-comment>/*
*
* TestCGI.PRG
* Harbour Test of a CGI/HTML-Generator class.
*
* 1999/05/30 First implementation.
*
* 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
*
* 1999/05/31 Initial CGI functionality.
* 1999/06/01 Translated %nn to correct chars.
* 1999/06/02 Dynamic TAG matching routines (inspired on Delphi).
* First attempt to convert Delphi's ISAPI dll of WebSites'
* Function List
* (See http://www.flexsys-ci.com/harbour-project/functions.htm)
* 1999/06/11 List can be viewed online at
* http://www.flexsys-ci.com/cgi-bin/testcgi.exe
* 1999/07/29 Changed qOut() calls to OutStd() calls.
*
*/
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_SERVER_SOFTWARE </SPAN><SPAN class=any1-number>01
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_SERVER_NAME </SPAN><SPAN class=any1-number>02
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_GATEWAY_INTERFACE </SPAN><SPAN class=any1-number>03
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_SERVER_PROTOCOL </SPAN><SPAN class=any1-number>04
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_SERVER_PORT </SPAN><SPAN class=any1-number>05
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_REQUEST_METHOD </SPAN><SPAN class=any1-number>06
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_HTTP_ACCEPT </SPAN><SPAN class=any1-number>07
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_HTTP_USER_AGENT </SPAN><SPAN class=any1-number>08
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_HTTP_REFERER </SPAN><SPAN class=any1-number>09
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_PATH_INFO </SPAN><SPAN class=any1-number>10
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_PATH_TRANSLATED </SPAN><SPAN class=any1-number>11
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_SCRIPT_NAME </SPAN><SPAN class=any1-number>12
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_QUERY_STRING </SPAN><SPAN class=any1-number>13
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_REMOTE_HOST </SPAN><SPAN class=any1-number>14
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_REMOTE_ADDR </SPAN><SPAN class=any1-number>15
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_REMOTE_USER </SPAN><SPAN class=any1-number>16
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_AUTH_TYPE </SPAN><SPAN class=any1-number>17
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_CONTENT_TYPE </SPAN><SPAN class=any1-number>18
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_CONTENT_LENGTH </SPAN><SPAN class=any1-number>19
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> CGI_ANNOTATION_SERVER </SPAN><SPAN class=any1-number>20
</SPAN><SPAN class=any1-constant>#define</SPAN><SPAN class=any1-space> IF_BUFFER </SPAN><SPAN class=any1-number>65535
</SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>Main</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> oHTML := </SPAN><SPAN class=any1-variable>THTML</SPAN><SPAN class=any1-symbol>():</SPAN><SPAN class=any1-variable>New</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> hFile, nPos, cString, cBuf, i, cTable, cLine
oHTML:</SPAN><SPAN class=any1-variable>SetHTMLFile</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"function.cfm"</SPAN><SPAN class=any1-space> )
hFile := </SPAN><SPAN class=any1-function>fOpen</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"list.txt"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-space> )
cString := </SPAN><SPAN class=any1-function>space</SPAN><SPAN class=any1-symbol>( IF_BUFFER )
cBuf := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> cTable := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// Builds dynamic table replacement
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>WHILE</SPAN><SPAN class=any1-space> hFile != -</SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> .AND. (nPos := </SPAN><SPAN class=any1-function>fRead</SPAN><SPAN class=any1-symbol>( hFile, @cString, IF_BUFFER )) &gt; </SPAN><SPAN class=any1-number>0
</SPAN><SPAN class=any1-space> i := </SPAN><SPAN class=any1-number>1
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>DO</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>WHILE</SPAN><SPAN class=any1-space> i &lt;= nPos
</SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>substr</SPAN><SPAN class=any1-symbol>( cString, i, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ) = </SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-number>13</SPAN><SPAN class=any1-space> )
i := i + </SPAN><SPAN class=any1-number>1
</SPAN><SPAN class=any1-space> cLine := cBuf
cBuf := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>left</SPAN><SPAN class=any1-symbol>( cLine, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ) &lt;&gt; </SPAN><SPAN class=any1-string>';'
</SPAN><SPAN class=any1-space> cTable += </SPAN><SPAN class=any1-string>'&lt;TR&gt;'</SPAN><SPAN class=any1-space> + </SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>10</SPAN><SPAN class=any1-symbol>)+</SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>13</SPAN><SPAN class=any1-symbol>) + ;
</SPAN><SPAN class=any1-string>'&lt;TD WIDTH="50%"&gt;&lt;FONT SIZE="2" FACE="Tahoma"&gt;'</SPAN><SPAN class=any1-space> + ;
</SPAN><SPAN class=any1-variable>ParseString</SPAN><SPAN class=any1-symbol>( cLine, </SPAN><SPAN class=any1-string>';'</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ) + </SPAN><SPAN class=any1-string>'&lt;/FONT&gt;&lt;/TD&gt;'</SPAN><SPAN class=any1-space> + </SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>10</SPAN><SPAN class=any1-symbol>)+</SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>13</SPAN><SPAN class=any1-symbol>) + ;
</SPAN><SPAN class=any1-string>'&lt;TD WIDTH="16%"&gt;'</SPAN><SPAN class=any1-space> + ;
</SPAN><SPAN class=any1-reservedword>if</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>ParseString</SPAN><SPAN class=any1-symbol>( cLine, </SPAN><SPAN class=any1-string>';'</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-space> ) = </SPAN><SPAN class=any1-string>'R'</SPAN><SPAN class=any1-symbol>, ;
</SPAN><SPAN class=any1-string>'&lt;CENTER&gt;&lt;IMG SRC="images/purple-m.gif"&gt;'</SPAN><SPAN class=any1-symbol>, ;
</SPAN><SPAN class=any1-string>'&amp;nbsp'</SPAN><SPAN class=any1-space> ) + ;
</SPAN><SPAN class=any1-string>'&lt;/TD&gt;'</SPAN><SPAN class=any1-space> + </SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>10</SPAN><SPAN class=any1-symbol>)+</SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>13</SPAN><SPAN class=any1-symbol>) + ;
</SPAN><SPAN class=any1-string>'&lt;TD WIDTH="16%"&gt;'</SPAN><SPAN class=any1-space> + ;
</SPAN><SPAN class=any1-reservedword>if</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>ParseString</SPAN><SPAN class=any1-symbol>( cLine, </SPAN><SPAN class=any1-string>';'</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-space> ) = </SPAN><SPAN class=any1-string>'S'</SPAN><SPAN class=any1-symbol>, ;
</SPAN><SPAN class=any1-string>'&lt;CENTER&gt;&lt;IMG SRC="images/purple-m.gif"&gt;'</SPAN><SPAN class=any1-symbol>, ;
</SPAN><SPAN class=any1-string>'&amp;nbsp'</SPAN><SPAN class=any1-space> ) + ;
</SPAN><SPAN class=any1-string>'&lt;/TD&gt;'</SPAN><SPAN class=any1-space> + </SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>10</SPAN><SPAN class=any1-symbol>)+</SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>13</SPAN><SPAN class=any1-symbol>) + ;
</SPAN><SPAN class=any1-string>'&lt;TD WIDTH="16%"&gt;'</SPAN><SPAN class=any1-space> + ;
</SPAN><SPAN class=any1-reservedword>if</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>ParseString</SPAN><SPAN class=any1-symbol>( cLine, </SPAN><SPAN class=any1-string>';'</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-space> ) = </SPAN><SPAN class=any1-string>'N'</SPAN><SPAN class=any1-symbol>, ;
</SPAN><SPAN class=any1-string>'&lt;CENTER&gt;&lt;IMG SRC="images/purple-m.gif"&gt;'</SPAN><SPAN class=any1-symbol>, ;
</SPAN><SPAN class=any1-string>'&amp;nbsp'</SPAN><SPAN class=any1-space> ) + ;
</SPAN><SPAN class=any1-string>'&lt;/TD&gt;'</SPAN><SPAN class=any1-space> + </SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>10</SPAN><SPAN class=any1-symbol>)+</SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>(</SPAN><SPAN class=any1-number>13</SPAN><SPAN class=any1-symbol>) + ;
</SPAN><SPAN class=any1-string>'&lt;/TR&gt;'
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ELSE
</SPAN><SPAN class=any1-space> cBuf := cBuf + </SPAN><SPAN class=any1-function>substr</SPAN><SPAN class=any1-symbol>( cString, i, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> i++
</SPAN><SPAN class=any1-reservedword>ENDDO
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ENDDO
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>fClose</SPAN><SPAN class=any1-symbol>( hFile )
oHTML:</SPAN><SPAN class=any1-variable>AddReplaceTag</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Functions"</SPAN><SPAN class=any1-symbol>, cTable )
oHTML:</SPAN><SPAN class=any1-variable>Generate</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-comment>// Uncomment the following if you don't have a Web Server to test
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// this sample
// oHTML:SaveToFile( "test.htm" )
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// If the above is uncommented, you may comment this line:
</SPAN><SPAN class=any1-space> oHTML:</SPAN><SPAN class=any1-variable>ShowResult</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( NIL )
</SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>ParseString</SPAN><SPAN class=any1-symbol>( cString, cDelim, nRet )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> cBuf, aElem, nPosFim, nSize, i
nSize := </SPAN><SPAN class=any1-function>len</SPAN><SPAN class=any1-symbol>( cString ) - </SPAN><SPAN class=any1-function>len</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>StrTran</SPAN><SPAN class=any1-symbol>( cString, cDelim, </SPAN><SPAN class=any1-string>''</SPAN><SPAN class=any1-space> ) ) + </SPAN><SPAN class=any1-number>1
</SPAN><SPAN class=any1-space> aElem := </SPAN><SPAN class=any1-function>array</SPAN><SPAN class=any1-symbol>( nSize )
cBuf := cString
i := </SPAN><SPAN class=any1-number>1
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FOR</SPAN><SPAN class=any1-space> i := </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>TO</SPAN><SPAN class=any1-space> nSize
nPosFim := </SPAN><SPAN class=any1-function>at</SPAN><SPAN class=any1-symbol>( cDelim, cBuf )
</SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> nPosFim &gt; </SPAN><SPAN class=any1-number>0
</SPAN><SPAN class=any1-space> aElem[i] := </SPAN><SPAN class=any1-function>substr</SPAN><SPAN class=any1-symbol>( cBuf, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>, nPosFim - </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-reservedword>ELSE
</SPAN><SPAN class=any1-space> aElem[i] := cBuf
</SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> cBuf := </SPAN><SPAN class=any1-function>substr</SPAN><SPAN class=any1-symbol>( cBuf, nPosFim + </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>len</SPAN><SPAN class=any1-symbol>( cBuf ) )
</SPAN><SPAN class=any1-reservedword>NEXT</SPAN><SPAN class=any1-space> i
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( aElem[ nRet ] )
</SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>Hex2Dec</SPAN><SPAN class=any1-symbol>( cHex )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> aHex := { { </SPAN><SPAN class=any1-string>"0"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>00</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"1"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>01</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"2"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>02</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"3"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>03</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"4"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>04</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"5"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>05</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"6"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>06</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"7"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>07</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"8"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>08</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"9"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>09</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"A"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>10</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"B"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>11</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"C"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>12</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"D"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>13</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"E"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>14</SPAN><SPAN class=any1-space> }, ;
{ </SPAN><SPAN class=any1-string>"F"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>15</SPAN><SPAN class=any1-space> } }
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> nRet
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> nRes
nRet := </SPAN><SPAN class=any1-function>ascan</SPAN><SPAN class=any1-symbol>( aHex, {| x | </SPAN><SPAN class=any1-function>upper</SPAN><SPAN class=any1-symbol>( x[</SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>] ) = </SPAN><SPAN class=any1-function>upper</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>left</SPAN><SPAN class=any1-symbol>( cHex, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ) ) } )
nRes := aHex[nRet, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-symbol>] * </SPAN><SPAN class=any1-number>16
</SPAN><SPAN class=any1-space> nRet := </SPAN><SPAN class=any1-function>ascan</SPAN><SPAN class=any1-symbol>( aHex, {| x | </SPAN><SPAN class=any1-function>upper</SPAN><SPAN class=any1-symbol>( x[</SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>] ) = </SPAN><SPAN class=any1-function>upper</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>right</SPAN><SPAN class=any1-symbol>( cHex, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ) ) } )
nRes += aHex[nRet, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-symbol>]
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( nRes )
</SPAN><SPAN class=any1-comment>/*-------------------------------------------------------------------------*/
</SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> THTML
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> oClass
</SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> oClass == NIL
oClass = </SPAN><SPAN class=any1-variable>HBClass</SPAN><SPAN class=any1-symbol>():</SPAN><SPAN class=any1-variable>New</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"THTML"</SPAN><SPAN class=any1-space> )
oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cTitle"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// Page Title
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cBody"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// HTML Body Handler
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cBGColor"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// Background Color
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cLinkColor"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// Link Color
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cvLinkColor"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// Visited Link Color
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cContent"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// Page Content Handler
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"aCGIContents"</SPAN><SPAN class=any1-space> )
oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"aQueryFields"</SPAN><SPAN class=any1-space> )
oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cHTMLFile"</SPAN><SPAN class=any1-space> )
oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"aReplaceTags"</SPAN><SPAN class=any1-space> )
oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"New"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>New</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// New Method
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"SetTitle"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>SetTitle</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Set Page Title
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"AddHead"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>AddHead</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Add &lt;H1&gt; Header
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"AddLink"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>AddLink</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Add Hyperlink
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"AddPara"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>AddPara</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Add Paragraph
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"SaveToFile"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>SaveToFile</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Saves Content to File
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"ShowResult"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>ShowResult</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Show Result - SEE Fcn
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Generate"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>Generate</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Generate HTML
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"SetHTMLFile"</SPAN><SPAN class=any1-symbol>,@</SPAN><SPAN class=any1-variable>SetHTMLFile</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Sets source HTML file
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"ProcessCGI"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>ProcessCGI</SPAN><SPAN class=any1-symbol>() )
oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"GetCGIParam"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>GetCGIParam</SPAN><SPAN class=any1-symbol>() )
oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"QueryFields"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>QueryFields</SPAN><SPAN class=any1-symbol>() )
oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"AddReplaceTag"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>AddReplaceTag</SPAN><SPAN class=any1-symbol>() )
oClass:</SPAN><SPAN class=any1-function>Create</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( oClass:</SPAN><SPAN class=any1-variable>Instance</SPAN><SPAN class=any1-symbol>() )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>New</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
::cTitle := </SPAN><SPAN class=any1-string>"Untitled"
</SPAN><SPAN class=any1-space> ::cBGColor := </SPAN><SPAN class=any1-string>"#FFFFFF"
</SPAN><SPAN class=any1-space> ::cLinkColor := </SPAN><SPAN class=any1-string>"#0000FF"
</SPAN><SPAN class=any1-space> ::cvLinkColor := </SPAN><SPAN class=any1-string>"#FF0000"
</SPAN><SPAN class=any1-space> ::cContent := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> ::cBody := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> ::aCGIContents := {}
::aQueryFields := {}
::aReplaceTags := {}
::cHTMLFile := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>SetTitle</SPAN><SPAN class=any1-symbol>( cTitle )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
::cTitle := cTitle
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>AddLink</SPAN><SPAN class=any1-symbol>( cLinkTo, cLinkName )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
::cBody := ::cBody + ;
</SPAN><SPAN class=any1-string>"&lt;A HREF='"</SPAN><SPAN class=any1-space> + cLinkTo + </SPAN><SPAN class=any1-string>"'&gt;"</SPAN><SPAN class=any1-space> + cLinkName + </SPAN><SPAN class=any1-string>"&lt;/A&gt;"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>AddHead</SPAN><SPAN class=any1-symbol>( cDescr )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-comment>// Why this doesn't work?
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// ::cBody += ...
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// ???
</SPAN><SPAN class=any1-space> ::cBody := ::cBody + ;
</SPAN><SPAN class=any1-string>"&lt;H1&gt;"</SPAN><SPAN class=any1-space> + cDescr + </SPAN><SPAN class=any1-string>"&lt;/H1&gt;"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( NIL )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>AddPara</SPAN><SPAN class=any1-symbol>( cPara, cAlign )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
::cBody := ::cBody + ;
</SPAN><SPAN class=any1-string>"&lt;P ALIGN='"</SPAN><SPAN class=any1-space> + cAlign + </SPAN><SPAN class=any1-string>"'&gt;"</SPAN><SPAN class=any1-space> + </SPAN><SPAN class=any1-variable>HB_OSNewLine</SPAN><SPAN class=any1-symbol>() + ;
cPara + </SPAN><SPAN class=any1-variable>HB_OSNewLine</SPAN><SPAN class=any1-symbol>() + ;
</SPAN><SPAN class=any1-string>"&lt;/P&gt;"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>Generate</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> cFile, i, hFile, nPos, cRes := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> lFlag := </SPAN><SPAN class=any1-activedot>.f.
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// Is this a meta file or hand generated script?
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>empty</SPAN><SPAN class=any1-symbol>( ::cHTMLFile )
::cContent := ;
</SPAN><SPAN class=any1-string>"&lt;HTML&gt;&lt;HEAD&gt;"</SPAN><SPAN class=any1-space> + </SPAN><SPAN class=any1-variable>HB_OSNewLine</SPAN><SPAN class=any1-symbol>() + ;
</SPAN><SPAN class=any1-string>"&lt;TITLE&gt;"</SPAN><SPAN class=any1-space> + ::cTitle + </SPAN><SPAN class=any1-string>"&lt;/TITLE&gt;"</SPAN><SPAN class=any1-space> + </SPAN><SPAN class=any1-variable>HB_OSNewLine</SPAN><SPAN class=any1-symbol>() + ;
</SPAN><SPAN class=any1-string>"&lt;BODY link='"</SPAN><SPAN class=any1-space> + ::cLinkColor + </SPAN><SPAN class=any1-string>"' "</SPAN><SPAN class=any1-space> + ;
</SPAN><SPAN class=any1-string>"vlink='"</SPAN><SPAN class=any1-space> + ::cvLinkColor + </SPAN><SPAN class=any1-string>"'&gt;"</SPAN><SPAN class=any1-space> + + </SPAN><SPAN class=any1-variable>HB_OSNewLine</SPAN><SPAN class=any1-symbol>() + ;
::cBody + </SPAN><SPAN class=any1-variable>HB_OSNewLine</SPAN><SPAN class=any1-symbol>() + ;
</SPAN><SPAN class=any1-string>"&lt;/BODY&gt;&lt;/HTML&gt;"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ELSE
</SPAN><SPAN class=any1-space> ::cContent := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// Does cHTMLFile exists?
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> !</SPAN><SPAN class=any1-function>File</SPAN><SPAN class=any1-symbol>( ::cHTMLFile )
::cContent := </SPAN><SPAN class=any1-string>"&lt;H1&gt;Server Error&lt;/H1&gt;&lt;P&gt;&lt;I&gt;No such file: "</SPAN><SPAN class=any1-space> + ;
::cHTMLFile
</SPAN><SPAN class=any1-reservedword>ELSE
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// Read from file
</SPAN><SPAN class=any1-space> hFile := </SPAN><SPAN class=any1-function>fOpen</SPAN><SPAN class=any1-symbol>( ::cHTMLFile, </SPAN><SPAN class=any1-number>0</SPAN><SPAN class=any1-space> )
cFile := </SPAN><SPAN class=any1-function>space</SPAN><SPAN class=any1-symbol>( IF_BUFFER )
</SPAN><SPAN class=any1-reservedword>DO</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>WHILE</SPAN><SPAN class=any1-space> (nPos := </SPAN><SPAN class=any1-function>fRead</SPAN><SPAN class=any1-symbol>( hFile, @cFile, IF_BUFFER )) &gt; </SPAN><SPAN class=any1-number>0
</SPAN><SPAN class=any1-space> cFile := </SPAN><SPAN class=any1-function>left</SPAN><SPAN class=any1-symbol>( cFile, nPos )
cRes += cFile
cFile := </SPAN><SPAN class=any1-function>space</SPAN><SPAN class=any1-symbol>( IF_BUFFER )
</SPAN><SPAN class=any1-reservedword>ENDDO
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>fClose</SPAN><SPAN class=any1-symbol>( hFile )
</SPAN><SPAN class=any1-comment>// Replace matched tags
</SPAN><SPAN class=any1-space> i := </SPAN><SPAN class=any1-number>1
</SPAN><SPAN class=any1-space> ::cContent := cRes
</SPAN><SPAN class=any1-comment>/* TODO: Replace this DO WHILE with FOR..NEXT */
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>DO</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>WHILE</SPAN><SPAN class=any1-space> i &lt;= </SPAN><SPAN class=any1-function>len</SPAN><SPAN class=any1-symbol>( ::aReplaceTags )
::cContent := </SPAN><SPAN class=any1-function>strtran</SPAN><SPAN class=any1-symbol>( ::cContent, ;
</SPAN><SPAN class=any1-string>"&lt;#"</SPAN><SPAN class=any1-space> + ::aReplaceTags[i, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>] + </SPAN><SPAN class=any1-string>"&gt;"</SPAN><SPAN class=any1-symbol>, ::aReplaceTags[i, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-symbol>] )
i++
</SPAN><SPAN class=any1-reservedword>ENDDO
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>/* TODO: Clear remaining (not matched) tags */
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>/*
cRes := ""
FOR i := 1 TO len( ::cContent )
IF substr( ::cContent, i, 1 ) == "&lt;" .AND. ;
substr( ::cContent, i + 1, 1 ) == "#"
lFlag := .t.
ELSEIF substr( ::cContent, i, 1 ) == "&gt;" .AND. lFlag
lFlag := .f.
ELSEIF !lFlag
cRes += substr( ::cContent, i, 1 )
ENDIF
NEXT i
::cContent := cRes
*/
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>ShowResult</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( ;
</SPAN><SPAN class=any1-string>"HTTP/1.0 200 OK"</SPAN><SPAN class=any1-space> + </SPAN><SPAN class=any1-variable>HB_OSNewLine</SPAN><SPAN class=any1-symbol>() + ;
</SPAN><SPAN class=any1-string>"CONTENT-TYPE: TEXT/HTML"</SPAN><SPAN class=any1-space> + </SPAN><SPAN class=any1-variable>HB_OSNewLine</SPAN><SPAN class=any1-symbol>() + </SPAN><SPAN class=any1-variable>HB_OSNewLine</SPAN><SPAN class=any1-symbol>() + ;
::cContent )
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>SaveToFile</SPAN><SPAN class=any1-symbol>( cFile )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> hFile := </SPAN><SPAN class=any1-function>fCreate</SPAN><SPAN class=any1-symbol>( cFile )
</SPAN><SPAN class=any1-function>fWrite</SPAN><SPAN class=any1-symbol>( hFile, ::cContent )
</SPAN><SPAN class=any1-function>fClose</SPAN><SPAN class=any1-symbol>( hFile )
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>ProcessCGI</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> cQuery := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> cBuff := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> nBuff := </SPAN><SPAN class=any1-number>0
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> i
</SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>empty</SPAN><SPAN class=any1-symbol>( ::aCGIContents )
::aCGIContents := { ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"SERVER_SOFTWARE"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"SERVER_NAME"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"GATEWAY_INTERFACE"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"SERVER_PROTOCOL"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"SERVER_PORT"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"REQUEST_METHOD"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"HTTP_ACCEPT"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"HTTP_USER_AGENT"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"HTTP_REFERER"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"PATH_INFO"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"PATH_TRANSLATED"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"SCRIPT_NAME"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"QUERY_STRING"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"REMOTE_HOST"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"REMOTE_ADDR"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"REMOTE_USER"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"AUTH_TYPE"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"CONTENT_TYPE"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"CONTENT_LENGTH"</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>GetEnv</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"ANNOTATION_SERVER"</SPAN><SPAN class=any1-space> ) ;
}
cQuery := ::</SPAN><SPAN class=any1-variable>GetCGIParam</SPAN><SPAN class=any1-symbol>( CGI_QUERY_STRING )
</SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> !</SPAN><SPAN class=any1-function>empty</SPAN><SPAN class=any1-symbol>( cQuery )
::aQueryFields := {}
</SPAN><SPAN class=any1-reservedword>FOR</SPAN><SPAN class=any1-space> i := </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>TO</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>len</SPAN><SPAN class=any1-symbol>( cQuery ) + </SPAN><SPAN class=any1-number>1
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> i &gt; </SPAN><SPAN class=any1-function>len</SPAN><SPAN class=any1-symbol>( cQuery ) .OR. </SPAN><SPAN class=any1-function>substr</SPAN><SPAN class=any1-symbol>( cQuery, i, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ) == </SPAN><SPAN class=any1-string>"&amp;"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>aadd</SPAN><SPAN class=any1-symbol>( ::aQueryFields, ;
{ </SPAN><SPAN class=any1-function>substr</SPAN><SPAN class=any1-symbol>( cBuff, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-function>at</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"="</SPAN><SPAN class=any1-symbol>, cBuff ) - </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ), ;
</SPAN><SPAN class=any1-function>strtran</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>substr</SPAN><SPAN class=any1-symbol>( cBuff, </SPAN><SPAN class=any1-function>at</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"="</SPAN><SPAN class=any1-symbol>, cBuff ) + </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>, ;
</SPAN><SPAN class=any1-function>len</SPAN><SPAN class=any1-symbol>( cBuff ) - </SPAN><SPAN class=any1-function>at</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"="</SPAN><SPAN class=any1-symbol>, cBuff ) + </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ), </SPAN><SPAN class=any1-string>"+"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>" "</SPAN><SPAN class=any1-space> ) } )
cBuff := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ELSE
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>substr</SPAN><SPAN class=any1-symbol>( cQuery, i, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> ) = </SPAN><SPAN class=any1-string>"%"
</SPAN><SPAN class=any1-space> cBuff += </SPAN><SPAN class=any1-function>chr</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-variable>Hex2Dec</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-function>substr</SPAN><SPAN class=any1-symbol>( cQuery, i + </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-space> ) ) )
nBuff := </SPAN><SPAN class=any1-number>3
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> nBuff = </SPAN><SPAN class=any1-number>0
</SPAN><SPAN class=any1-space> cBuff += </SPAN><SPAN class=any1-function>substr</SPAN><SPAN class=any1-symbol>( cQuery, i, </SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-reservedword>ELSE
</SPAN><SPAN class=any1-space> nBuff--
</SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>NEXT
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>GetCGIParam</SPAN><SPAN class=any1-symbol>( nParam )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
::</SPAN><SPAN class=any1-variable>ProcessCGI</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> nParam &gt; </SPAN><SPAN class=any1-number>20</SPAN><SPAN class=any1-space> .OR. nParam &lt; </SPAN><SPAN class=any1-number>1
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-function>outerr</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Invalid CGI parameter"</SPAN><SPAN class=any1-space> )
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( NIL )
</SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( ::aCGIContents[nParam] )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>QueryFields</SPAN><SPAN class=any1-symbol>( cQueryName )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> cRet := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> nRet
::</SPAN><SPAN class=any1-variable>ProcessCGI</SPAN><SPAN class=any1-symbol>()
nRet := </SPAN><SPAN class=any1-function>aScan</SPAN><SPAN class=any1-symbol>( ::aQueryFields, ;
{| x | </SPAN><SPAN class=any1-function>upper</SPAN><SPAN class=any1-symbol>( x[</SPAN><SPAN class=any1-number>1</SPAN><SPAN class=any1-symbol>] ) = </SPAN><SPAN class=any1-function>upper</SPAN><SPAN class=any1-symbol>( cQueryName ) } )
</SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> nRet &gt; </SPAN><SPAN class=any1-number>0
</SPAN><SPAN class=any1-space> cRet := ::aQueryFields[nRet, </SPAN><SPAN class=any1-number>2</SPAN><SPAN class=any1-symbol>]
</SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( cRet )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>SetHTMLFile</SPAN><SPAN class=any1-symbol>( cFile )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
::cHTMLFile := cFile
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>AddReplaceTag</SPAN><SPAN class=any1-symbol>( cTag, cReplaceText )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-function>aAdd</SPAN><SPAN class=any1-symbol>( ::aReplaceTags, { cTag, cReplaceText } )
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN></SPAN>
</CODE></PRE>
</BODY></HTML>

View File

@@ -1,124 +1,124 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; testhtml</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Harbour Test of a HTML-Generator class </td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This example demonstrates the possibility of working with Web pages using a custom CGI class. </td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="testhtml.prg.html" class="blue_link">tests/testhtml.prg</a></li>
</ul> </td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><img src="screenshots/testhtml.png" width="392" height="379" /></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; testhtml</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Harbour Test of a HTML-Generator class </td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This example demonstrates the possibility of working with Web pages using a custom CGI class. </td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="testhtml.prg.html" class="blue_link">tests/testhtml.prg</a></li>
</ul> </td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><img src="screenshots/testhtml.png" width="392" height="379" /></div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,187 +1,187 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>testhtml.prg</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16386" name=GENERATOR>
<STYLE type=text/css>
<!--
body { color: #000000; background-color: #FFFFFF; }
.any1-activedot { color: #800080; }
.any1-comment { color: #008080; }
.any1-constant { color: #800080; }
.any1-escapeampersand { color: #00FF00; font-weight: bold; }
.any1-function { color: #808000; }
.any1-identifier { color: #000000; }
.any1-number { color: #FF0000; }
.any1-preprocessor { }
.any1-reservedword { color: #800000; }
.any1-space { }
.any1-string { color: #0000FF; }
.any1-symbol { }
.any1-variable { color: #808000; }
-->
</STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<PRE><CODE><SPAN style="FONT: 10pt Courier New"><SPAN class=any1-comment>/*
*
* TestHTML.PRG
* Harbour Test of a HTML-Generator class.
*
* 1999/05/30 First implementation.
*
* 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
*
**/
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> s_cNewLine
</SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>Main</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> oHTML := </SPAN><SPAN class=any1-variable>THTML</SPAN><SPAN class=any1-symbol>():</SPAN><SPAN class=any1-variable>New</SPAN><SPAN class=any1-symbol>()
s_cNewLine := </SPAN><SPAN class=any1-variable>HB_OSNewLine</SPAN><SPAN class=any1-symbol>()
oHTML:</SPAN><SPAN class=any1-variable>SetTitle</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Harbour Power Demonstration"</SPAN><SPAN class=any1-space> )
oHTML:</SPAN><SPAN class=any1-variable>AddHead</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Harbour Project"</SPAN><SPAN class=any1-space> )
oHTML:</SPAN><SPAN class=any1-variable>AddPara</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"&lt;B&gt;Harbour&lt;/B&gt; is xBase at its best. Have a taste today!"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"LEFT"</SPAN><SPAN class=any1-space> )
oHTML:</SPAN><SPAN class=any1-variable>AddPara</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"&lt;B&gt;L i n k s&lt;/B&gt;"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"CENTER"</SPAN><SPAN class=any1-space> )
oHTML:</SPAN><SPAN class=any1-variable>AddLink</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"http://harbour-project.org"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"Meet the harbour power!"</SPAN><SPAN class=any1-space> )
oHTML:</SPAN><SPAN class=any1-variable>Generate</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-comment>// Uncomment the following if you don't have a Web Server to test
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// this sample
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// oHTML:SaveToFile( "test.htm" )
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// If the above is uncommented, you may comment this line:
</SPAN><SPAN class=any1-space> oHTML:</SPAN><SPAN class=any1-variable>ShowResult</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( NIL )
</SPAN><SPAN class=any1-comment>/*---------------------------------------------------------------------------*/
</SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> THTML
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> oClass
</SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> oClass == NIL
oClass = </SPAN><SPAN class=any1-variable>HBClass</SPAN><SPAN class=any1-symbol>():</SPAN><SPAN class=any1-variable>New</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"THTML"</SPAN><SPAN class=any1-space> )
oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cTitle"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// Page Title
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cBody"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// HTML Body Handler
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cBGColor"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// Background Color
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cLinkColor"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// Link Color
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cvLinkColor"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// Visited Link Color
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cContent"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// Page Content Handler
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"New"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>New</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// New Method
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"SetTitle"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>SetTitle</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Set Page Title
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"AddHead"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>AddHead</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Add &lt;H1&gt; Header
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"AddLink"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>AddLink</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Add Hyperlink
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"AddPara"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>AddPara</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Add Paragraph
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Generate"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>Generate</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Generate HTML
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"SaveToFile"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>SaveToFile</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Saves Content to File
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"ShowResult"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>ShowResult</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Show Result - SEE Fcn
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-function>Create</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( oClass:</SPAN><SPAN class=any1-variable>Instance</SPAN><SPAN class=any1-symbol>() )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>New</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
::cTitle := </SPAN><SPAN class=any1-string>"Untitled"
</SPAN><SPAN class=any1-space> ::cBGColor := </SPAN><SPAN class=any1-string>"#FFFFFF"
</SPAN><SPAN class=any1-space> ::cLinkColor := </SPAN><SPAN class=any1-string>"#0000FF"
</SPAN><SPAN class=any1-space> ::cvLinkColor := </SPAN><SPAN class=any1-string>"#FF0000"
</SPAN><SPAN class=any1-space> ::cContent := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> ::cBody := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>SetTitle</SPAN><SPAN class=any1-symbol>( cTitle )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
::cTitle := cTitle
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>AddLink</SPAN><SPAN class=any1-symbol>( cLinkTo, cLinkName )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
::cBody := ::cBody + ;
</SPAN><SPAN class=any1-string>"&lt;A HREF='"</SPAN><SPAN class=any1-space> + cLinkTo + </SPAN><SPAN class=any1-string>"'&gt;"</SPAN><SPAN class=any1-space> + cLinkName + </SPAN><SPAN class=any1-string>"&lt;/A&gt;"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>AddHead</SPAN><SPAN class=any1-symbol>( cDescr )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-comment>// Why this doesn't work?
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// ::cBody += ...
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// ???
</SPAN><SPAN class=any1-space> ::cBody := ::cBody + ;
</SPAN><SPAN class=any1-string>"&lt;H1&gt;"</SPAN><SPAN class=any1-space> + cDescr + </SPAN><SPAN class=any1-string>"&lt;/H1&gt;"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( NIL )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>AddPara</SPAN><SPAN class=any1-symbol>( cPara, cAlign )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-comment>//Default( cAlign, "Left" ) // removed Patrick Mast 2000-06-07
</SPAN><SPAN class=any1-space> cAlign:=</SPAN><SPAN class=any1-reservedword>If</SPAN><SPAN class=any1-symbol>(cAlign==NIL,</SPAN><SPAN class=any1-string>"Left"</SPAN><SPAN class=any1-symbol>,cAlign) </SPAN><SPAN class=any1-comment>//Added Patrick Mast 2000-06-17
</SPAN><SPAN class=any1-space> ::cBody := ::cBody + ;
</SPAN><SPAN class=any1-string>"&lt;P ALIGN='"</SPAN><SPAN class=any1-space> + cAlign + </SPAN><SPAN class=any1-string>"'&gt;"</SPAN><SPAN class=any1-space> + s_cNewLine + ;
cPara + s_cNewLine + ;
</SPAN><SPAN class=any1-string>"&lt;/P&gt;"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>Generate</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
::cContent := ;
</SPAN><SPAN class=any1-string>"&lt;HTML&gt;&lt;HEAD&gt;"</SPAN><SPAN class=any1-space> + s_cNewLine + ;
</SPAN><SPAN class=any1-string>"&lt;TITLE&gt;"</SPAN><SPAN class=any1-space> + ::cTitle + </SPAN><SPAN class=any1-string>"&lt;/TITLE&gt;"</SPAN><SPAN class=any1-space> + s_cNewLine + ;
</SPAN><SPAN class=any1-string>"&lt;BODY link='"</SPAN><SPAN class=any1-space> + ::cLinkColor + </SPAN><SPAN class=any1-string>"' "</SPAN><SPAN class=any1-space> + ;
</SPAN><SPAN class=any1-string>"vlink='"</SPAN><SPAN class=any1-space> + ::cvLinkColor + </SPAN><SPAN class=any1-string>"'&gt;"</SPAN><SPAN class=any1-space> + + s_cNewLine + ;
::cBody + s_cNewLine + ;
</SPAN><SPAN class=any1-string>"&lt;/BODY&gt;&lt;/HTML&gt;"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>ShowResult</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( ;
;</SPAN><SPAN class=any1-comment>// "HTTP/1.0 200 OK" + s_cNewLine + ;
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-string>"CONTENT-TYPE: TEXT/HTML"</SPAN><SPAN class=any1-space> + s_cNewLine + s_cNewLine + ;
::cContent )
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>SaveToFile</SPAN><SPAN class=any1-symbol>( cFile )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> hFile := </SPAN><SPAN class=any1-function>fCreate</SPAN><SPAN class=any1-symbol>( cFile )
</SPAN><SPAN class=any1-function>fWrite</SPAN><SPAN class=any1-symbol>( hFile, ::cContent )
</SPAN><SPAN class=any1-function>fClose</SPAN><SPAN class=any1-symbol>( hFile )
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN></SPAN>
</CODE></PRE>
</BODY></HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>testhtml.prg</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16386" name=GENERATOR>
<STYLE type=text/css>
<!--
body { color: #000000; background-color: #FFFFFF; }
.any1-activedot { color: #800080; }
.any1-comment { color: #008080; }
.any1-constant { color: #800080; }
.any1-escapeampersand { color: #00FF00; font-weight: bold; }
.any1-function { color: #808000; }
.any1-identifier { color: #000000; }
.any1-number { color: #FF0000; }
.any1-preprocessor { }
.any1-reservedword { color: #800000; }
.any1-space { }
.any1-string { color: #0000FF; }
.any1-symbol { }
.any1-variable { color: #808000; }
-->
</STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<PRE><CODE><SPAN style="FONT: 10pt Courier New"><SPAN class=any1-comment>/*
*
* TestHTML.PRG
* Harbour Test of a HTML-Generator class.
*
* 1999/05/30 First implementation.
*
* 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
*
**/
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> s_cNewLine
</SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>Main</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> oHTML := </SPAN><SPAN class=any1-variable>THTML</SPAN><SPAN class=any1-symbol>():</SPAN><SPAN class=any1-variable>New</SPAN><SPAN class=any1-symbol>()
s_cNewLine := </SPAN><SPAN class=any1-variable>HB_OSNewLine</SPAN><SPAN class=any1-symbol>()
oHTML:</SPAN><SPAN class=any1-variable>SetTitle</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Harbour Power Demonstration"</SPAN><SPAN class=any1-space> )
oHTML:</SPAN><SPAN class=any1-variable>AddHead</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Harbour Project"</SPAN><SPAN class=any1-space> )
oHTML:</SPAN><SPAN class=any1-variable>AddPara</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"&lt;B&gt;Harbour&lt;/B&gt; is xBase at its best. Have a taste today!"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"LEFT"</SPAN><SPAN class=any1-space> )
oHTML:</SPAN><SPAN class=any1-variable>AddPara</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"&lt;B&gt;L i n k s&lt;/B&gt;"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"CENTER"</SPAN><SPAN class=any1-space> )
oHTML:</SPAN><SPAN class=any1-variable>AddLink</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"http://harbour-project.org"</SPAN><SPAN class=any1-symbol>, </SPAN><SPAN class=any1-string>"Meet the harbour power!"</SPAN><SPAN class=any1-space> )
oHTML:</SPAN><SPAN class=any1-variable>Generate</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-comment>// Uncomment the following if you don't have a Web Server to test
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// this sample
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// oHTML:SaveToFile( "test.htm" )
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// If the above is uncommented, you may comment this line:
</SPAN><SPAN class=any1-space> oHTML:</SPAN><SPAN class=any1-variable>ShowResult</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( NIL )
</SPAN><SPAN class=any1-comment>/*---------------------------------------------------------------------------*/
</SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> THTML
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> oClass
</SPAN><SPAN class=any1-reservedword>IF</SPAN><SPAN class=any1-space> oClass == NIL
oClass = </SPAN><SPAN class=any1-variable>HBClass</SPAN><SPAN class=any1-symbol>():</SPAN><SPAN class=any1-variable>New</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"THTML"</SPAN><SPAN class=any1-space> )
oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cTitle"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// Page Title
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cBody"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// HTML Body Handler
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cBGColor"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// Background Color
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cLinkColor"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// Link Color
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cvLinkColor"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// Visited Link Color
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddData</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"cContent"</SPAN><SPAN class=any1-space> ) </SPAN><SPAN class=any1-comment>// Page Content Handler
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"New"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>New</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// New Method
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"SetTitle"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>SetTitle</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Set Page Title
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"AddHead"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>AddHead</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Add &lt;H1&gt; Header
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"AddLink"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>AddLink</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Add Hyperlink
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"AddPara"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>AddPara</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Add Paragraph
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"Generate"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>Generate</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Generate HTML
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"SaveToFile"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>SaveToFile</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Saves Content to File
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-variable>AddMethod</SPAN><SPAN class=any1-symbol>( </SPAN><SPAN class=any1-string>"ShowResult"</SPAN><SPAN class=any1-symbol>, @</SPAN><SPAN class=any1-variable>ShowResult</SPAN><SPAN class=any1-symbol>() ) </SPAN><SPAN class=any1-comment>// Show Result - SEE Fcn
</SPAN><SPAN class=any1-space> oClass:</SPAN><SPAN class=any1-function>Create</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>ENDIF
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( oClass:</SPAN><SPAN class=any1-variable>Instance</SPAN><SPAN class=any1-symbol>() )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>New</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
::cTitle := </SPAN><SPAN class=any1-string>"Untitled"
</SPAN><SPAN class=any1-space> ::cBGColor := </SPAN><SPAN class=any1-string>"#FFFFFF"
</SPAN><SPAN class=any1-space> ::cLinkColor := </SPAN><SPAN class=any1-string>"#0000FF"
</SPAN><SPAN class=any1-space> ::cvLinkColor := </SPAN><SPAN class=any1-string>"#FF0000"
</SPAN><SPAN class=any1-space> ::cContent := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> ::cBody := </SPAN><SPAN class=any1-string>""
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>SetTitle</SPAN><SPAN class=any1-symbol>( cTitle )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
::cTitle := cTitle
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>AddLink</SPAN><SPAN class=any1-symbol>( cLinkTo, cLinkName )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
::cBody := ::cBody + ;
</SPAN><SPAN class=any1-string>"&lt;A HREF='"</SPAN><SPAN class=any1-space> + cLinkTo + </SPAN><SPAN class=any1-string>"'&gt;"</SPAN><SPAN class=any1-space> + cLinkName + </SPAN><SPAN class=any1-string>"&lt;/A&gt;"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>AddHead</SPAN><SPAN class=any1-symbol>( cDescr )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-comment>// Why this doesn't work?
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// ::cBody += ...
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-comment>// ???
</SPAN><SPAN class=any1-space> ::cBody := ::cBody + ;
</SPAN><SPAN class=any1-string>"&lt;H1&gt;"</SPAN><SPAN class=any1-space> + cDescr + </SPAN><SPAN class=any1-string>"&lt;/H1&gt;"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( NIL )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>AddPara</SPAN><SPAN class=any1-symbol>( cPara, cAlign )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-comment>//Default( cAlign, "Left" ) // removed Patrick Mast 2000-06-07
</SPAN><SPAN class=any1-space> cAlign:=</SPAN><SPAN class=any1-reservedword>If</SPAN><SPAN class=any1-symbol>(cAlign==NIL,</SPAN><SPAN class=any1-string>"Left"</SPAN><SPAN class=any1-symbol>,cAlign) </SPAN><SPAN class=any1-comment>//Added Patrick Mast 2000-06-17
</SPAN><SPAN class=any1-space> ::cBody := ::cBody + ;
</SPAN><SPAN class=any1-string>"&lt;P ALIGN='"</SPAN><SPAN class=any1-space> + cAlign + </SPAN><SPAN class=any1-string>"'&gt;"</SPAN><SPAN class=any1-space> + s_cNewLine + ;
cPara + s_cNewLine + ;
</SPAN><SPAN class=any1-string>"&lt;/P&gt;"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>Generate</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
::cContent := ;
</SPAN><SPAN class=any1-string>"&lt;HTML&gt;&lt;HEAD&gt;"</SPAN><SPAN class=any1-space> + s_cNewLine + ;
</SPAN><SPAN class=any1-string>"&lt;TITLE&gt;"</SPAN><SPAN class=any1-space> + ::cTitle + </SPAN><SPAN class=any1-string>"&lt;/TITLE&gt;"</SPAN><SPAN class=any1-space> + s_cNewLine + ;
</SPAN><SPAN class=any1-string>"&lt;BODY link='"</SPAN><SPAN class=any1-space> + ::cLinkColor + </SPAN><SPAN class=any1-string>"' "</SPAN><SPAN class=any1-space> + ;
</SPAN><SPAN class=any1-string>"vlink='"</SPAN><SPAN class=any1-space> + ::cvLinkColor + </SPAN><SPAN class=any1-string>"'&gt;"</SPAN><SPAN class=any1-space> + + s_cNewLine + ;
::cBody + s_cNewLine + ;
</SPAN><SPAN class=any1-string>"&lt;/BODY&gt;&lt;/HTML&gt;"
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>ShowResult</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-function>OutStd</SPAN><SPAN class=any1-symbol>( ;
;</SPAN><SPAN class=any1-comment>// "HTTP/1.0 200 OK" + s_cNewLine + ;
</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-string>"CONTENT-TYPE: TEXT/HTML"</SPAN><SPAN class=any1-space> + s_cNewLine + s_cNewLine + ;
::cContent )
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN><SPAN class=any1-reservedword>STATIC</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-reservedword>FUNCTION</SPAN><SPAN class=any1-space> </SPAN><SPAN class=any1-variable>SaveToFile</SPAN><SPAN class=any1-symbol>( cFile )
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> Self := </SPAN><SPAN class=any1-variable>QSelf</SPAN><SPAN class=any1-symbol>()
</SPAN><SPAN class=any1-reservedword>LOCAL</SPAN><SPAN class=any1-space> hFile := </SPAN><SPAN class=any1-function>fCreate</SPAN><SPAN class=any1-symbol>( cFile )
</SPAN><SPAN class=any1-function>fWrite</SPAN><SPAN class=any1-symbol>( hFile, ::cContent )
</SPAN><SPAN class=any1-function>fClose</SPAN><SPAN class=any1-symbol>( hFile )
</SPAN><SPAN class=any1-reservedword>RETURN</SPAN><SPAN class=any1-symbol>( Self )
</SPAN></SPAN>
</CODE></PRE>
</BODY></HTML>

View File

@@ -1,132 +1,132 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; testidle</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">OnIdle sample</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This demo demonstrates how to add a new background task in Harbour.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="testidle.prg.html" class="blue_link">tests/testidle.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/testidle_w32.png" width="580" height="340" /><br />
testidle sample running on Windows</span><br />
&nbsp;</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; testidle</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="453" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">OnIdle sample</td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This demo demonstrates how to add a new background task in Harbour.</td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">&nbsp;</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Files:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="testidle.prg.html" class="blue_link">tests/testidle.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">Screenshot:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center"><span class="read_more"><img src="screenshots/testidle_w32.png" width="580" height="340" /><br />
testidle sample running on Windows</span><br />
&nbsp;</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,121 +1,121 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; tstmacro</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Dynamic code evalutation sample </td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This example demonstrates how you can use the macro feature present in Harbor in the same manner as was done in Clipper. </td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">Files:</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="tstmacro.prg.html" class="blue_link">tests/tstmacro.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle"><p>Screenshot:</p> </td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center" class="read_more"><img src="screenshots/tstmacro.png" width="531" height="684" /><br />
tstmacro running on Linux</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Samples -&gt; tstmacro</title>
<link href="../css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="../images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="../images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="../images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="../images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="../images/menu-bg2.png"><script type="text/javascript" src="../menu/harbour-menu.js"></script></td>
<td width="5%" height="65" valign="middle">&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" class="tabela_box_trans_TL">&nbsp;</td>
<td colspan="2"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96%" height="26" valign="bottom" class="title">Dynamic code evalutation sample </td>
<td width="1%" rowspan="2" align="center" valign="middle"><a href="../samples.html"><img src="../images/more-samples.png" width="60" height="60" border="0" /></a></td>
</tr>
<tr>
<td width="99%" valign="top">This example demonstrates how you can use the macro feature present in Harbor in the same manner as was done in Clipper. </td>
</tr>
</table></td>
</tr>
<tr>
<td >&nbsp;</td>
<td width="96%" valign="top" class="sample_subtitle">Files:</td>
<td width="2%" >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><ul>
<li><a href="tstmacro.prg.html" class="blue_link">tests/tstmacro.prg</a></li>
</ul></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle"><p>Screenshot:</p> </td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><div align="center" class="read_more"><img src="screenshots/tstmacro.png" width="531" height="684" /><br />
tstmacro running on Linux</div></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="sample_subtitle">How to compile:</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To learn how to compile/link this example see our specific section on this <a href="../samples.html#compile" class="blue_link">link</a>.</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="../images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="/legalnotes.html" class="whitelink">Terms of Service</a> | <a href="/contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,99 +1,99 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Other Documentation Sites &amp; Links</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title"> Nightly builds </td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">You can find the latest development sources for Harbour directly on our website. Source code is checked out of SVN and packaged every night and made available along with the binaries compiled for Linux. <br />
<br />
These packages are NOT intended for production use; please use the packages at download page. <br />
<br />
If you do encounter a bug, please test the latest snapshot build to see if it has already been fixed by a developer. <br />
<br />
To see what developers have added, you can view the ChangeLog directly from the Subversion repository.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="pagina_subtitulo">Download Links</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To download latest development sources go to our <a href="index.html" class="blue_link">index page</a> and find them in the &quot;Project Status&quot; section. To download lastest stable release of Harbour, please <a href="http://sourceforge.net/project/showfiles.php?group_id=681" class="blue_link">click here</a>.<br /></td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Other Documentation Sites &amp; Links</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title"> Nightly builds </td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">You can find the latest development sources for Harbour directly on our website. Source code is checked out of SVN and packaged every night and made available along with the binaries compiled for Linux. <br />
<br />
These packages are NOT intended for production use; please use the packages at download page. <br />
<br />
If you do encounter a bug, please test the latest snapshot build to see if it has already been fixed by a developer. <br />
<br />
To see what developers have added, you can view the ChangeLog directly from the Subversion repository.</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top" class="pagina_subtitulo">Download Links</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">To download latest development sources go to our <a href="index.html" class="blue_link">index page</a> and find them in the &quot;Project Status&quot; section. To download lastest stable release of Harbour, please <a href="http://sourceforge.net/project/showfiles.php?group_id=681" class="blue_link">click here</a>.<br /></td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -1,78 +1,78 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Auxiliar tools </title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title"> Auxiliar tools </td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Auxiliar tools Bison, GCC, FLEX, Tortoise, download link</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Auxiliar tools </title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title"> Auxiliar tools </td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Auxiliar tools Bison, GCC, FLEX, Tortoise, download link</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,84 +1,84 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - T-Shirts</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">The Harbour - Project T-Shirt! </td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">You can order the Harbour-Project T-Shirt for 20 US Dollar per piece (exclusive mail cost)<br />
We have them In sizes eXtra Large and Large. Click on the image to order!<br />
<br />
<a href="Harbour@PatrickMast.com"><img src="images/hilde1.jpg" border="0" /></a></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Download <a href="art/harbourt-shirt.zip" class="blue_link">ZIP</a> with this T-Shirt Art (984Kb)</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - T-Shirts</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">The Harbour - Project T-Shirt! </td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">You can order the Harbour-Project T-Shirt for 20 US Dollar per piece (exclusive mail cost)<br />
We have them In sizes eXtra Large and Large. Click on the image to order!<br />
<br />
<a href="Harbour@PatrickMast.com"><img src="images/hilde1.jpg" border="0" /></a></td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">&nbsp;</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top">Download <a href="art/harbourt-shirt.zip" class="blue_link">ZIP</a> with this T-Shirt Art (984Kb)</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>

View File

@@ -1,87 +1,87 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Tutorials</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">Tutorials</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><p>Some topics to be explained:<br />
<br />
* How to install the files of the Harbor in Windows? <br />
* How to download and compile the Harbor in Linux?<br />
* How to print via Harbor using the Putty? <br />
* How to access MySQL or PostgreSQL using the content? <br />
etc..<br />
<br />&nbsp;
</p>
</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Harbour Project - Tutorials</title>
<link href="css/styles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="menu/stmenu.js"></script></head>
<body>
<table width="740" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000">
<tr>
<td valign="top" bgcolor="#000000"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="229" valign="top" background="images/header_03.png" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="6%"><img src="images/header_01.jpg" width="287" height="164" /></td>
<td width="94%"><img src="images/header_02.jpg" width="448" height="164" /></td>
</tr>
</table></td>
</tr>
<tr>
<td background="images/menu-bg.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95%" height="65" valign="top" background="images/menu-bg2.png"><script type="text/javascript" src="menu/harbour-menu.js"></script></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr valign="bottom">
<td width="2%" height="26" class="tabela_box_trans_TL">&nbsp;</td>
<td width="96%" height="26" class="title">Tutorials</td>
<td width="2%" height="26" class="tabela_box_trans_TR">&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td valign="top"><p>Some topics to be explained:<br />
<br />
* How to install the files of the Harbor in Windows? <br />
* How to download and compile the Harbor in Linux?<br />
* How to print via Harbor using the Putty? <br />
* How to access MySQL or PostgreSQL using the content? <br />
etc..<br />
<br />&nbsp;
</p>
</td>
<td >&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">&nbsp;</td>
</tr>
<tr>
<td height="32" background="images/footer.gif"><table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="33%" class="footer"><a href="/" class="whitelink">Copyright © 1999-<script type="text/javascript">copyright_year()</script> The Harbour Project.</a></td>
<td width="33%" class="footer"><div align="center"><a href="legalnotes.html" class="whitelink">Terms of Service</a> | <a href="contact.html" class="whitelink">Contact Us</a></div></td>
<td width="33%" class="footer"><div align="right">Design
by <a href="mailto: vailtom@gmail.com" class="whitelink">Vailton Renato</a> </div>
<div align="right"></div></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>