[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]

     applyKey(<nKey>) --> nResult

        Evaluates the code block associated with <nKey> that is contained
        within the TBrowse:setKey() dictionary.  <nResult>, which is the code
        block's return value, specifies the manner in which the key was
        processed.

        TBrowse:ApplyKey() Return Values
        ---------------------------------------------------------------------
        Constant      Value   Meaning
        ---------------------------------------------------------------------
        TBR_EXIT      -1      User request for the browse to lose input focus
        TBR_CONTINUE   0      Code block associated with <nKey> was evaluated
        TBR_EXCEPTION  1      Unable to locate <nKey> in the dictionary, key
                              was not processed
        ---------------------------------------------------------------------

        Tbrowse.ch contains manifest constants for the TBrowse:applyKey()
        return values.

        Previously, before TBrowse:applyKey() was available, a TBrowse was
        typically maintained by placing an Inkey() and a case structure
        within a while loop.  For example:

        WHILE (.T.)
           oTB:ForceStable()
           nKey := Inkey(0)
           DO CASE
           CASE (nKey == K_UP)
              oTB:Up()
           CASE (nKey == K_DOWN)
              oTB:Down()
           .
           .
           .
           CASE (nKey := K_ESC)
              EXIT
           ENDCASE
        ENDDO

        Because this code was external to the browse, it did not encapsulate
        the relationship between a key press and its effect on the browse.
        TBrowse:applyKey() resolves this by placing the key and its
        associated code block in a dictionary within the TBrowse object.
        This effectively makes creating and managing a browse simple, yet
        flexible.  For example:

        WHILE (.T.)
           oTB:ForceStable()
           IF (oTB:ApplyKey(Inkey(0)) == TBR_EXIT)
              EXIT
           ENDIF
        ENDDO

This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson