Tutorial de AutoHotkey (V): solicitar datos

Al ejecutar una macro de AutoHotkey en ocasiones necesitaremos solicitar algún dato para que pueda completarse el proceso.

Para ello disponemos del comando InputBox, el cual posee la siguiente sintaxis:

InputBox, OutputVar [, Title, Prompt, HIDE, Width, Height, X, Y, Font, Timeout, Default]

A continuación puedes ver un sencillo ejemplo en el que se solicita un dato al usuario y se almacena en la variable cadena, mostrándose luego su valor:

; {WINDOWS][E] Pide un dato y muestra el valor introducido:
#e::
InputBox cadena
MsgBox %cadena%
return

InputBox

En este otro ejemplo se especifica además un título y un mensaje para el cuadro de diálogo:

; {WINDOWS][W] Pide un dato y muestra el valor introducido:
#w::
InputBox edad, Dime tu edad, ¿Cuál es tu edad?
MsgBox %edad%
return

InputBox

Si se pide algún dato crítico (como por ejemplo una contraseña) es recomendable especificar el parámetro HIDE para que se muestren asteriscos en vez de los caracteres que escriba el usuario:

; {WINDOWS][Y] Pide un dato y muestra el valor introducido:
#y::
InputBox password, Acción requerida, Introduce la contraseña, HIDE
MsgBox %password%
return

InputBox contraseña

Al solicitar un dato debemos comprobar que es válido antes de continuar con la ejecución de la macro (si puede o no contener números, si ha de tener un formato concreto, etc.).

En el siguiente ejemplo tenemos un InputBox dentro de un bucle Loop del que sólo se saldrá cuando se introduzca un valor numérico:

; {WINDOWS][M] sentencia repetitiva con InputBox:
#m::
Loop
{
InputBox numero, Introduce un número, Dime un número
If numero IS NOT DIGIT
MsgBox Introduce sólo dígitos
else
break
}
MsgBox Tu edad es: %numero%
return

 

Para más información consulta la documentación de InputBox.

> SUSCRÍBETE <

Acepto la Política de Privacidad

Los datos recopilados tienen como finalidad el envío de novedades sobre contenidos formativos propios (tanto en modalidad gratuita como de pago) y de terceros en calidad de afiliado, así como también noticias, información y otros contenidos relacionados con la informática y las nuevas tecnologías, siendo responsable de dicha información Francisco Javier Medina Medina (propietario de InformaticaPC.com).
Al obtener tu consentimiento los datos serán almacenados en el proveedor de E-Mail marketing MailRelay. Por supuesto, en cualquier momento podrás hacer uso de tus derechos para acceder, rectificar, limitar y suprimir dichos datos.