2016-10-07 2 views
2

에서 읽기, 나는 지금까지 내가 사용자가 값을 입력 할 수있는 TextMorph을 관리했습니다 X.에게Pharo 스몰 토크 : 스몰 토크 Pharo을 ​​사용하여 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 메소드를 만들려고 할 때 "name already defined"라는 오류가 발생합니다. – Gdohfg

+0

@Gdohfg는 이미 'contents'라는 인스턴스 변수가 있기 때문에 가능합니까? – Uko