Files
harbour-core/harbour/contrib/htmllib/counter.prg
2001-12-25 16:51:58 +00:00

89 lines
1.7 KiB
Plaintext

#include "html.ch"
#include "forms.ch"
#include "default.ch"
PROC CounterCGI()
LOCAL lIsPost := .F.
LOCAL cCounterDat := "counter.dat"
LOCAL oFrm, oEd, oSub
LOCAL oHtm, oCgi
SET DATE BRITISH
IF "POST" $ UPPER(GETENV("REQUEST_METHOD"))
lIsPost := .T.
oCgi := oCGI():New() // get server parameters/variables
ENDIF
oHtm := HTML():CGINew( "Counter.htm", "My Counter File" )
oHtm:SetPageColor(CLR_DARK_YELLOW ) //"#FFFFCC")
oHtm:SetTextColor(CLR_WHITE)
oHtm:SetbgImage("/images/back/bg32.bmp")
oHtm:Setcenter( .f. )
oHtm:qout( "" )
SET FONT "Verdana" SIZE 3 OF oHtm
DEFINE FORM oFrm ;
CAPTION "A Simple Counter" ;
NAME "MyForm";
ACTION "/cgi-bin/counter.exe?" ;
FRAME
CONTROL EDIT NAME "User" ;
MAXCHARS 20 ;
SIZE 20 ;
CAPTION "User Name:" ;
IN oFrm
LINE BREAK IN oFrm
LINE IN oFrm
LINE BREAK IN oFrm
SPACE 80 IN oFrm
CONTROL SUBMIT NAME cSubmit VALUE (" Ok ") IN oFrm
ACTIVATE oFrm
SET FONT "Verdana" SIZE 3 OF oHtm
oHtm:defineTable( 2,, 90,, "#9196A0" )
oHtm:newTableRow()
oHtm:newTableCell()
oHtm:QOut( "Page Visited :<b>" + TRANSFORM( incCounter(), "999,999,999" ) + +htmlSpace(2)+"</b>Times")
oHtm:EndTableCell()
oHtm:EndTableRow()
oHtm:EndTable()
oHtm:cgiClose()
RETURN
//ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FUNCTION IncCounter()
LOCAL n := 0
IF FILE("Counter.dat")
n := VAL(MEMOREAD("counter.dat"))
ELSE
n := 0
ENDIF
MEMOWRIT( "counter.dat", STR( n+1 ) )
RETURN n
//ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
FUNCTION GetCounter()
LOCAL n := 0
IF FILE("Counter.dat")
n := VAL(MEMOREAD("counter.dat"))
ELSE
incCounter()
ENDIF
RETURN n