[<<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.ClipX.Net --- NG 2 HTML conversion by Dave Pearson