Files
harbour-core/harbour/tests/usrrdd/exlog.prg
Viktor Szakats 5633f2b4f3 2012-06-05 00:18 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib\hbblat\tests\blatcmd.prg
  * contrib\hbblat\tests\blattest.prg
  * contrib\hbct\tests\datetime.prg
  * contrib\hbcurl\tests\ftp_uldl.prg
  * contrib\hbfimage\tests\fitest.prg
  * contrib\hbformat\hbfmtcls.prg
  * contrib\hbformat\utils\hbformat.prg
  * contrib\hbfoxpro\dll.prg
  * contrib\hbgd\gd.prg
  * contrib\hbgd\gdbarcod.prg
  * contrib\hbgd\tests\animgif.prg
  * contrib\hbgd\tests\antialia.prg
  * contrib\hbgd\tests\counter.prg
  * contrib\hbgd\tests\gdtest.prg
  * contrib\hbgd\tests\gdtestcl.prg
  * contrib\hbgd\tests\test_out.prg
  * contrib\hbgd\tests\testdpi.prg
  * contrib\hbgd\tests\tostring.prg
  * contrib\hbmagic\tests\hbmagit.prg
  * contrib\hbmisc\fcomma.prg
  * contrib\hbmxml\tests\testmxml.prg
  * contrib\hbmysql\tsqlbrw.prg
  * contrib\hbnf\menu1.prg
  * contrib\hbnf\pegs.prg
  * contrib\hbnf\popadder.prg
  * contrib\hbnf\savesets.prg
  * contrib\hbnf\tempfile.prg
  * contrib\hbpgsql\tests\cache.prg
  * contrib\hbpgsql\tests\dbf2pg.prg
  * contrib\hbpgsql\tests\simple.prg
  * contrib\hbpgsql\tests\stress.prg
  * contrib\hbqt\qtgui\hbqt_errorsys.prg
  * contrib\hbsms\tests\send.prg
  * contrib\hbsqlit3\hdbcsqlt.prg
  * contrib\hbsqlit3\tests\authoriz.prg
  * contrib\hbsqlit3\tests\backup.prg
  * contrib\hbsqlit3\tests\hdbctest.prg
  * contrib\hbsqlit3\tests\hooks.prg
  * contrib\hbtip\cgi.prg
  * contrib\hbtip\client.prg
  * contrib\hbtip\ftpcli.prg
  * contrib\hbtip\httpcli.prg
  * contrib\hbtip\sessid.prg
  * contrib\hbtip\tests\dnldftp.prg
  * contrib\hbtip\tests\gmail.prg
  * contrib\hbtip\tests\upld_ftp.prg
  * contrib\hbwin\tests\dlg.prg
  * contrib\hbwin\tests\testsvc.prg
  * contrib\hbwin\win_tcom.prg
  * contrib\hbxpp\tgetx.prg
  * contrib\hbxpp\xppop.prg
  * contrib\hbziparc\ziparc.prg
  * examples\hbbtree\tbtree.prg
  * examples\httpsrv\modules\info.prg
  * examples\httpsrv\modules\testajax.prg
  * examples\rddado\adordd.prg
  * examples\terminal\terminal.prg
  * src\rdd\usrrdd\rdds\arrayrdd.prg
  * src\rdd\usrrdd\rdds\logrdd.prg
  * src\rtl\achoice.prg
  * src\rtl\radiogrp.prg
  * src\rtl\tclass.prg
  * tests\usrrdd\exlog.prg
    * using HB_DEFAULT() instead of DEFAULT ... TO ...
    % deleted '#include "common.ch"' where possible
    ; please pay attention to places where multiple values are
      accepted and DEFAULT applied. It's possible some of these
      might have been slipped my attention and converted to
      HB_DEFAULT(), causing regression.

  * src/rdd/usrrdd/rdds/arrayrdd.prg
    ! typos in recent mods
2012-06-04 22:21:59 +00:00

90 lines
3.3 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 : ' + LTrim( Str( 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 : ' + LTrim( Str( nWA ) )
// In this example I don't want to log Close Command
CASE cCmd == "APPEND"
// Parameters received: xPar1 = lUnlockAll
cString := Alias() + "->RecNo() = " + LTrim( Str( RecNo() ) )
CASE cCmd == "DELETE"
// Parameters received: none
cString := Alias() + "->RecNo() = " + LTrim( Str( RecNo() ) )
CASE cCmd == "RECALL"
// Parameters received: none
cString := Alias() + "->RecNo() = " + LTrim( Str( RecNo() ) )
CASE cCmd == "PUTVALUE"
// Parameters received: xPar1 = nField, xPar2 = xValue, xPar3 = xOldValue
HB_SYMBOL_UNUSED( xPar3 ) // Here don't log previous value
cString := Alias() + "(" + LTrim( Str( 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"