2016-10-07 3 views
2

В Smalltalk с помощью Pharo, я создаю приложение, которое считывает данные, введенные пользователем, и делает X.Pharo Smalltalk: Чтение из TextMorph

До сих пор мне удалось сделать TextMorph, что пользователь может ввести значение в, , но я не уверен, как читать из TextMorphs, а затем делать что-то со значением.

Любые идеи?

Благодаря

ответ

5

Ну, вы можете просто отправить text вашему морфинг и получить его содержимое. Таким образом, у вас может быть кнопка, а при нажатии кнопки вы делаете что-то с содержанием:

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

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

Возможно, вы хотите использовать диалог? Потому что вы можете сделать:

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

И тогда исполнение UIManager default request: '…' откроется диалоговое окно с вводом текста

+0

Спасибо я в настоящее время – Gdohfg

+0

находится это в вашем классе инициализации? Когда я пытаюсь создать метод processTextMorph: TextMorph, я получаю ошибку «имя уже определено» – Gdohfg

+0

@Gdohfg это может быть потому, что у вас уже есть переменная экземпляра с именем 'contents'? – Uko

Смежные вопросы