2017-09-08 7 views
1

J'écris une application Roku et j'ai besoin de lire une chaîne à partir de l'entrée standard. Je suis conscient que pour imprimer sur la sortie standard je peux utiliser la fonction print, mais je dois donner à l'utilisateur le lancement du script la possibilité d'insérer de nouveaux paramètres à l'exécution, par exemple (pseudo-code):Roku Comment obtenir une entrée standard dans Main.brs

print "Enter server IP: " 
string ip = getline(); 
print "Server IP " + ip 

Existe-t-il un moyen de le faire?

+0

Que voulez-vous dire en lisant l'entrée standard? Les chaînes ne sont pas lancées par la ligne de commande. –

Répondre

0

Vous devez ajouter keyboad *** composant à votre fichier Scene.xml:

<Keyboard 
    id = "keyboard" 
/> 

Ensuite ajouter un composant Button dans Scene.xml, déclarer dans Scene.brs - fonction init() et sur le terrain d'observateur situé sur « buttonSelected » .Aussi déclare le clavier et l'accent mis sur elle:

init():

m.keyboard = m.top.findNode("keyboard") 
m.keyboard.setFocus(true) 
m.button = m.top.findNode("button") 
m.button.observeField("buttonSelected","onButtonSelected") 

Ensuite, créez un sous pour obtenir une entrée utilisateur à partir du clavier lorsque le bouton est pressé :

Sub onButtonSelected() 
    print m.keyboard.textEditBox.text 
End Sub 

*** Notez que le composant du clavier a TextEditBox construire dans de sorte que vous ne devez pas ajouter manuellement dans le fichier Scene.xml.

0

Il n'y a pas de concept d '«entrée standard» dans le développement de Roku. Il y a quelques façons dont votre code peut prendre une entrée externe. @ U-Mitic - pour utiliser un composant avec une entrée au clavier de la télécommande, comme roKeyboardScreen ou KeyboardDialog nœud RSG et similaires.

Une autre est d'envoyer ces informations à l'extérieur sur http à l'aide d'ECP (Protocole de contrôle externe de Roku) - soit/ou entrée/lancement w/params