Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Force 4.0 Reference - __dbecfg configuration of the dbedit() function http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 __dbecfg            Configuration of the dbedit() function
------------------------------------------------------------------------------
 Declaration
   database.hdr

 Syntax
   _DBECONFIG __dbecfg

 Default
   See below for individual members.

 Description
   The __dbecfg system variable is a global structure containing
   configuration information for the dbedit() function.

   -----------------------------------------------------------
   Member         Description                        Default
   -----------------------------------------------------------
   uTimeOut       idle timeout                       3600 secs
   cCharDel       character to mark deleted records  "*"
   cCharEmpty     pad character for cell display     " "
   bHeadRow       header row                         0
   bHeadCol       header column                      0
   bHeadLen       header length                      0
   uKeyMark       record mark key                    K_INS
   uKeyUnMark     record unmark key                  K_DEL
   uKeyMarkAll    mark all key                       K_ALT_INS
   uKeyMarkClr    mark clear key                     K_ALT_DEL
   uKeyReload     database reload key                K_ALT_L
   -----------------------------------------------------------

 Example
   #define EXAMPLE_DATABASE
   #include example.hdr

   func uint KeyFunc2 static
   para _ALIAS_PARAM pDbf, ;
        value uint   uField, ;
        value ulong  pBitArray, ;
        value uint   uMode
   vardef
      uint uMarked
      uint n
   enddef
   uMarked := 0
   for n := 1 to areccount( pDbf )
      if barrget( pBitArray, n )     // calculate number of marked records
         uMarked++
      endif
   next
   @ 2, 11 ?? arecno( pDbf )         // status display
   @ 2, 26 ?? uField
   @ 2, 41 ?? uMarked
   @ 2, 56 ?? uMode
   return( DBER_CONTINUE )
   endproc
   
   func char HeaderFunc2 static          // return column headers
   param _ALIAS_PARAM pDbf, ;
          value uint  uField, ;
                uint  nFldLen
   nFldLen := afieldlen( pDbf, uField )  // must always return a length
   return( upper( afieldname( pDbf, uField ) ) )
   endfunc
   
   func char RecordFunc2 static          // return record contents
   param _ALIAS_PARAM pDbf, ;
         value uint   uField, ;
               uint   nFldLen
   nFldLen := afieldlen( pDbf, uField )  // must always return a length
   return( afieldstring( pDbf, uField ) )
   endfunc
   
   proc Test_dbecfg
   vardef
      uint            n
      _DBESET         mBrw
      ptr( _DBEDISP ) _aFuncRec[ NUM_FIELDS ]
      ptr( _DBEDISP ) _aFuncHdr[ NUM_FIELDS ]
   enddef
   clear
   cursor( .f. )
   @ 23, 0 ?? center( "Use the (Back)Space keys to (un)mark records", 80 )
   @ 24, 0 ?? center( "Idle exit time is 5 seconds", 80 )
   @ 1, 15 ?? "Record"
   @ 1, 30 ?? "Field"
   @ 1, 46 ?? "Marked"
   @ 1, 62 ?? "Mode"
   __syscolor[ CLR_STD ] := WHITE_BLACK
   @ 5, 14 ?? replicate( "-", 53 )
   __syscolor[ CLR_DBE_STD    ] := WHITE_BLUE    // unmarked records
   __syscolor[ CLR_DBE_SEL    ] := BLUE_WHITE    // selection bar
   __syscolor[ CLR_DBE_CELL   ] := BLACK_WHITE   // selected cell
   __syscolor[ CLR_DBE_MARKED ] := GREEN_BLACK   // marked records
   __syscolor[ CLR_DBE_HEAD   ] := WHITE_BLACK   // header
   mBrw.uColumns := NUM_FIELDS
   for n := 0 to NUM_FIELDS - 1                  // fill function arrays
      _aFuncHdr[ n ] := &HeaderFunc2
      _aFuncRec[ n ] := &RecordFunc2
   next
   mBrw.bTop     := 6                            // browse settings
   mBrw.bLeft    := 14
   mBrw.bBottom  := 21
   mBrw.bRight   := 66
   mBrw.pSepRec  := &" "
   mBrw.pSepHdr  := &" "
   mBrw.pKeyFunc := &KeyFunc2
   
   __dbecfg.uTimeOut   := 5         // set idle timeout
   __dbecfg.cCharDel   := "!"       // set character to mark deleted records
   __dbecfg.cCharEmpty := "#"       // set pad character for cell display
   __dbecfg.uKeyMark   := K_SPACE   // set record mark key
   __dbecfg.uKeyUnMark := K_BS      // set record unmark key
   
   __syscolor[ CLR_STD ] := BLACK_LIGHT_GREY
   open sTest                                    // open database
   !sTest delete all for sTest->lastname = "Canady" // delete some records
   !sTest go top
   dbedit( sTest, mBrw, &_aFuncRec[], &_aFuncHdr[] )
   clear
   cursor( .t. )
   endproc

   proc main
   Test_dbecfg()
   endproc

See Also: dbedit()

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson