home *** CD-ROM | disk | FTP | other *** search
- // Tbex14.prg
- //
- // Simple database browse with added cosmetics
- // Compile with /a /m /n /w
- // Displays entire row of records with negative AcBal fields in red
-
- #include "Inkey.ch"
-
- // Default column separator
- #define DEF_CSEP " " + chr(179) + " "
-
- // Default heading separator
- #define DEF_HSEP chr(205) + chr(209) + chr(205)
-
- // Default footing separator
- #define DEF_FSEP chr(205) + chr(207) + chr(205)
-
-
- FUNCTION Tbex14
-
- FIELD Lname, Fname, Addr1, Addr2, Addr3, Addr4, AcBal IN Tbdbf1
-
- LOCAL oTbr := TBrowseDb(1, 1, MaxRow() - 1, MaxCol() - 1)
- LOCAL oTbc1 := TBColumnNew("Last name", {|| Lname })
- LOCAL oTbc2 := TBColumnNew("First name", {|| Fname })
- LOCAL oTbc3 := TBColumnNew("Address 1", {|| Addr1 })
- LOCAL oTbc4 := TBColumnNew("Address 2", {|| Addr2 })
- LOCAL oTbc5 := TBColumnNew("Address 3", {|| Addr3 })
- LOCAL oTbc6 := TBColumnNew("Address 4", {|| Addr4 })
- LOCAL oTbc7 := TBColumnNew("Balance ", {|| AcBal })
- LOCAL nKey
- LOCAL lExitRequested
- LOCAL nTbcCol
-
- oTbr:colSep := DEF_CSEP
- oTbr:headSep := DEF_HSEP
- oTbr:footSep := DEF_FSEP
-
- oTbr:colorSpec := "W/N,N/W,N,N.N/W,R/N,N/R"
-
- CLEAR SCREEN
- @ 0, 0 TO MaxRow(), MaxCol()
-
- USE Tbdbf1
-
- oTbc1:width := 20
- oTbr:addColumn(oTbc1)
-
- oTbc2:width := 20
- oTbr:addColumn(oTbc2)
-
- oTbr:addColumn(oTbc3)
- oTbr:addColumn(oTbc4)
- oTbr:addColumn(oTbc5)
- oTbr:addColumn(oTbc6)
-
- oTbr:addColumn(oTbc7)
-
- oTbc1:colorBlock := {|| iif(Acbal < 0, {6, 7}, {1, 2}) }
- FOR nTbcCol := 2 TO oTbr:colCount
- oTbr:getColumn(nTbcCol):colorBlock := oTbc1:colorBlock
- NEXT
-
- lExitRequested := .F.
- DO WHILE !lExitRequested
- DO WHILE !oTbr:stabilize()
- ENDDO
- nKey := InKey(0)
-
- DO CASE
- CASE nKey == K_DOWN; oTbr:down()
- CASE nKey == K_UP; oTbr:up()
- CASE nKey == K_PGDN; oTbr:pageDown()
- CASE nKey == K_PGUP; oTbr:pageUp()
- CASE nKey == K_CTRL_PGUP; oTbr:goTop()
- CASE nKey == K_CTRL_PGDN; oTbr:goBottom()
- CASE nKey == K_RIGHT; oTbr:right()
- CASE nKey == K_LEFT; oTbr:left()
- CASE nKey == K_HOME; oTbr:home()
- CASE nKey == K_END; oTbr:end()
- CASE nKey == K_CTRL_LEFT; oTbr:panLeft()
- CASE nKey == K_CTRL_RIGHT; oTbr:panRight()
- CASE nKey == K_CTRL_HOME; oTbr:panHome()
- CASE nKey == K_CTRL_END; oTbr:panEnd()
- CASE nKey == K_ESC; lExitRequested := .T.
- ENDCASE
- ENDDO
-
- RETURN NIL
-