Dieses Beispiel zeigt, wie Benutzer mithilfe der bereitgestellten API-Methoden zur Eingabe aufgefordert oder über eine Meldung benachrichtigt werden.
var macro = createMacro(function*(){
'use strict';
// Das "ui"-Objekt stellt Funktionen zur Abfrage und Anzeige von Informationen bereit
// Variablen für eine spätere Verwendung deklarieren
var username;
var password;
var flavor;
var scoops;
//Start generiertes Makro
var ps = session.getPresentationSpace();
try {
// Benutzer zur Eingabe ihres Namens auffordern und den Namen in einer Variable speichern.
// Das 'yield'-Schlüsselwort ist zum Blockieren der Ausführung erforderlich, während auf die Benutzereingabe gewartet wird.
username = yield ui.prompt('Geben Sie Ihren Benutzernamen ein');
// Benutzer mit bereitgestelltem Standard zur Eingabe eines Werts auffordern.
flavor = yield ui.prompt('Was ist Ihre Lieblingseissorte?', 'Schokolade');
// Benutzer über die 'mask'-Option zur Eingabe persönlicher Informationen auffordern. Das Eingabefeld wird bei der Eingabe maskiert.
// Wenn ein Parameter nicht verwendet wird, kann mit 'null‘ angegeben werden, dass er nicht verwendet werden soll.
// Hier zeigen wir durch die Angabe, dass wir keinen Standardwert zeigen müssen.
password = yield ui.prompt('Geben Sie Ihr Kennwort ein', null, true);
// Die Aufforderung gibt null zurück, wenn der Benutzer nicht auf die Schaltfläche 'OK' klickt, sondern auf 'Abbrechen'.
// Eine Möglichkeit zum Behandeln dieses Falls ist das Umbrechen des Aufrufs in einem try/catch-Block.
scoops = yield ui.prompt('Wie viele Kugeln möchten Sie?');
if (scoops === null) {
// Dadurch wird das Makro beendet.
return;
// Alternativ könnte ein Fehler ausgegeben und im nachstehenden "Catch“ erfasst werden
}
// Die gesammelten Werte verwenden, um das Eis zu bestellen
ps.sendKeys(username + ControlKey.TAB + password + ControlKey.ENTER);
yield wait.forCursor(new Position(5, 1));
ps.sendKeys(flavor + ControlKey.TAB + scoops + ControlKey.ENTER);
// Dem Benutzer eine Meldung anzeigen. Durch die Verwendung des 'yield'-Schlüsselworts vor dem Aufruf wird die
// weitere Ausführung des Makros blockiert, bis der Benutzer auf die Schaltfläche 'OK' klickt.
yield ui.message('Bestellung erfolgreich. Genießen Sie Ihr ' + scoops + ' Kugeln ' + flavor + ' Eiscreme ' + username + '!');
} catch (error) {
// Hier verwenden wir das ui-Objekt zum Anzeigen einer Fehlermeldung
yield ui.message(error.message);
}
//Ende generiertes Makro
});
return macro();