LASTKEY( )

 Devuelve el valor INKEY() de la última tecla extraída de la memoria intermedia del teclado

Sintaxis

     LASTKEY() –> nCódigoInkey

Devuelve

LASTKEY() devuelve un número entre -39 y 386, que identifica el valor INKEY() de la última tecla extraída de la memoria intermedia del teclado.

Descripción

LASTKEY() es una función de teclado que informa del valor INKEY() de la última tecla recogida de la memoria intermedia del teclado por la función INKEY() o por un estado de espera como ACCEPT, INPUT, READ, WAIT, ACHOICE(), DBEDIT() o MEMOEDIT(). LASTKEY() conserva su valor actual hasta que se recoge otra tecla de la memoria intermedia del teclado.

     LASTKEY() permite:

     ¦  Determinar la tecla que termina un READ.

     ¦  Determinar la tecla que provoca la salida del objeto GET actual en una función definida por el usuario, invocada por una cláusula VALID.

 

     ¦  Identificar una tecla de excepción en la función de usuario de ACHOICE(), DBEDIT() o MEMOEDIT().

LASTKEY() se utiliza también con la función UPDATED() para determinar si se ha modificado la memoria intermedia de algún objeto Get durante un READ.

LASTKEY() se relaciona con NEXTKEY() y READKEY(). NEXTKEY() lee la tecla actual pendiente en la memoria intermedia del teclado sin eliminarla de la misma. Utilice NEXTKEY() en vez de INKEY() cuando desee consultar una tecla.

Si desea una lista completa de los códigos de INKEY() y constantes de INKEY.CH para cada tecla, consulte la guía Mensajes de Error y Apéndices.

Ejemplos

     ¦  Este ejemplo muestra una aplicación típica de LASTKEY() para comprobar la tecla con la que se sale de un READ. Si el usuario sale con una tecla distinta de Esc y se ha modificado el objeto Get, se actualiza el fichero especificado de base de datos.

 

     #include “Inkey.ch”

        //

        USE Cliente NEW

        MEMVAR->balance = Cliente->Balance

 

        @ 10, 10 SAY “Balance Actual” GET MEMVAR->balance

        READ

        //

        IF (LASTKEY() != K_ESC).AND. UPDATED()

           REPLACE Cliente->Balance WITH MEMVAR->balance

        ENDIF

 Ficheros:  La biblioteca asociada es DPXBASE.CH, el fichero de cabecera asociado es Inkey.ch.