User input/Graphical: Difference between revisions

→‎{{header|Tcl}}: + standard ML
(Rename Perl 6 -> Raku, alphabetize, minor clean-up)
(→‎{{header|Tcl}}: + standard ML)
Line 1,945:
</interface></lang>
 
=={{header|Standard ML}}==
Works with PolyML
<lang Standard ML>open XWindows ;
open Motif ;
 
val store : string list ref = ref [] ;
 
val inputWindow = fn () =>
let
val shell = XtAppInitialise "" "demo" "top" [] [ XmNwidth 320, XmNheight 100 ] ;
val main = XmCreateMainWindow shell "main" [ XmNmappedWhenManaged true ] ;
val enter = XmCreateText main "inputarea" [ XmNeditMode XmSINGLE_LINE_EDIT,
XmNscrollHorizontal false ] ;
val getinp = fn (w,s,t) => ( store := XmTextGetString enter :: !store ; t )
in
(
XtSetCallbacks enter [ (XmNactivateCallback , getinp) ] XmNarmCallback ;
XtManageChild enter ;
XtManageChild main ;
XtRealizeWidget shell
)
end ;
 
inputWindow () ;</lang>
enter text, press enter, delete, enter 75000, press enter, result:
!store ;
List.map Int.fromString (!store) ;
 
val it = ["75000", "That string"]: string list
val it = [SOME 75000, NONE]: int option list
=={{header|Tcl}}==
 
Anonymous user