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 - _dbeset database browse settings structure http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 _DBESET             Database browse settings structure
------------------------------------------------------------------------------
 Declaration
   database.hdr

 Syntax
   typedef struct _DBESET
      byte         bTop
      byte         bLeft
      byte         bBottom
      byte         bRight
      uint         uColumns
      ptr(_DBEKEY) pKeyFunc
      ptr(char)    pSepRec
      ptr(char)    pSepHdr
   enddef

 Members
   bTop is the top row of the browse window.
   bLeft is the left column of the browse window.
   bBottom is the bottom row of the browse window.
   bRight is the right column of the browse window.
   uColumns is the number of displayed field columns.
   pKeyFunc is a pointer to a user-defined keypress function.
   pSepRec is a pointer to the record separator character.
   pSepHdr is a pointer to the header separator character.

 Description
   The _DBESET structure contains settings for a database browse. A
   variable declared as of type _DBESET is used in conjunction with
   the dbedit() function.

 Example
   #define EXAMPLE_TYPE
   #define EXAMPLE_DATABASE
   #include example.hdr

   func uint KeyFunc4 static
   param _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 HeaderFunc4 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 RecordFunc4 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_DBESET
   vardef
      uint            n
      _DBESET         mBrw
      ptr( _DBEDISP ) _aFuncRec[ NUM_FIELDS ]
      ptr( _DBEDISP ) _aFuncHdr[ NUM_FIELDS ]
   enddef
   clear
   cursor( .f. )
   @ 23, 0 ?? center( "Use the Ins and Del keys to (un)mark records", 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 ] := &HeaderFunc4
      _aFuncRec[ n ] := &RecordFunc4
   next
   mBrw.bTop     := 6                            // browse settings
   mBrw.bLeft    := 14
   mBrw.bBottom  := 21
   mBrw.bRight   := 66
   mBrw.pSepRec  := &" "
   mBrw.pSepHdr  := &" "
   mBrw.pKeyFunc := &KeyFunc4
   open sTest                                    // open database
   __syscolor[ CLR_STD ] := BLACK_LIGHT_GREY
   dbedit( sTest, mBrw, &_aFuncRec[], &_aFuncHdr[] )
   cursor( .t. )
   endproc

   proc main
   Test_DBESET()
   endproc

See Also: dbedit()

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