2012-11-09 13:08 UTC+0100 Viktor Szakats (vszakats syenar.net)
* contrib/xhb/hbcompat.ch
* contrib/xhb/htmutil.prg
* contrib/xhb/stream.prg
* contrib/xhb/tedit.prg
* contrib/xhb/tfile.prg
* contrib/xhb/tframe.prg
* contrib/xhb/thtm.prg
* contrib/xhb/trpc.prg
* contrib/xhb/ttable.prg
* contrib/xhb/xcstr.prg
* contrib/xhb/xdbmodst.prg
* contrib/xhb/xthrow.c
* extras/httpsrv/modules/cookie.prg
* extras/httpsrv/modules/info.prg
* extras/httpsrv/modules/showcounter.prg
* extras/httpsrv/modules/tableservletdb.prg
* src/rdd/usrrdd/rdds/arrayrdd.prg
* cleanups
This commit is contained in:
@@ -16,6 +16,26 @@
|
||||
The license applies to all entries newer than 2009-04-28.
|
||||
*/
|
||||
|
||||
2012-11-09 13:08 UTC+0100 Viktor Szakats (vszakats syenar.net)
|
||||
* contrib/xhb/hbcompat.ch
|
||||
* contrib/xhb/htmutil.prg
|
||||
* contrib/xhb/stream.prg
|
||||
* contrib/xhb/tedit.prg
|
||||
* contrib/xhb/tfile.prg
|
||||
* contrib/xhb/tframe.prg
|
||||
* contrib/xhb/thtm.prg
|
||||
* contrib/xhb/trpc.prg
|
||||
* contrib/xhb/ttable.prg
|
||||
* contrib/xhb/xcstr.prg
|
||||
* contrib/xhb/xdbmodst.prg
|
||||
* contrib/xhb/xthrow.c
|
||||
* extras/httpsrv/modules/cookie.prg
|
||||
* extras/httpsrv/modules/info.prg
|
||||
* extras/httpsrv/modules/showcounter.prg
|
||||
* extras/httpsrv/modules/tableservletdb.prg
|
||||
* src/rdd/usrrdd/rdds/arrayrdd.prg
|
||||
* cleanups
|
||||
|
||||
2012-11-09 12:39 UTC+0100 Viktor Szakats (harbour syenar.net)
|
||||
* bin/find.hb
|
||||
+ show component name (core/contrib/addon) instead of
|
||||
|
||||
@@ -557,7 +557,7 @@
|
||||
#xtranslate inetIsSocket( [<x,...>] ) => hb_inetIsSocket( <x> )
|
||||
#xtranslate inetDestroy( [<x,...>] ) => iif( hb_inetIsSocket( <x> ), hb_inetClose( <x> ), )
|
||||
|
||||
/* THROW => generate error */
|
||||
/* Throw() => generate error */
|
||||
#xtranslate Throw( <oErr> ) => ( Eval( ErrorBlock(), <oErr> ), Break( <oErr> ) )
|
||||
|
||||
#endif
|
||||
|
||||
@@ -356,9 +356,9 @@ CREATE CLASS JWindow
|
||||
|
||||
METHOD Put()
|
||||
|
||||
METHOD BEGIN()
|
||||
METHOD Begin()
|
||||
|
||||
METHOD END ()
|
||||
METHOD End()
|
||||
|
||||
METHOD QOut( c )
|
||||
|
||||
@@ -609,7 +609,7 @@ METHOD QOut( c ) CLASS JWindow
|
||||
*
|
||||
*/
|
||||
|
||||
METHOD BEGIN() CLASS JWindow
|
||||
METHOD Begin() CLASS JWindow
|
||||
|
||||
LOCAL i
|
||||
|
||||
@@ -676,7 +676,7 @@ METHOD BEGIN() CLASS JWindow
|
||||
*
|
||||
*/
|
||||
|
||||
METHOD END() CLASS JWindow
|
||||
METHOD End() CLASS JWindow
|
||||
|
||||
HtmlJSCmd( ::nH, ::varName + ".document.write('</BODY></HTML>')" + CRLF() )
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
|
||||
#include "fileio.ch"
|
||||
|
||||
#xtranslate THROW(<oErr>) => (Eval(ErrorBlock(), <oErr>), Break(<oErr>))
|
||||
#xtranslate Throw( <oErr> ) => ( Eval( ErrorBlock(), <oErr> ), Break( <oErr> ) )
|
||||
|
||||
#define BUFFER_SIZE 16384
|
||||
|
||||
|
||||
@@ -497,7 +497,7 @@ CREATE CLASS THtmlForm
|
||||
|
||||
METHOD Put( lPutControls )
|
||||
|
||||
METHOD END ()
|
||||
METHOD End()
|
||||
|
||||
METHOD GetControl( cName )
|
||||
|
||||
|
||||
@@ -66,12 +66,12 @@ CREATE CLASS TCgiFile
|
||||
|
||||
METHOD Open( nMode )
|
||||
|
||||
METHOD CLOSE() INLINE FClose( ::Handle ), ;
|
||||
METHOD Close() INLINE FClose( ::Handle ), ;
|
||||
::Handle := -999
|
||||
|
||||
METHOD RENAME( c ) INLINE FRename( ::File, c ) == 0
|
||||
METHOD Rename( c ) INLINE FRename( ::File, c ) == 0
|
||||
|
||||
METHOD ERASE() INLINE FErase( ::File ) == 0
|
||||
METHOD Erase() INLINE FErase( ::File ) == 0
|
||||
|
||||
METHOD Exists() INLINE hb_FileExists( ::File )
|
||||
|
||||
@@ -101,9 +101,9 @@ CREATE CLASS TCgiFile
|
||||
|
||||
METHOD Eof() INLINE FPOS( ::Handle ) == ::FileSize
|
||||
|
||||
METHOD SEEK( n, o ) INLINE FSeek( ::Handle, n, o )
|
||||
METHOD Seek( n, o ) INLINE FSeek( ::Handle, n, o )
|
||||
|
||||
METHOD CREATE( nAttr )
|
||||
METHOD Create( nAttr )
|
||||
|
||||
METHOD Size()
|
||||
|
||||
@@ -121,9 +121,9 @@ CREATE CLASS TCgiFile
|
||||
|
||||
METHOD ReadLong()
|
||||
|
||||
METHOD GOTO( nLine )
|
||||
METHOD Goto( nLine )
|
||||
|
||||
METHOD SKIP( nLines )
|
||||
METHOD Skip( nLines )
|
||||
|
||||
METHOD MaxPages( nPageSize )
|
||||
|
||||
@@ -165,7 +165,7 @@ METHOD Open( nMode ) CLASS TCgiFile
|
||||
** ::Create( [<nAttrib>] ) --> lSuccess
|
||||
*/
|
||||
|
||||
METHOD CREATE ( nAttr ) CLASS TCgiFile
|
||||
METHOD Create( nAttr ) CLASS TCgiFile
|
||||
|
||||
LOCAL nSuccess
|
||||
|
||||
@@ -336,7 +336,7 @@ METHOD WriteLong( nLong ) CLASS TCgiFile
|
||||
**
|
||||
*/
|
||||
|
||||
METHOD GOTO( nLine ) CLASS TCgiFile
|
||||
METHOD Goto( nLine ) CLASS TCgiFile
|
||||
|
||||
LOCAL nCount := 1
|
||||
LOCAL nPos := FPOS( ::Handle )
|
||||
@@ -372,7 +372,7 @@ METHOD GOTO( nLine ) CLASS TCgiFile
|
||||
**
|
||||
*/
|
||||
|
||||
METHOD SKIP( nLines ) CLASS TCgiFile
|
||||
METHOD Skip( nLines ) CLASS TCgiFile
|
||||
|
||||
LOCAL nCount := 0
|
||||
LOCAL nPos := FPOS( ::Handle )
|
||||
|
||||
@@ -62,7 +62,7 @@ CREATE CLASS THtmlFrameSet
|
||||
|
||||
METHOD EndSet()
|
||||
|
||||
METHOD END ()
|
||||
METHOD End()
|
||||
|
||||
METHOD Frame( cName, cURL, lBorder, lResize, lScrolling, ;
|
||||
marginwidth, marginheight, cTarget, cScrolling )
|
||||
@@ -153,7 +153,7 @@ METHOD Endset() CLASS THtmlFrameSet
|
||||
RETURN Self
|
||||
|
||||
|
||||
METHOD END () CLASS THtmlFrameSet
|
||||
METHOD End() CLASS THtmlFrameSet
|
||||
|
||||
::cStr += "</html>" + CRLF()
|
||||
|
||||
|
||||
@@ -112,7 +112,7 @@ CREATE CLASS THtml
|
||||
|
||||
METHOD SetBgImage( cImage, lBody ) INLINE Default( lBody, .T. ), ::cStr += iif( lBody, '<BODY BACKGROUND="' + cImage + '">', ' BACKGROUND="' + cImage + '" ' )
|
||||
|
||||
METHOD CLOSE()
|
||||
METHOD Close()
|
||||
|
||||
METHOD SetCenter( lOn ) INLINE ::cStr += iif( lOn, "<CENTER>", "</CENTER>" )
|
||||
|
||||
@@ -122,9 +122,9 @@ CREATE CLASS THtml
|
||||
|
||||
METHOD DefineFont( cFont, cType, nSize, cColor, lSet )
|
||||
|
||||
METHOD ENDFONT()
|
||||
METHOD EndFont()
|
||||
|
||||
METHOD SAY( str, font, size, type, color, style )
|
||||
METHOD Say( str, font, size, type, color, style )
|
||||
|
||||
METHOD QQOut( c ) INLINE Default( c, "" ), ::cStr += c
|
||||
|
||||
@@ -142,7 +142,7 @@ CREATE CLASS THtml
|
||||
METHOD PutImage( cImage, nBorder, nHeight, cOnclick, cOnMsOver, cOnMsOut, ;
|
||||
cName, cAlt, cTarget, nWidth, lBreak, ID, MAP, ALING, HSPACE )
|
||||
|
||||
METHOD TEXT( cText, nCols, lWrap ) INLINE Default( lWrap, .T. ), Default( nCols, 80 ), ;
|
||||
METHOD Text( cText, nCols, lWrap ) INLINE Default( lWrap, .T. ), Default( nCols, 80 ), ;
|
||||
::cStr += "<PRE" + iif( nCols != NIL, ' COLS="' + hb_ntos( nCols ) + "'", "" ) + iif( lWrap, " WRAP>", ">" ) + CRLF() + cText + CRLF() + "</PRE>" + CRLF()
|
||||
|
||||
METHOD MultiCol( txt, cols, gutter, width ) INLINE Default( txt, "" ), ;
|
||||
@@ -709,7 +709,7 @@ METHOD DefineFont( cFont, cType, nSize, cColor, lSet ) CLASS THtml
|
||||
* End a font definition
|
||||
*/
|
||||
|
||||
METHOD ENDFONT() CLASS THtml
|
||||
METHOD EndFont() CLASS THtml
|
||||
|
||||
::cStr += '</font>' + CRLF()
|
||||
|
||||
@@ -723,7 +723,7 @@ METHOD ENDFONT() CLASS THtml
|
||||
*
|
||||
*/
|
||||
|
||||
METHOD SAY( str, font, size, type, color, style ) CLASS THtml
|
||||
METHOD Say( str, font, size, type, color, style ) CLASS THtml
|
||||
|
||||
LOCAL cOut := ""
|
||||
LOCAL lBold := .F.
|
||||
@@ -1195,7 +1195,7 @@ METHOD PutImage( cImage, nBorder, nHeight, ;
|
||||
*
|
||||
*/
|
||||
|
||||
METHOD CLOSE() CLASS THtml
|
||||
METHOD Close() CLASS THtml
|
||||
|
||||
#if 0
|
||||
::cStr += ::cStr
|
||||
|
||||
@@ -223,7 +223,7 @@ CREATE CLASS TRPCFunction
|
||||
METHOD CheckTypes( aParams )
|
||||
METHOD CheckParam( cParam )
|
||||
METHOD Describe()
|
||||
METHOD RUN( aParams, oClient )
|
||||
METHOD Run( aParams, oClient )
|
||||
|
||||
ENDCLASS
|
||||
|
||||
@@ -298,7 +298,7 @@ METHOD SetCallable( oExec, oMeth ) CLASS TRPCFunction
|
||||
|
||||
RETURN .T.
|
||||
|
||||
METHOD RUN( aParams, oClient ) CLASS TRPCFunction
|
||||
METHOD Run( aParams, oClient ) CLASS TRPCFunction
|
||||
|
||||
LOCAL nStart, nCount, xRet
|
||||
|
||||
@@ -395,7 +395,7 @@ CREATE CLASS TRPCServeCon
|
||||
/* Managing async */
|
||||
METHOD Start()
|
||||
METHOD Stop()
|
||||
METHOD RUN()
|
||||
METHOD Run()
|
||||
|
||||
/* Utilty */
|
||||
METHOD SendProgress( nProgress, oData )
|
||||
@@ -490,7 +490,7 @@ METHOD Stop() CLASS TRPCServeCon
|
||||
|
||||
RETURN lRet
|
||||
|
||||
METHOD RUN() CLASS TRPCServeCon
|
||||
METHOD Run() CLASS TRPCServeCon
|
||||
|
||||
LOCAL cCode := Space( 6 )
|
||||
LOCAL lBreak := .F.
|
||||
@@ -1229,7 +1229,7 @@ CREATE CLASS TRPCService
|
||||
|
||||
/* Function management */
|
||||
METHOD Add( xFunction, cVersion, nLevel, oExec, oMethod )
|
||||
METHOD RUN( cName, aParams )
|
||||
METHOD Run( cName, aParams )
|
||||
METHOD Describe( cName )
|
||||
METHOD Find( cName )
|
||||
METHOD Remove( cName )
|
||||
@@ -1241,7 +1241,7 @@ CREATE CLASS TRPCService
|
||||
METHOD Terminating( oConnection )
|
||||
|
||||
/* Tcp services */
|
||||
METHOD ACCEPT()
|
||||
METHOD Accept()
|
||||
|
||||
/* UDP services */
|
||||
METHOD UdpListen()
|
||||
@@ -1325,7 +1325,7 @@ METHOD Remove( cName ) CLASS TRPCService
|
||||
|
||||
RETURN lRet
|
||||
|
||||
METHOD RUN( cName, aParams ) CLASS TRPCService
|
||||
METHOD Run( cName, aParams ) CLASS TRPCService
|
||||
|
||||
LOCAL oFunc := ::Find( cName )
|
||||
LOCAL oRet := NIL
|
||||
@@ -1407,7 +1407,7 @@ METHOD Stop() CLASS TRPCService
|
||||
|
||||
RETURN .T.
|
||||
|
||||
METHOD ACCEPT() CLASS TRPCService
|
||||
METHOD Accept() CLASS TRPCService
|
||||
|
||||
LOCAL skIn
|
||||
|
||||
|
||||
@@ -642,21 +642,21 @@ CREATE CLASS HBTable
|
||||
METHOD Bof() INLINE ( ::Alias )->( Bof() )
|
||||
METHOD RecNo() INLINE ( ::Alias )->( RecNo() )
|
||||
METHOD LastRec() INLINE ( ::Alias )->( LastRec() )
|
||||
METHOD SKIP( n ) INLINE ( ::Alias )->( dbSkip( n ) ), ;
|
||||
METHOD Skip( n ) INLINE ( ::Alias )->( dbSkip( n ) ), ;
|
||||
::nRecno := ( ::Alias )->( RecNo() )
|
||||
|
||||
METHOD GOTO( n ) INLINE ( ::Alias )->( dbGoto( n ) )
|
||||
METHOD Goto( n ) INLINE ( ::Alias )->( dbGoto( n ) )
|
||||
METHOD goTop() INLINE ( ::Alias )->( dbGoTop() )
|
||||
METHOD goBottom() INLINE ( ::Alias )->( dbGoBottom() )
|
||||
METHOD SetFocus() INLINE ( ::Alias )->( Select( ::ALias ) )
|
||||
METHOD APPEND( l ) INLINE iif( ::isNet, ( ::Alias )->( NetAppend( l ) ), ;
|
||||
METHOD Append( l ) INLINE iif( ::isNet, ( ::Alias )->( NetAppend( l ) ), ;
|
||||
( ::alias )->( dbAppend() ) )
|
||||
METHOD RECALL() INLINE ( ::Alias )->( NetRecall() )
|
||||
METHOD Recall() INLINE ( ::Alias )->( NetRecall() )
|
||||
|
||||
METHOD LOCATE( bFor, bWhile, nNext, nRec, lRest ) INLINE ;
|
||||
METHOD Locate( bFor, bWhile, nNext, nRec, lRest ) INLINE ;
|
||||
( ::Alias )->( __dbLocate( bFor, bWhile, ;
|
||||
nNext, nRec, lRest ) )
|
||||
METHOD CONTINUE() INLINE ( ::Alias )->( __dbContinue() )
|
||||
METHOD Continue() INLINE ( ::Alias )->( __dbContinue() )
|
||||
METHOD Found() INLINE ( ::Alias )->( Found() )
|
||||
METHOD Kill() INLINE ( ::Alias )->( dbCommit() ), ;
|
||||
( ::Alias )->( dbUnlock() ), ;
|
||||
@@ -723,15 +723,15 @@ CREATE CLASS HBTable
|
||||
METHOD New( cDBF, cALIAS, cOrderBag, cDRIVER, ;
|
||||
lNET, cPATH, lNEW, lREADONLY )
|
||||
|
||||
METHOD OPEN()
|
||||
METHOD Open()
|
||||
|
||||
METHOD dbMove( nDirection )
|
||||
METHOD FldInit()
|
||||
METHOD READ( lKeepBuffer )
|
||||
METHOD Read( lKeepBuffer )
|
||||
METHOD ReadBLANK( lKeepBuffer )
|
||||
METHOD Write( lKeepBuffer )
|
||||
METHOD BufWrite( aBuffer )
|
||||
MESSAGE DELETE() METHOD __oTDelete( lKeepBuffer ) // reserved word - *HAS* to be renamed...
|
||||
MESSAGE Delete() METHOD __oTDelete( lKeepBuffer ) // reserved word - *HAS* to be renamed...
|
||||
METHOD SetMonitor( l )
|
||||
METHOD Undo( nBuffer, nLevel )
|
||||
|
||||
@@ -806,7 +806,7 @@ METHOD New( cDBF, cALIAS, cOrderBag, cDRIVER, ;
|
||||
|
||||
RETURN Self
|
||||
|
||||
METHOD OPEN() CLASS HBTable
|
||||
METHOD Open() CLASS HBTable
|
||||
|
||||
LOCAL lSuccess := .T.
|
||||
|
||||
@@ -928,7 +928,7 @@ METHOD FldInit() CLASS HBTable
|
||||
|
||||
RETURN oNew
|
||||
|
||||
METHOD PROCEDURE READ( lKeepBuffer ) CLASS HBTable
|
||||
METHOD PROCEDURE Read( lKeepBuffer ) CLASS HBTable
|
||||
|
||||
LOCAL i
|
||||
LOCAL nSel := Select( ::Alias )
|
||||
@@ -1254,7 +1254,7 @@ METHOD AddOrder( cTag, cKey, cLabel, ;
|
||||
|
||||
RETURN oOrd
|
||||
|
||||
METHOD REINDEX() CLASS HBTable
|
||||
METHOD Reindex() CLASS HBTable
|
||||
|
||||
LOCAL nSel := Select( ::Alias )
|
||||
LOCAL nOrd := ( ::Alias )->( ordSetFocus( 0 ) )
|
||||
@@ -1481,7 +1481,7 @@ CREATE CLASS HBOrder
|
||||
METHOD Alias() INLINE ::oTable:Alias
|
||||
|
||||
METHOD New( cTag, cKey, cLabel, cFor, cWhile, lUnique, bEval, nInterval, cOrderBag )
|
||||
METHOD CREATE()
|
||||
METHOD Create()
|
||||
|
||||
METHOD SetFocus() INLINE ( ::alias )->( ordSetFocus( ::Tag, ::cOrderBag ) )
|
||||
METHOD Destroy() INLINE ( ::alias )->( ordDestroy( ::Tag, ::cOrderBag ) )
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
#define CRLF Chr( 13 ) + Chr( 10 )
|
||||
|
||||
#xtranslate THROW( <oErr> ) => ( Eval( ErrorBlock(), <oErr> ), Break( <oErr> ) )
|
||||
#xtranslate Throw( <oErr> ) => ( Eval( ErrorBlock(), <oErr> ), Break( <oErr> ) )
|
||||
|
||||
//
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
#define EG_RENAME 26
|
||||
#endif
|
||||
|
||||
#xtranslate THROW( <oErr> ) => ( Eval( ErrorBlock(), <oErr> ), Break( <oErr> ) )
|
||||
#xtranslate Throw( <oErr> ) => ( Eval( ErrorBlock(), <oErr> ), Break( <oErr> ) )
|
||||
|
||||
FUNCTION dbModifyStructure( cFile )
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* THROW() compatibility function
|
||||
* Throw() compatibility function
|
||||
*
|
||||
* Copyright 2007 Przemyslaw Czerpak <druzus / at / priv.onet.pl>
|
||||
* www - http://harbour-project.org
|
||||
|
||||
@@ -50,13 +50,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "hbclass.ch"
|
||||
|
||||
MEMVAR _REQUEST
|
||||
|
||||
#xcommand TEXT INTO <v> => #pragma __cstream|<v>+=%s
|
||||
// #pragma escapedstrings = on
|
||||
|
||||
FUNCTION HRBMAIN()
|
||||
|
||||
LOCAL cHtml := ""
|
||||
@@ -70,7 +65,7 @@ FUNCTION HRBMAIN()
|
||||
hb_default( @cAction, "" )
|
||||
|
||||
// Sample page embedded
|
||||
TEXT INTO cHtml
|
||||
#pragma __cstream | cHtml += %s
|
||||
<!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>
|
||||
@@ -95,7 +90,7 @@ Pressing button you will redirect to /info page. Look at COOKIE values.
|
||||
|
||||
</body>
|
||||
</html>
|
||||
ENDTEXT
|
||||
#pragma __endtext
|
||||
|
||||
IF Empty( cAction )
|
||||
// Set a simple cookie
|
||||
|
||||
@@ -50,14 +50,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
Show internal variables.
|
||||
Call it with: /info
|
||||
*/
|
||||
|
||||
|
||||
#include "hbclass.ch"
|
||||
|
||||
MEMVAR _SERVER, _REQUEST, _GET, _POST, _COOKIE, _SESSION, _HTTP_REQUEST, _HTTP_RESPONSE
|
||||
|
||||
FUNCTION HRBMAIN()
|
||||
|
||||
@@ -78,13 +78,9 @@ FUNCTION HRBMAIN()
|
||||
uhttpd_SetHeader( "Content-Type", "text/html" )
|
||||
uhttpd_Write( "<h1>Error: No image created</h1>" )
|
||||
ENDIF
|
||||
|
||||
|
||||
ELSE
|
||||
|
||||
uhttpd_SetHeader( "Content-Type", "text/html" )
|
||||
uhttpd_Write( "<h1>Error: no parameters passed</h1>" )
|
||||
|
||||
ENDIF
|
||||
|
||||
RETURN .T.
|
||||
@@ -93,22 +89,19 @@ STATIC FUNCTION CreateCounter( cValue, cBaseImage )
|
||||
|
||||
LOCAL oI, oIDigits, nWidth, nHeight, nDigits, nNumWidth, oTemp
|
||||
|
||||
// LOCAL black, white, blue, red, green, cyan, gray
|
||||
// LOCAL white
|
||||
#if 0
|
||||
LOCAL black, white, blue, red, green, cyan, gray
|
||||
LOCAL white
|
||||
#endif
|
||||
LOCAL aNumberImages := {}
|
||||
LOCAL n, nValue
|
||||
// LOCAL cFile
|
||||
|
||||
// A value if not passed
|
||||
hb_default( @cValue , Str( hb_RandomInt( 1, 10 ^ DISPLAY_NUM ), DISPLAY_NUM ) )
|
||||
hb_default( @cValue, Str( hb_RandomInt( 1, 10 ^ DISPLAY_NUM ), DISPLAY_NUM ) )
|
||||
hb_default( @cBaseImage, "57chevy.gif" )
|
||||
|
||||
IF ! hb_FileExists( IMAGES_IN + cBaseImage )
|
||||
// hb_ToOutDebug( "ERROR: Base Image File '" + IMAGES_IN + cBaseImage + "' not found" )
|
||||
// THROW( "ERROR: Base Image File '" + IMAGES_IN + cBaseImage + "' not found" )
|
||||
RETURN NIL
|
||||
// ELSE
|
||||
// hb_ToOutDebug( "ERROR: Base Image File '" + IMAGES_IN + cBaseImage + "' FOUND" )
|
||||
ENDIF
|
||||
|
||||
nValue := Val( cValue )
|
||||
@@ -120,14 +113,14 @@ STATIC FUNCTION CreateCounter( cValue, cBaseImage )
|
||||
|
||||
cValue := StrZero( nValue, DISPLAY_NUM )
|
||||
|
||||
// ? "Value = ", cValue
|
||||
#if 0
|
||||
? "Value = ", cValue
|
||||
|
||||
// Check output directory
|
||||
/*
|
||||
IF ! hb_DirExists( IMAGES_OUT )
|
||||
DirMake( IMAGES_OUT )
|
||||
ENDIF
|
||||
*/
|
||||
#endif
|
||||
|
||||
/* Load a digits image in memory from file */
|
||||
oIDigits := GDImage():LoadFromGif( IMAGES_IN + cBaseImage )
|
||||
@@ -151,12 +144,13 @@ STATIC FUNCTION CreateCounter( cValue, cBaseImage )
|
||||
ENDCASE
|
||||
nNumWidth := nWidth / nDigits
|
||||
|
||||
// ? "nNumWidth, nWidth, nHeight, nDigits = ", nNumWidth, nWidth, nHeight, nDigits
|
||||
#if 0
|
||||
? "nNumWidth, nWidth, nHeight, nDigits = ", nNumWidth, nWidth, nHeight, nDigits
|
||||
#endif
|
||||
|
||||
/* extracts single digits */
|
||||
FOR n := 1 TO nDigits
|
||||
oTemp := oIDigits:Copy( ( n - 1 ) * nNumWidth, 0, nNumWidth, nHeight )
|
||||
// oTemp:SaveGif( IMAGES_OUT + StrZero( n - 1, 2 ) + ".gif" )
|
||||
// Here I have to clone the image, otherwise on var destruction I loose
|
||||
// the image in memory
|
||||
AAdd( aNumberImages, oTemp:Clone() )
|
||||
@@ -164,20 +158,22 @@ STATIC FUNCTION CreateCounter( cValue, cBaseImage )
|
||||
|
||||
/* Create counter image in memory */
|
||||
oI := GDImage():New( nNumWidth * DISPLAY_NUM, nHeight ) // the counter
|
||||
// ? "Image dimensions: ", oI:Width(), oI:Height()
|
||||
#if 0
|
||||
? "Image dimensions: ", oI:Width(), oI:Height()
|
||||
|
||||
/* Allocate background */
|
||||
// white := oI:SetColor( 255, 255, 255 )
|
||||
white := oI:SetColor( 255, 255, 255 )
|
||||
|
||||
/* Allocate drawing color */
|
||||
// black := oI:SetColor( 0, 0, 0 )
|
||||
// blue := oI:SetColor( 0, 0, 255 )
|
||||
// red := oI:SetColor( 255, 0, 0 )
|
||||
// green := oI:SetColor( 0, 255, 0 )
|
||||
// cyan := oI:SetColor( 0, 255, 255 )
|
||||
black := oI:SetColor( 0, 0, 0 )
|
||||
blue := oI:SetColor( 0, 0, 255 )
|
||||
red := oI:SetColor( 255, 0, 0 )
|
||||
green := oI:SetColor( 0, 255, 0 )
|
||||
cyan := oI:SetColor( 0, 255, 255 )
|
||||
|
||||
/* Draw rectangle */
|
||||
// oI:Rectangle( 0, 0, 200, 30, , blue )
|
||||
oI:Rectangle( 0, 0, 200, 30,, blue )
|
||||
#endif
|
||||
|
||||
/* Draw Digits */
|
||||
FOR n := 1 TO Len( cValue )
|
||||
@@ -191,18 +187,14 @@ STATIC FUNCTION CreateCounter( cValue, cBaseImage )
|
||||
oI:Rectangle( ( n - 1 ) * nNumWidth, 0, ( n - 1 ) * nNumWidth + nNumWidth, nHeight, .T., gdTiled )
|
||||
NEXT
|
||||
|
||||
#if 0
|
||||
/* Write Final Counter Image */
|
||||
// cFile := "counter" + StrZero( hb_RandomInt( 1, 99 ), 2 ) + ".gif"
|
||||
// oI:SaveGif( IMAGES_OUT + cFile )
|
||||
oI:SaveGif( IMAGES_OUT + "counter" + StrZero( hb_RandomInt( 1, 99 ), 2 ) + ".gif" )
|
||||
|
||||
/* Destroy images in memory */
|
||||
// Class does it automatically
|
||||
|
||||
// ?
|
||||
// ? "Look at " + IMAGES_OUT + " folder for output images"
|
||||
// ?
|
||||
|
||||
// RETURN cFile
|
||||
?
|
||||
? "Look at " + IMAGES_OUT + " folder for output images"
|
||||
?
|
||||
#endif
|
||||
|
||||
RETURN oI:ToStringGif()
|
||||
|
||||
|
||||
@@ -61,9 +61,7 @@ FUNCTION HRBMAIN()
|
||||
|
||||
LOCAL cXml, cPage, cCount, nCount
|
||||
LOCAL oTM
|
||||
LOCAL hGets
|
||||
|
||||
hGets := _REQUEST
|
||||
LOCAL hGets := _REQUEST
|
||||
|
||||
hb_default( @hGets, { => } )
|
||||
|
||||
@@ -71,15 +69,11 @@ FUNCTION HRBMAIN()
|
||||
|
||||
cPage := hGets[ "page" ]
|
||||
|
||||
oTM := TableManager():New()
|
||||
|
||||
oTM := TableManager():New()
|
||||
IF oTM:Open()
|
||||
|
||||
oTM:Read()
|
||||
cXml := oTM:getXmlData( Val( cPage ) )
|
||||
|
||||
oTM:Close()
|
||||
|
||||
ENDIF
|
||||
|
||||
ELSEIF hb_HHasKey( hGets, "count" )
|
||||
@@ -87,37 +81,25 @@ FUNCTION HRBMAIN()
|
||||
cCount := hGets[ "count" ]
|
||||
|
||||
IF cCount == "true"
|
||||
|
||||
oTM := TableManager():New()
|
||||
|
||||
IF ( oTM:Open() )
|
||||
|
||||
IF oTM:Open()
|
||||
nCount := oTM:getLastRec()
|
||||
cXml := oTM:getXmlCount( nCount )
|
||||
|
||||
oTM:Close()
|
||||
|
||||
ENDIF
|
||||
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
|
||||
IF ! Empty( cXml )
|
||||
|
||||
uhttpd_SetHeader( "Content-Type", "text/xml" )
|
||||
// cache control
|
||||
uhttpd_SetHeader( "Cache-Control", "no-cache, must-revalidate" )
|
||||
uhttpd_SetHeader( "Expires", "Mon, 26 Jul 1997 05:00:00 GMT" )
|
||||
|
||||
uhttpd_Write( cXml )
|
||||
|
||||
ELSE
|
||||
|
||||
uhttpd_SetHeader( "Content-Type", "text/xml" )
|
||||
uhttpd_Write( '<?xml version="1.0" encoding="ISO-8859-1"?>' )
|
||||
uhttpd_Write( "<pages><page>No Data</page></pages>" )
|
||||
|
||||
ENDIF
|
||||
|
||||
RETURN .T. // I Handle HTML Output
|
||||
@@ -126,7 +108,7 @@ FUNCTION HRBMAIN()
|
||||
TableManager
|
||||
*/
|
||||
|
||||
CLASS TableManager
|
||||
CREATE CLASS TableManager
|
||||
|
||||
CLASS VAR ROWS_PER_PAGE INIT 23
|
||||
|
||||
@@ -137,8 +119,8 @@ CLASS TableManager
|
||||
|
||||
METHOD New()
|
||||
METHOD Open()
|
||||
METHOD CLOSE() INLINE iif( ::lOpened, ( table->( dbCloseArea() ), ::lOpened := .F. ), )
|
||||
METHOD READ()
|
||||
METHOD Close() INLINE iif( ::lOpened, ( table->( dbCloseArea() ), ::lOpened := .F. ), )
|
||||
METHOD Read()
|
||||
METHOD getLastRec() INLINE table->( LastRec() )
|
||||
METHOD getXmlData( page )
|
||||
METHOD getXmlCount( ncount )
|
||||
@@ -169,12 +151,11 @@ METHOD Open() CLASS TableManager
|
||||
|
||||
RETURN ::lOpened
|
||||
|
||||
METHOD READ() CLASS TableManager
|
||||
METHOD Read() CLASS TableManager
|
||||
|
||||
LOCAL hMap, lOk := .F.
|
||||
|
||||
#ifdef SIMULATE_SLOW_REPLY
|
||||
|
||||
// force slow connection to simulate long reply
|
||||
hb_idleSleep( 0.5 )
|
||||
#endif
|
||||
@@ -391,12 +372,12 @@ METHOD xmlEncode( input ) CLASS TableManager
|
||||
|
||||
RETURN out
|
||||
|
||||
CLASS BasicXML
|
||||
CREATE CLASS BasicXML
|
||||
|
||||
VAR aData INIT {}
|
||||
|
||||
METHOD New() CONSTRUCTOR
|
||||
METHOD APPEND( cString ) INLINE AAdd( ::aData, cString )
|
||||
METHOD append( cString ) INLINE AAdd( ::aData, cString )
|
||||
METHOD ToString()
|
||||
|
||||
ENDCLASS
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
|
||||
#include "hbtrace.ch"
|
||||
|
||||
#xtranslate THROW( <oErr> ) => ( Eval( ErrorBlock(), <oErr> ), Break( <oErr> ) )
|
||||
#xtranslate Throw( <oErr> ) => ( Eval( ErrorBlock(), <oErr> ), Break( <oErr> ) )
|
||||
|
||||
ANNOUNCE ARRAYRDD
|
||||
|
||||
|
||||
Reference in New Issue
Block a user