X

XSIInputBox

Introduced

5.0

Description

Exposes VBScript's InputBox to other scripting languages. This is a very useful little function for getting information from a user. It displays a modal dialog box with a question and an edit box for the user to enter some data.

Note: When running in batch mode XSIInputBox will just return the value of the Default argument.

Tip: To collect more sophisticated information from the user, for example file paths, colors, or options out of a list, it is better the create a CustomProperty or use the services of the XSIUIToolkit or XSIDialog objects.

Scripting Syntax

    XSIInputBox( [Prompt], [Title], Default )

Parameters

Parameter | Type | Description
Prompt | String | Text that tells the user what they should type in
Title | String | Text to show in the title bar of the dialog box
Default | String | A suggested response for the user, which is automatically returned if running in batch mode.

Return Value

The String entered by the user, or an empty string if the user cancelled or chose not to enter anything.

Examples

1. JScript Example

    /*
       Example showing how to ask the user for a unique name for a grid object.  A loop is used to give
       the user another chance if they pick the name of an existing object
    */

    while(true)
    {

       var strObjName = XSIInputBox(
                         "Please pick a name for the new object",
                         "Time for a Decision",
                         "Foo" ) ;

       if ( strObjName != "" )
       {
           var oExisting = Dictionary.GetObject( strObjName, false ) ;

           if ( oExisting == null )
           {
              ActiveSceneRoot.AddGeometry( "Grid","MeshSurface", strObjName ) ;
              break ;
           }
           else
           {
              XSIUIToolkit.MsgBox( "That object already exists\n"+
                     "You have to think of a new name" ) ;
           }
       }
       else
       {
           // User cancelled
           break ;
       }
    }

2. VBScript Example

    '
    '  Example showing how to ask the user for a unique name for a grid object.  A loop is used
    '  to give the user another chance if they pick the name of an existing object
    '

    do while true
       strObjName = XSIInputBox( _
                         "Please pick a name for the new object", _
                         "Time for a Decision", _
                         "Foo" )

       if strObjName <> "" then
           set oExisting = Dictionary.GetObject( strObjName, false )

           if typename( oExisting ) = "Nothing" then
              ActiveSceneRoot.AddGeometry "Grid","MeshSurface", strObjName
              exit do
           else
              XSIUIToolkit.MsgBox( "That object already exists" & vbCrLf & _
                     "You have to think of a new name" )
           end if
       else
           ' User cancelled
           exit do
       end if
    loop

See Also

XSIUIToolkit | XSIDialog | CustomProperty | PickFolder

Autodesk Softimage v7.5