Oggetto Command

[Microsoft Agent è deprecato a partire da Windows 7 e potrebbe non essere disponibile nelle versioni successive di Windows.]

Un oggetto Command è un elemento in un insieme Commands . Il server fornisce all'utente l'accesso agli oggetti Command quando l'applicazione client diventa attiva per l'input.

Per accedere alla proprietà di un oggetto Command , è necessario farvi riferimento nell'insieme usando la relativa proprietà Name . In VBScript e Visual Basic è possibile utilizzare direttamente la proprietà Name:

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

Per i linguaggi di programmazione che non supportano le raccolte, usare il metodo Command :

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

È anche possibile fare riferimento a un oggetto Command creando un riferimento. In Visual Basic dichiarare una variabile oggetto e usare l'istruzione Set per creare il riferimento:

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

In Visual Basic 5.0 è anche possibile dichiarare l'oggetto come tipo IAgentCtlCommandEx e creare il riferimento. Questa convenzione consente l'associazione anticipata, con prestazioni migliori:

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

In VBScript è possibile dichiarare un riferimento come tipo specifico, ma è comunque possibile dichiarare la variabile e impostarla su Command nella raccolta:

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

Un comando può essere visualizzato nel menu a comparsa del carattere e nella finestra Comandi o in entrambi. Per essere visualizzato nel menu a comparsa, deve avere una didascalia e impostare la proprietà Visible su True. Inoltre, la proprietà Visible dell'oggetto insieme Commands deve essere impostata anche su True. Per essere visualizzato nella finestra Comandi, è necessario che le proprietà Caption e Voice siano impostate in un comando. Si noti che le voci di menu a comparsa di un carattere non cambiano mentre viene visualizzato il menu. Se si aggiungono o si rimuovono comandi o si modificano le relative proprietà mentre viene visualizzato il menu a comparsa del carattere, il menu visualizza tali modifiche ogni volta che l'utente lo visualizza. Tuttavia, la finestra comandi riflette dinamicamente le modifiche apportate.

Nella tabella seguente viene riepilogato il modo in cui le proprietà di un comando influiscono sulla relativa presentazione:

Caption, proprietà

Voice-Caption, proprietà

Voice, proprietà

Visible, proprietà

Proprietà Enabled

Viene visualizzato nel menu a comparsa del carattere

Viene visualizzato nella finestra Comandi

True

True

Normale, uso della didascalia

Sì, usando VoiceCaption

Vero

Falso

Disabilitato, usando Didascalia

No

False

True

Non viene visualizzato

Sì, usando VoiceCaption

False

False

Non viene visualizzato

No

No

True

True

Normale, uso della didascalia

No

No

Vero

Falso

Disabilitato, usando Didascalia

No

No

False

True

Non viene visualizzato

No

No

False

False

Non viene visualizzato

No

No

True

True

Non viene visualizzato

Sì, usando VoiceCaption

No

Vero

Falso

Non viene visualizzato

No

No

False

True

Non viene visualizzato

Sì, usando VoiceCaption

No

False

False

Non viene visualizzato

No

No

No

True

True

Non viene visualizzato

No

No

No

Vero

Falso

Non viene visualizzato

No

No

No

False

True

Non viene visualizzato

No

No

No

False

False

Non viene visualizzato

No

No

True

True

Normale, uso di didascalia

Sì, usando didascalia

No

Vero

Falso

Disabilitato, usando didascalia

No

No

False

True

Non viene visualizzato

Sì, usando didascalia

No

False

False

Non viene visualizzato

No

No

No

True

True

Normale, uso di didascalia

No

No

No

Vero

Falso

Disabilitato, usando didascalia

No

No

No

False

True

Non viene visualizzato

No

No

No

False

False

Non viene visualizzato

No

No

No

True

True

Non viene visualizzato

No

No

No

Vero

Falso

Non viene visualizzato

No

No

No

False

True

Non viene visualizzato

No

No

No

False

False

Non viene visualizzato

No

No

No

No

True

True

Non viene visualizzato

No

No

No

No

Vero

Falso

Non viene visualizzato

No

No

No

No

False

True

Non viene visualizzato

No

No

No

No

False

False

Non viene visualizzato

No

Se l'impostazione della proprietà è Null. In alcuni linguaggi di programmazione, una stringa vuota potrebbe non essere interpretata come una stringa Null. Il comando è ancora accessibile dalla voce.

Quando il server riceve l'input per uno dei comandi, invia un evento Command e passa il nome del comando come attributo dell'oggetto UserInput . È quindi possibile usare istruzioni condizionali per corrispondere ed elaborare il comando.