var txtIn,txtOut,butExec:int
 
 
procedure setIn(x:string)
 
   ...code...
 
end setIn
 
 
procedure setOut (x:string)
 
    ...code...
 
end setOut
 
 
procedure execute
 
    var x:string := GUI.GetText(txtIn)
 
    ...code...
 
end execute
 
 
txtIn:= GUI.CreateTextField(x,y,width,"text",setIn())
 
txtOut := GUI.CreateTextField(x,y,width,"text",setOut)
 
GUI.Disable(txtOut) %you can remove this it just makes them unable to change the output u can use a textbox instead also.
 
 
butExec := GUI.CreateButton (x,y,width,"text",execute)
 
 
loop 
 
    GUI.ProcessEvent
 
end loop
 
  |