El objeto Command

[Microsoft Agent está en desuso a partir de Windows 7 y puede no estar disponible en versiones posteriores de Windows.

Un objeto Command es un elemento de una colección Commands . El servidor proporciona al usuario acceso a los objetos Command cuando la aplicación cliente pasa a estar activa de entrada.

Para tener acceso a la propiedad de un objeto Command , haga referencia a ella en su colección mediante su propiedad Name . En VBScript y Visual Basic puede usar la propiedad Name directamente:

   <i>agent</i>.Characters("<i>CharacterID</i>").Commands("<i>Name</i>").<i>property</i> [= <i>value</i>]

Para los lenguajes de programación que no admiten colecciones, use el método Command :

   <i>agent</i>.Characters("<i>CharacterID</i>").Commands.Command("<i>Name</i>").<i>property</i> [= <i>value</i>]

También puede hacer referencia a un objeto Command mediante la creación de una referencia a él. En Visual Basic, declare una variable de objeto y use la instrucción Set para crear la referencia:

   Dim Cmd1 as Object
   ...
   Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
   ...
   Cmd1.Enabled = True

En Visual Basic 5.0, también puede declarar el objeto como tipo IAgentCtlCommandEx y crear la referencia. Esta convención permite el enlace anticipado, lo que da como resultado un mejor rendimiento:

   Dim Cmd1 as IAgentCtlCommandEx
   ...
   Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
   ...
   Cmd1.Enabled = True

En VBScript, puede declarar una referencia como un tipo determinado, pero todavía puede declarar la variable y establecerla en command en la colección:

   Dim Cmd1
   ...
   Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
   ...
   Cmd1.Enabled = True

Un comando puede aparecer en el menú emergente del carácter y en la ventana Comandos, o en ambos. Para que aparezca en el menú emergente, debe tener un subtítulo y tener la propiedad Visible establecida en True. Además, su objeto de colección Commands Propiedad Visible también debe establecerse en True. Para que aparezca en la ventana Comandos, un comando debe tener establecidas sus propiedades Caption y Voice . Tenga en cuenta que las entradas del menú emergente de un carácter no cambian mientras se muestra el menú. Si agrega o quita comandos o cambia sus propiedades mientras se muestra el menú emergente del carácter, el menú muestra esos cambios siempre que el usuario lo muestre a continuación. Sin embargo, la ventana Comandos refleja dinámicamente los cambios que realice.

En la tabla siguiente se resume cómo afectan las propiedades de un comando a su presentación:

Propiedad Caption

Voice-Caption (propiedad)

Voice (propiedad)

Visible (propiedad)

Propiedad Enabled

Aparece en el menú emergente del carácter

Aparece en la ventana Comandos

True

True

Normal, con caption

Sí, mediante VoiceCaption

True

False

Deshabilitado, mediante caption

No

False

True

No aparece

Sí, mediante VoiceCaption

False

False

No aparece

No

No

True

True

Normal, con caption

No

No

True

False

Deshabilitado, mediante caption

No

No

False

True

No aparece

No

No

False

False

No aparece

No

No

True

True

No aparece

Sí, mediante VoiceCaption

No

True

False

No aparece

No

No

False

True

No aparece

Sí, mediante VoiceCaption

No

False

False

No aparece

No

No

No

True

True

No aparece

No

No

No

True

False

No aparece

No

No

No

False

True

No aparece

No

No

No

False

False

No aparece

No

No

True

True

Normal, con caption

Sí, mediante caption

No

True

False

Deshabilitado, mediante caption

No

No

False

True

No aparece

Sí, mediante caption

No

False

False

No aparece

No

No

No

True

True

Normal, con caption

No

No

No

True

False

Deshabilitado, mediante caption

No

No

No

False

True

No aparece

No

No

No

False

False

No aparece

No

No

No

True

True

No aparece

No

No

No

True

False

No aparece

No

No

No

False

True

No aparece

No

No

No

False

False

No aparece

No

No

No

No

True

True

No aparece

No

No

No

No

True

False

No aparece

No

No

No

No

False

True

No aparece

No

No

No

No

False

False

No aparece

No

Si el valor de la propiedad es NULL. En algunos lenguajes de programación, es posible que una cadena vacía no se interprete igual que una cadena nula. El comando sigue siendo accesible por voz.

Cuando el servidor recibe la entrada de uno de los comandos, envía un evento Command y devuelve el nombre del comando como atributo del objeto UserInput . A continuación, puede usar instrucciones condicionales para buscar coincidencias y procesar el comando.