Questo esempio illustra come utilizzare i metodi API forniti per richiedere input o fornire informazioni all'utente tramite un messaggio.
var macro = createMacro(function*(){
'use strict';
// L'oggetto "ui" fornisce funzioni per richiedere informazioni all'utente e visualizzare informazioni
// Dichiarare variabili da utilizzare successivamente
var username;
var password;
var flavor;
var scoops;
//Begin Generated Macro
var ps = session.getPresentationSpace();
try {
// Richiedere all'utente di immettere il proprio nome e memorizzarlo in una variabile.
// Notare che la parola chiave 'yield' è necessaria per bloccare l'esecuzione in attesa dell'input dell'utente.
username = yield ui.prompt('Please enter your username');
// Richiedere all'utente di immettere un valore, proponendo una risposta predefinita.
flavor = yield ui.prompt('What is your favorite flavor of ice cream?', 'Chocolate');
// Richiedere all'utente di immettere informazioni riservate utilizzando l'opzione 'mask'. Durante l'immissione il testo sarà nascosto.
// Se un parametro non viene utilizzato, è possibile usare 'null' per specificare che non deve essere usato.
// Qui lo illustriamo specificando che non è necessario mostrare un valore predefinito.
password = yield ui.prompt('Please enter your password', null, true);
// La funzione prompt restituisce null se l'utente fa clic sul pulsante 'Cancel' anziché sul pulsante 'OK'.
// Un modo per gestire questo caso consiste nell'eseguire il wrapping della chiamata in un blocco try/catch.
scoops = yield ui.prompt('How many scoops would you like?');
if (scoops === null) {
// Termina la macro.
return;
// In alternativa potrebbe generare un Error che potrebbe essere catturato nel "catch" sotto
}
// Utilizzare i valori raccolti per ordinare il gelato
ps.sendKeys(username + ControlKey.TAB + password + ControlKey.ENTER);
yield wait.forCursor(new Position(5, 1));
ps.sendKeys(flavor + ControlKey.TAB + scoops + ControlKey.ENTER);
// Visualizzare un messaggio all'utente. Utilizzando la parola chiave 'yield' davanti alla chiamata,
// l'esecuzione della macro verrà bloccata fino a quando l'utente sceglie il pulsante 'OK'.
yield ui.message('Order successful. Enjoy your ' + scoops + ' scoops of ' + flavor + ' ice cream ' + username + '!');
} catch (error) {
// Qui abbiamo usato l'oggetto ui per visualizzare un messaggio che informa che si è verificato un errore
yield ui.message(error.message);
}
//Fine della macro generata
});
return macro();