## XSIInputBox

### Introduced

v5.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

    oString = XSIInputBox( [Prompt], [Title], [Default] );

### Return Value

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

### 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.

### 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