SETKEY()
 Asigna un bloque de acción a una tecla
------------------------------------------------------------------------------
 Sintaxis

     SETKEY(<nCódigoInkey>, [<bAcción>]) --> bAcciónActual

 Argumentos

     <nCódigoInkey> es el valor INKEY() de la tecla a la que va a
     asociarse la acción o que va a consultarse.

      <bAcción> especifica el bloque de código que se ejecuta
     automáticamente cuando se pulsa la tecla especificada durante un estado
     de espera.

 Devuelve

     SETKEY() devuelve el bloque de acción asociado actualmente a la tecla
     especificada o NIL si la tecla especificada no está asociada a ningún
     bloque.

 Descripción

     SETKEY() es una función de teclado que establece o consulta la acción
     automática asociada a una tecla determinada durante un estado de
     espera. Un estado de esperase establece por cualquier función o mandato
     que lee del teclado, a excepción de INKEY(), incluyendo ACHOICE(),
     DBEDIT(), MEMOEDIT(), ACCEPT, INPUT, READ y WAIT. Pueden asignarse
     hasta 32 teclas a la vez. Al arrancar, el sistema asigna
     automáticamente la tecla F1 para ejecutar un procedimiento o función
     definida por el usuario denominado Help.

     Cuando se pulsa una tecla asignada durante un estado de espera, la
     función EVAL() evalúa la <bAcción> asociada pasando los parámetros
     PROCNAME(), PROCLINE() y READVAR(). Sin embargo, no es necesario listar
     los argumentos al especificar <bAcción> si no se van a utilizar dentro
     del bloque de acción.

     SETKEY() es como el mandato SET KEY, que asocia a una tecla una llamada
     a un procedimiento.

 Ejemplos

      Este fragmento de código asocia un bloque de acción a una
        tecla, y después, tras obtener una tecla con INKEY(), la ejecuta con
        la función EVAL():

        #include "Inkey.ch"
        SETKEY(K_DN, {|cProc, nLinea, cVar| MiProc(cProc, ;
                        nLinea, cVar)})
        .
        . <sentencias>
        .
        DO WHILE .T.
           nTecla := INKEY(0)
           DO CASE
           CASE (bAccion := SETKEY(nTecla)) != NIL
              EVAL(bAccion, PROCNAME(), PROCLINE(), READVAR())
           CASE nTecla = K_PGUP
              Previous()
           CASE nTecla = K_PGDN
              Next()
           CASE nTecla = K_ESC
              EXIT
           ENDCASE
        ENDDO

 Ficheros   La biblioteca asociada es CLIPPER.LIB,
            el fichero de cabecera es Inkey.ch.

 To download this example - click here.

See Also: SET KEY