Files
harbour-core/harbour/tests/usrrdd/exlog.prg
Viktor Szakats c0dc8c254d 2012-10-04 12:47 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/tget.prg
    ! fixed regression from 2012-01-29 17:22 UTC+0100
      when non-numeric index was allowed on a non-hash
      variable and then an RTE generated.
      Caused rto_get.prg to RTE in the middle.

  * contrib/gtwvg/activex.prg
  * contrib/gtwvg/class.prg
  * contrib/gtwvg/tests/demoxbp.prg
  * contrib/gtwvg/tests/utils.prg
  * contrib/rddads/doc/en/adsfuncs.txt
  * contrib/rddads/doc/en/readme.txt
  * contrib/xhb/tfile.prg
  * contrib/xhb/txml.prg
  * contrib/xhb/xhbole.prg
  * doc/windll.txt
  * extras/gtwvw/gtwvw.c
  * extras/gtwvw/hbgtwvw.h
  * extras/gtwvw/tests/maincoor.prg
  * extras/gtwvw/wvwcheck.c
  * extras/gtwvw/wvwdraw.c
  * extras/gtwvw/wvwedit.c
  * extras/gtwvw/wvwfuncs.c
  * extras/gtwvw/wvwmenu.c
  * extras/gtwvw/wvwpush.c
  * extras/gtwvw/wvwstbar.c
  * extras/gtwvw/wvwtbar.c
  * extras/hbdoc/tmplates.prg
  * tests/gtcolors.prg
  * tests/ipclnt.prg
  * tests/ipsvr.prg
  * tests/rto_get.prg
  * tests/rto_tb.prg
  * tests/usrrdd/exarr.prg
  * tests/usrrdd/exfcm.prg
  * tests/usrrdd/exhsx.prg
  * tests/usrrdd/exlog.prg
  * tests/usrrdd/exmemo.prg
  * tests/usrrdd/exrlx.prg
  * tests/wcecon.prg
    * full formatting using hbformat (where needed)
    * Win32 -> Windows
    * 32-bit deleted where it didn't make sense
    * using K_* constants
    ! fixed != operators where used on strings (more to come)
      Thanks to Jose F. Gimenez for the ones in txml.prg.
    * avoid "common.ch"
    % use hb_ntos() in Harbour specific code
2012-10-04 10:54:07 +00:00

93 lines
3.1 KiB
Plaintext

/*
* $Id$
*/
#include "dbinfo.ch"
#include "hbusrrdd.ch"
// Request for LOGRDD rdd driver
REQUEST LOGRDD
// Here put Request for RDD you want to inherit then add
// function hb_LogRddInherit() (see at bottom)
REQUEST DBFCDX
PROCEDURE Main()
// Set LOGRDD as default RDD otherwise I have to set explicitly use
// with DRIVER option
rddSetDefault( "LOGRDD" )
// Adding Memofile Info
rddInfo( RDDI_MEMOVERSION, DB_MEMOVER_CLIP, "LOGRDD" )
// Define Log File Name and position
hb_LogRddLogFileName( "logs\changes.log" )
// Define Tag to add for each line logged
hb_LogRddTag( NetName() + "\" + hb_UserName() )
// Activate Logging, it can be stopped/started at any moment
hb_LogRddActive( .T. )
// Uncomment next command to change logged string that I have to return to standard LOGRDD file
// hb_LogRddMsgLogBlock( {| cTag, cRDDName, cCmd, nWA, xPar1, xPar2, xPar3 | MyToString( cTag, cRDDName, cCmd, nWA, xPar1, xPar2, xPar3 ) } )
// Uncomment next command to change standard destination of my logged string
// hb_LogRddUserLogBlock( {| cTag, cRDDName, cCmd, nWA, xPar1, xPar2, xPar3 | hb_toOutDebug( MyToString( cTag, cRDDName, cCmd, nWA, xPar1, xPar2, xPar3 ) + "\n\r" ) } )
// Start program logic
// Open a table with logging (default RDD is LOGRDD)
USE test
field->name := "Francesco"
CLOSE
// Open a table without logging
USE test VIA "DBFCDX"
APPEND BLANK
field->name := "Francesco"
RETURN
STATIC FUNCTION MyToString( cCmd, nWA, xPar1, xPar2, xPar3 )
LOCAL cString
DO CASE
CASE cCmd == "CREATE"
// Parameters received: xPar1 = aOpenInfo
cString := xPar1[ UR_OI_NAME ]
CASE cCmd == "CREATEFIELDS"
// Parameters received: xPar1 = aStruct
cString := hb_ValToExp( xPar1 )
CASE cCmd == "OPEN"
// Parameters received: xPar1 = aOpenInfo
// cString := 'Table : "' + xPar1[ UR_OI_NAME ] + '", Alias : "' + Alias() + '", WorkArea : ' + hb_ntos( nWA )
// In this example I don't want to log Open Command
CASE cCmd == "CLOSE"
// Parameters received: xPar1 = cTableName, xPar2 = cAlias
//cString := 'Table : "' + xPar1 + '", Alias : "' + xPar2 + '", WorkArea : ' + hb_ntos( nWA )
// In this example I don't want to log Close Command
CASE cCmd == "APPEND"
// Parameters received: xPar1 = lUnlockAll
cString := Alias() + "->RecNo() = " + hb_ntos( RecNo() )
CASE cCmd == "DELETE"
// Parameters received: none
cString := Alias() + "->RecNo() = " + hb_ntos( RecNo() )
CASE cCmd == "RECALL"
// Parameters received: none
cString := Alias() + "->RecNo() = " + hb_ntos( RecNo() )
CASE cCmd == "PUTVALUE"
// Parameters received: xPar1 = nField, xPar2 = xValue, xPar3 = xOldValue
HB_SYMBOL_UNUSED( xPar3 ) // Here don't log previous value
cString := Alias() + "(" + hb_ntos( RecNo() ) + ")->" + PadR( FieldName( xPar1 ), 10 ) + " := " + hb_LogRddValueToText( xPar2 )
CASE cCmd == "ZAP"
// Parameters received: none
cString := 'Alias : "' + Alias() + ' Table : "' + dbInfo( DBI_FULLPATH ) + '"'
ENDCASE
RETURN cString
FUNCTION hb_LogRddInherit()
RETURN "DBFCDX"