Este ejemplo ilustra cómo utilizar los métodos API provistos para pedirle entradas al usuario o para alertarle con un mensaje.
var macro = createMacro(function*(){
'use strict';
// El objeto "ui" ofrece funciones para preguntar información al usuario y para mostrar información
// Declarar variables para uso posterior
var username;
var password;
var flavor;
var scoops;
//Inicio Macro Generada
var ps = session.getPresentationSpace();
try {
// Pedir al usuario que ingrese su nombre de usuario y guardarlo en una variable.
// Recuerde que la palabra clave 'yield' es necesaria para bloquear la ejecución mientras se espera a la entrada del usuario.
username = yield ui.prompt(‘Introduzca su nombre de usuario');
// Pide al usuario ingresar un valor predeterminado que se le ha facilitado.
flavor = yield ui.prompt('¿Cuál es su helado favorito?', 'Chocolate');
// Pide al usuario ingresar información privada cuando se utiliza la opción 'mask' y el campo de entrada se enmascarará mientras escribe.
// Si el parámetro no se utiliza, se puede utilizar 'cero' para especificar que no se desea utilizar.
// Aquí lo ilustramos especificando que no necesitamos mostrar un valor predeterminado.
password = yield ui.prompt('Introduzca su contraseña', null, true);
// La función de preguntar devuelve cero si el usuario hace clic en el botón 'Cancelar' en lugar de en el botón 'Aceptar'.
// Una forma de tratar este caso es ajustar la llamada a un bloque try/catch.
scoops = yield ui.prompt('¿Cuántas cucharadas quiere?');
if (scoops === null) {
// Se sale de la macro.
return;
// Alternativamente podría arrojar un Error y capturarlo en el "catch" situado a continuación
}
// Utilizar los valores coleccionados para pedir nuestro ice cream
ps.sendKeys(username + ControlKey.TAB + password + ControlKey.ENTER);
yield wait.forCursor(new Position(5, 1));
ps.sendKeys(flavor + ControlKey.TAB + scoops + ControlKey.ENTER);
// Mostrar un mensaje al usuario. Utilizando la palabra clave 'yield' enfrente de la llamada bloquea
// la ejecución de la macro hasta que el usuario hace clic en el botón 'Aceptar'.
yield ui.message('Orden correcta. Enjoy your ' + scoops + ' scoops of ' + flavor + ' ice cream ' + username + '!');
} catch (error) {
// Aquí utilizamos el objeto ui para mostrar un mensaje de que ha ocurrido un error
yield ui.message(error.message);
}
//Fin Macro Generada
});
return macro();