Glossary entry (derived from question below)
May 8, 2005 19:17
19 yrs ago
English term
inkey
English to Spanish
Other
Telecom(munications)
Phones & Applications - men�
Menú de opciones aplicación móvil:
TextEditMenu
TextInputMethod
Exit
Cancel
Options
(Get Input)
(Select Item)
(Setup Call)
(Send SS)
(Send USSD)
(Send SMS)
(Launch Brwsr)
(Play Tone)
(Get Inkey)
(Setup Menu)
(SetupIdleTxt)
(EndProactive)
(Refresh)
(More Time)
(PollInterval)
(SetupEvtList)
(Local Info)
(Run AT Cmd)
Wrong Number of Characters Entered. Please retry
Opening Channel
Synchronisation
Remote sync
Active profile
Profile1
Profile2
Profile3
Profile4
Profile5
Sync mode
Apps to synchronise
TextEditMenu
TextInputMethod
Exit
Cancel
Options
(Get Input)
(Select Item)
(Setup Call)
(Send SS)
(Send USSD)
(Send SMS)
(Launch Brwsr)
(Play Tone)
(Get Inkey)
(Setup Menu)
(SetupIdleTxt)
(EndProactive)
(Refresh)
(More Time)
(PollInterval)
(SetupEvtList)
(Local Info)
(Run AT Cmd)
Wrong Number of Characters Entered. Please retry
Opening Channel
Synchronisation
Remote sync
Active profile
Profile1
Profile2
Profile3
Profile4
Profile5
Sync mode
Apps to synchronise
Proposed translations
(Spanish)
4 +1 | inkey | Egmont |
5 +1 | inkey | Maria Luisa Duarte |
5 | c¢digo correspondiente a la tecla oprimida | Ernesto de Lara |
Proposed translations
+1
7 mins
Selected
inkey
Returns a number corresponding to the first mouse click or key press in the type-ahead buffer.
--------------------------------------------------
Note added at 11 mins (2005-05-08 19:28:46 GMT)
--------------------------------------------------
2.1.1 - USO DE LA FUNCIÓN INKEY$
La función INKEY$ nos devuelve el contenido del buffer del teclado, es decir, cual es la última tecla o combinación de teclas que se ha pulsado. Esta función es más primitiva que INPUT, pero no la pudimos ver en el tema de entrada y salida básica porque todavía no sabíamos cómo usar los bucles, algo imprescindible para usar esta función ya que el programa no se detiene como ocurre con la instrucción INPUT. También hay que tener en cuenta que no es algo básico de la teoría de programación, ya que en otros lenguajes puede que funcione de formas muy distintas.
Para usar la función lo que haremos es almacenar su valor en una variable, ya que al leer el valor de INKEY$ el carácter que contenga se borra del buffer de teclado y ya no lo veremos más.
Vamos con el primer ejemplo:
CLS
tecla$ = INKEY$
PRINT tecla$
Este ejemplo funciona, aunque al ejecutarlo no lo parezca. Lo que hace es borrar la pantalla, almacenar la última tecla pulsada (durante el tiempo de vida del programa) en la variable tecla$ y a continuación escribirla en pantalla. Lo que pasa es que como el programa no se detiene no nos da tiempo a pulsar ninguna tecla y no aparece nada en pantalla, salvo el conocido rótulo \"Presione cualquier tecla y continúe\".
Para solucionar esto tenemos que recurrir a los bucles y programar lo que se conoce como \"mecanismo de espera activa\". Allá vamos, el siguiente fragmento de código será de los más usados en juegos y programas interactivos hechos con QBasic:
DO
tecla$=INKEY$
LOOP WHILE tecla$=\"\"
Al hacer esto se entra en un bucle que lee continuamente la entrada de teclado y la almacena en la variable tecla$. No salimos del bucle mientras no pulsemos nada y la variable tecla$ siga estando vacía. Una vez que pulsemos una tecla esta quedará almacenada en la variable para usarla más adenante donde haga falta.
Esto ya funciona bien, pero todavía no es infalible. Puede ocurrir que en el buffer del teclado quede alguna pulsación de tecla residual de alguna instrucción de entrada anterior y que al llegar aquí se salte la espera. Para que esto no ocurra tendremos que \"limpiar el buffer del teclado\" antes de entrar al bucle. Para hacerlo usaremos otro bucle que lee las posibles teclas (y las va borrando) del buffer hasta que se quede vacío. Vamos a ver un ejemplo completo que espera a que pulsemos una tecla y la saca por pantalla. El primer bucle, de tipo WHILE, corresponde a la limpieza del buffer y el segundo, de tipo DO..LOOP, a la espera activa.
CLS
WHILE INKEY$<>\"\"
WEND
DO
tecla$=INKEY$
LOOP WHILE INKEY$=\"\"
PRINT tecla$
Como se puede ver, este bucle de limpieza es un bucle WHILE, es decir, un bucle rechazable. Si el buffer ya está vacío ni siquiera entramos, en caso contrario entramos y leemos y borramos la tecla que pudiera tener antes de ir al otro bucle de reconocimiento de teclas.
--------------------------------------------------
Note added at 11 mins (2005-05-08 19:28:46 GMT)
--------------------------------------------------
2.1.1 - USO DE LA FUNCIÓN INKEY$
La función INKEY$ nos devuelve el contenido del buffer del teclado, es decir, cual es la última tecla o combinación de teclas que se ha pulsado. Esta función es más primitiva que INPUT, pero no la pudimos ver en el tema de entrada y salida básica porque todavía no sabíamos cómo usar los bucles, algo imprescindible para usar esta función ya que el programa no se detiene como ocurre con la instrucción INPUT. También hay que tener en cuenta que no es algo básico de la teoría de programación, ya que en otros lenguajes puede que funcione de formas muy distintas.
Para usar la función lo que haremos es almacenar su valor en una variable, ya que al leer el valor de INKEY$ el carácter que contenga se borra del buffer de teclado y ya no lo veremos más.
Vamos con el primer ejemplo:
CLS
tecla$ = INKEY$
PRINT tecla$
Este ejemplo funciona, aunque al ejecutarlo no lo parezca. Lo que hace es borrar la pantalla, almacenar la última tecla pulsada (durante el tiempo de vida del programa) en la variable tecla$ y a continuación escribirla en pantalla. Lo que pasa es que como el programa no se detiene no nos da tiempo a pulsar ninguna tecla y no aparece nada en pantalla, salvo el conocido rótulo \"Presione cualquier tecla y continúe\".
Para solucionar esto tenemos que recurrir a los bucles y programar lo que se conoce como \"mecanismo de espera activa\". Allá vamos, el siguiente fragmento de código será de los más usados en juegos y programas interactivos hechos con QBasic:
DO
tecla$=INKEY$
LOOP WHILE tecla$=\"\"
Al hacer esto se entra en un bucle que lee continuamente la entrada de teclado y la almacena en la variable tecla$. No salimos del bucle mientras no pulsemos nada y la variable tecla$ siga estando vacía. Una vez que pulsemos una tecla esta quedará almacenada en la variable para usarla más adenante donde haga falta.
Esto ya funciona bien, pero todavía no es infalible. Puede ocurrir que en el buffer del teclado quede alguna pulsación de tecla residual de alguna instrucción de entrada anterior y que al llegar aquí se salte la espera. Para que esto no ocurra tendremos que \"limpiar el buffer del teclado\" antes de entrar al bucle. Para hacerlo usaremos otro bucle que lee las posibles teclas (y las va borrando) del buffer hasta que se quede vacío. Vamos a ver un ejemplo completo que espera a que pulsemos una tecla y la saca por pantalla. El primer bucle, de tipo WHILE, corresponde a la limpieza del buffer y el segundo, de tipo DO..LOOP, a la espera activa.
CLS
WHILE INKEY$<>\"\"
WEND
DO
tecla$=INKEY$
LOOP WHILE INKEY$=\"\"
PRINT tecla$
Como se puede ver, este bucle de limpieza es un bucle WHILE, es decir, un bucle rechazable. Si el buffer ya está vacío ni siquiera entramos, en caso contrario entramos y leemos y borramos la tecla que pudiera tener antes de ir al otro bucle de reconocimiento de teclas.
4 KudoZ points awarded for this answer.
Comment: "Thank you"
+1
15 mins
inkey
Codigo inkey
Envío de Mensajes SMS desde Fox
... Los primeros móviles con EMS cuentan con la versión EMS 4.0, mientras que los
últimos ... INKEY(.1). *- Número del Servidor SMS en este caso el de AMENA ...
www.fpress.com/revista/Num0304/art.htm - 186k - En caché - Páginas similares
Timofonica.com
... IF INKEY$ = " " GOTO cambio NEXT k fila = fila 1 IF fila >= 20 THEN fila = 1
... En los telefonos móviles GSM existe la posibilidad de mandar mensajes. ...
www.timofonicas.com/Controlar_gasto.html - 12k - En caché - Páginas similares
Programacion de puertos en java - La solución en Todoexpertos.com
Móviles SMS; ADSL; Sorteos; Chats; Contactos; Álbum / Revelado ...
System.out.println(str); str = inKey.readLine(); out.println(str); } }
incoming.close(); ...
www.todoexpertos.com/respuestas/1119876/ - 20k
Envío de Mensajes SMS desde Fox
... Los primeros móviles con EMS cuentan con la versión EMS 4.0, mientras que los
últimos ... INKEY(.1). *- Número del Servidor SMS en este caso el de AMENA ...
www.fpress.com/revista/Num0304/art.htm - 186k - En caché - Páginas similares
Timofonica.com
... IF INKEY$ = " " GOTO cambio NEXT k fila = fila 1 IF fila >= 20 THEN fila = 1
... En los telefonos móviles GSM existe la posibilidad de mandar mensajes. ...
www.timofonicas.com/Controlar_gasto.html - 12k - En caché - Páginas similares
Programacion de puertos en java - La solución en Todoexpertos.com
Móviles SMS; ADSL; Sorteos; Chats; Contactos; Álbum / Revelado ...
System.out.println(str); str = inKey.readLine(); out.println(str); } }
incoming.close(); ...
www.todoexpertos.com/respuestas/1119876/ - 20k
1 hr
c¢digo correspondiente a la tecla oprimida
tal cual. "tecla op" para el androide.
Something went wrong...