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