DocumentaciónLEER_TECLA(Sin argumentos)
Nombre
LEER_TECLA - Lee una tecla disponible sin bloquear la ejecucion.
Sinopsis
tecla = LEER_TECLA()
Descripcion
Lee una tecla del buffer de teclado cuando hay una disponible.
Puede retornar un caracter comun, el nombre de una tecla especial o un string vacio si no habia nada para leer.
Comportamiento
- No recibe argumentos.
- Retorna un
STRINGcon la tecla leida. - Si no hay tecla disponible, retorna
"".
Funciones API relacionadas
HAY_TECLA()
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| Sin argumentos | No recibe argumentos. |
Valor de retorno
STRING - Tecla leída, nombre especial de tecla o string vacío.
Ejemplo
ejemplo.blox
FUNCION PRINCIPAL
INICIO "Cliente de Chat"
SOCKET s
s.ip = "127.0.0.1"
s.port = 5555
STRING mensaje_enviar, mensaje_recibido, tecla
NUMERICO n
LOGICO continuar
CONECTAR(s)
continuar = VERDADERO
mensaje_enviar = ""
IMPRIMIR("\nyo> ")
MIENTRAS (continuar) HACER
// 1. Leer red solo si hay datos disponibles
SI (HAY_DATOS(s)) ENTONCES
SI (RECIBIR(s)) ENTONCES
mensaje_recibido = s.data
IMPRIMIR("\n\nservidor> ", mensaje_recibido)
SI (IGUAL(mensaje_recibido, "salir")) ENTONCES
continuar = FALSO
SINO
IMPRIMIR("\nyo> ", mensaje_enviar)
FIN_SI
FIN_SI
FIN_SI
// 2. Leer teclado sin bloquear
SI (HAY_TECLA()) ENTONCES
tecla = LEER_TECLA()
SI (IGUAL(tecla, "ENTER")) ENTONCES
SI (!IGUAL(mensaje_enviar, "")) ENTONCES
ENVIAR(s, mensaje_enviar)
SI (IGUAL(mensaje_enviar, "salir")) ENTONCES
continuar = FALSO
FIN_SI
mensaje_enviar = ""
IMPRIMIR("\nyo> ")
FIN_SI
SINO
SI (IGUAL(tecla, "BACKSPACE")) ENTONCES
n = LONGITUD(mensaje_enviar)
SI (n > 0) ENTONCES
mensaje_enviar = SUBSTR(mensaje_enviar, 1, n - 1)
FIN_SI
SINO
SI (LONGITUD(tecla) == 1) ENTONCES
mensaje_enviar = UNIR(mensaje_enviar, tecla)
IMPRIMIR(tecla)
FIN_SI
FIN_SI
FIN_SI
FIN_SI
ESPERAR(10)
FIN_MIENTRAS
DESCONECTAR(s)
IMPRIMIR("\nCliente desconectado.")
FIN_FUNCION