Variable INKEY$

Objetivo:

Devolver un carácter leido del teclado.

Sintaxis:

 v$=INKEY$ 

Comentarios:

Si ningún carácter esta pendiente en el buffer del teclado, una cadena nula (cero de longitud) es devuelta.

Si varios caracteres son pendientes, sólo el primer es devuelto. La cadena será uno o dos caracteres en la longitud.

Dos cadenas de caracteres son usadas para devolver los códigos ampliados descritos en el Apéndice C de la Guía del Usuario GW-BASIC. El primer carácter de dos código de carácter es el cero.

Ningunos caracteres son mostrados en la pantalla, y todos los caracteres excepto lo siguiente son pasados al programa:

CTRL-BREAK
CTRL-NUM LOCK
CTRL-ALT-DEL
CTRL-PRTSCR
PRTSCR

Ejemplos:

10 CLS: PRINT"PRESS RETURN
20 TIMELIMIT% = 1000
30 GOSUB 1010
40 IF TIMEOUT% THEN PRINT "TOO LONG" ELSE PRINT "GOOD SHOW"
50 PRINT RESPONSE$
60 END
.
.
.
1000 REM TIMED INPUT SUBROUTINE
1010 RESPONSE$=""
1020 FOR N%=1 TO TIMELIMIT%
1030 A$=INKEY$:IF LEN(A$)=0 THEN 1060
1040 IF ASC(A$)=13 THEN TIMEOUT%=0: RETURN
1050 RESPONSE$=RESPONSE$+A$
1060 NEXT N%
1070 TIMEOUT%=1: RETURN

Cuando este programa es ejecutado, y si la llave RETURN es presionada antes de que 1000 lazos sean completados, entonces "GOOD SHOW" es impreso en la pantalla. Por otra parte, "TOO LONG" es imprimido.

Ya que una instruccion INKEY$ explora el teclado sólo una vez, unicar la instruccion INKEY$ dentro de lazos para proporcionar tiempos de respuesta adecuados para el operador.

1