martedì 22 aprile 2008
Facciamoci una risata... In questi giorni sto lavorando con Visual C++ in Visual Studio 2005. Dopo aver fatto una modifica ad un file CPP, ho avviato la compilazione e, nella schermata di output, ho visto apparire il seguente messaggio:
Generazione del codice in corso...
Omissione in corso... (nessuna modifica importante rilevata)
Come sarebbe a dire "nessuna modifica importante rilevata"? Vuol dire che il compilatore ha analizzato il codice e, poiché i cambiamenti secondo lui sono poco significativi, li ha ignorati? 
Technorati Tag:
Visual Studio,
OT
E' stato rilasciato ieri un aggiornamento del Visual C++ 2008 Feature Pack che risolve alcuni problemi riscontrati con la versione originale. In questo post è disponibile la lista dei fix e la procedura di installazione da seguire nel caso in cui nel sistema sia già presente la release precedente.
A partire da Martedì 29 Aprile, il Service Pack 3 di Windows XP sarà reso disponibile sia attraverso Windows Update sia tramite il Download Center di Microsoft. Rimando a questo post del forum di TechNet per maggiori informazioni.
Technorati Tag:
Windows,
Updates
E' stata rilasciata la nuova versione del Krypton Toolkit, la 2.8. Queste in breve le novità:
New Controls/Components
- KryptonDropButton
- KryptonColorButton
- KryptonListBox
- KryptonCheckedListBox
- KryptonCommand
- KryptonGallery
- 6 x KryptonContextMenu Elements
Il download, abbastanza corposo (sono ben 22 MB), è disponibile qui.
Qualche tempo fa avevo mostrato come realizzare un sistema di riconoscimento vocale basato su grammatiche utilizzando il .NET Framework 3.0. In quell'occasione ho dimenticato di fare una precisazione importante: per impostazione predefinita, quando si crea una grammatica essa utilizza sempre la cultura del sistema operativo; nel caso in cui essa sia diversa da quella dei motori di riconoscimento installati (ad esempio Windows XP italiano con lo Speech API 5.1 SDK), nel momento in cui si esegue il metodo SpeechRecognitionEngine.LoadGrammar, si ottiene una InvalidOperationException perché La lingua della grammatica non corrisponde alla lingua del riconoscimento vocale. Per evitare questo problema, è necessario impostare manualmente la lingua della grammatica:
1 using (SpeechRecognitionEngine sre = new SpeechRecognitionEngine())
2 {
3 Choices choices = new Choices();
4 choices.Add("One");
5 choices.Add("Two");
6 choices.Add("Turn on the light");
7 choices.Add("Turn off the light");
8 //Altri termini da riconoscere...
9
10 GrammarBuilder builder = choices.ToGrammarBuilder();
11 builder.Culture = CultureInfo.GetCultureInfo("en-US");
12 Grammar grammar = new Grammar(builder);
13 sre.LoadGrammar(grammar);
14 sre.SetInputToDefaultAudioDevice();
15
16 RecognitionResult result = sre.Recognize();
17 //"result.text" contiene il testo riconosciuto.
18 }
In questo esempio (riga 11) si specifica che la lingua della grammatica è l'inglese: essendo la stessa del motore di riconoscimento, il caricamento (riga 13) avviene ora senza problema, anche se il sistema operativo è in italiano.
Technorati Tags:
.NET,
Programming,
C#