NEXTKEY( )

 Lee la siguiente tecla pendiente en la memoria intermedia del teclado

Sintaxis

     NEXTKEY() –> nCódigoTecla

Devuelve

NEXTKEY() devuelve un valor numérico entero comprendido en el rango de -39 a 386. Si la memoria intermedia del teclado está vacía, NEXTKEY() devuelve cero. Si SET TYPEAHEAD es cero, NEXTKEY() siempre devuelve cero.

Descripción

NEXTKEY() es una función que lee la siguiente tecla pendiente en la memoria intermedia del teclado sin extraerla de la misma. El valor devuelto es el código INKEY() de la tecla pulsada (INKEY() y LASTKEY() devuelven el mismo valor). NEXTKEY() devuelve valores para todos los caracteres ASCII, teclas de función y combinaciones Alt-función, Ctrl-función, Alt-letra y Ctrl-letra.

NEXTKEY() es similar a la función INKEY(), pero difiere en un aspecto fundamental. INKEY() extrae la tecla pendiente de la memoria intermedia del teclado y actualiza LASTKEY() con el valor de la tecla. NEXTKEY(), por el contrario, lee la tecla de la memoria intermedia sin extraerla y no actualiza LASTKEY().

Como NEXTKEY() no elimina la tecla de la memoria intermedia del teclado, puede utilizarse para sondearlo y pasar el control a una rutina que utilice un estado de espera o función INKEY() que recoja realmente la tecla de la memoria.

Si desea una lista completa de los códigos de INKEY() y las constantes del fichero Inkey.ch, consulte el apéndice de Códigos Inkey de DPXBASE en la guía de Mensajes de Error y Apéndices.

Ejemplos

     ¦  Este ejemplo introduce una tecla Esc en la memoria intermedia del teclado y muestra seguidamente las diferencias entre INKEY(), LASTKEY() y NEXTKEY():

        #include “Inkey.ch”

        //

        CLEAR TYPEAHEAD

        KEYBOARD CHR(K_ESC)

        //

        ? NEXTKEY(), LASTKEY()             // Resultado: 27 0

        ? INKEY(), LASTKEY()               // Resultado: 27 27

        ? NEXTKEY()                         // Resultado: 0

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