2016-10-07 3 views
2

En Smalltalk utilisant Pharo, je crée une application qui lit l'entrée d'utilisateur et fait X.Smalltalk Pharo: Lecture de TextMorph

Jusqu'à présent, je suis parvenu à faire un TextMorph qu'un utilisateur peut entrer une valeur dans, mais je ne sais pas comment lire TextMorphs et puis faire quelque chose avec la valeur.

Des idées?

Merci

Répondre

5

Eh bien, vous pouvez simplement envoyer text à votre morph et obtenir son contenu. Donc, vous pouvez avoir un bouton et quand le bouton est enfoncé, vous faites quelque chose avec le contenu:

input := TextMorph new. 
button := 
    SimpleButtonMorph new 
     target: self 
     actionSelector: #processTextMorph:; 
     arguments: {input}; 
     yourself. 

processTextMorph: aTextMorph 
    | contents | 
    contents := aTextMorph text. 
    "do something with contents" 

Cependant peut-être que vous voulez utiliser un dialogue? Parce que vous pouvez faire:

response := UIManager default request: 'What do you want to do?'. 
response ifNotNil: [ "do something with the response" ] 

Et puis l'exécution de UIManager default request: '…' ouvrira un dialogue avec une entrée de texte

+0

Merci j'ai actuellement – Gdohfg

+0

est dans votre classe initialize? Lorsque j'essaie de créer la méthode processTextMorph: TextMorph, j'obtiens l'erreur "nom déjà défini" – Gdohfg

+0

@Gdohfg cela peut-il être parce que vous avez déjà une variable d'instance nommée 'contents'? – Uko