Con poche istruzioni in VB Script è possibile aggiungere qualche tocco di allegria e movimento ai propri script, cercando di non utilizzare il solito messaggio di testo per comunicare all'utente delle informazioni. Si potrebbe, ad esempio, far parlare il computer, scrivendo un file
.vbs con il seguente codice:
[code]
Set objVoice = CreateObject("SAPI.SpVoice")
objVoice.Speak "Benvenuto su Programma,ttione,punto,e,t"
Set objVoice = Nothing[/code]
Si fa, certo, un pò di fatica a capire le parole di questa voce con un accento marcatamente inglese, ma aggiungendo qualche doppia e un pò di punteggiatura come nell'esempio, si può arrivare a qualcosa di comprensibile. Si potrebbe così indicare all'utente che l'elaborazione è iniziata:
[code]
Set objVoice = CreateObject("SAPI.SpVoice")
objVoice.Speak "Operazione, in, corso"
[/code]
Certo, sembra un misto tra
E.t. e il WOPR del film
War Games, ma si può aggiungere qualcuno che parla, richiamando
l'agente di Windows - il maghetto che aiuta o infastidisce in qualche applicazione di casa Microsoft - con il seguente codice:
[code]
tipaccio = "Merlin"
Set objAgent = CreateObject("Agent.Control.2")
objAgent.Connected = TRUE
objAgent.Characters.Load tipaccio, "c:windowsmsagentchars"&tipaccio&".acs"
Set objCharacter = objAgent.Characters.Character(tipaccio)
objCharacter.Show(TRUE)
objCharacter.Play "GetAttention"
objCharacter.Speak "Benvenuto su Programmazione .it"
objCharacter.Play "LookDown"
objCharacter.Think "Sto proprio sotto l'aria condizionata, meglio muoversi ...."
objCharacter.MoveTo 700,500
objCharacter.Play "Search"
objCharacter.Play "Explain"
objCharacter.Play "Alert"
objCharacter.Play "Process"
objCharacter.Play "Congratulate"
objCharacter.Play "MoveRight"
objCharacter.Speak "Ciao! ciao!."
objCharacter.Hide
Do While objCharacter.Visible = TRUE
Wscript.Sleep 100
Loop[/code]
Il codice è abbastanza esplicativo, tranne forse per il ciclo finale: esso serve per attendere che l'agente sia effettivamente visualizzato; senza il ciclo, lo script terminerebbe senza mostrare nulla, perché più veloce del disegno dell'agente. L'agente ha
innumerevoli animazioni illustrate su MSDN.