Enumerazione AnalysisWarningCode
Aggiornamento: novembre 2007
Definisce i valori per il set di avvisi disponibili che possono verificarsi durante l'analisi dell'input penna.
Spazio dei nomi: System.Windows.Ink.AnalysisCore
Assembly: IACore (in IACore.dll)
Sintassi
'Dichiarazione
Public Enumeration AnalysisWarningCode
'Utilizzo
Dim instance As AnalysisWarningCode
public enum AnalysisWarningCode
public enum class AnalysisWarningCode
public enum AnalysisWarningCode
public enum AnalysisWarningCode
Membri
Nome membro | Descrizione | |
---|---|---|
Aborted | Indica che l'operazione di analisi è stata interrotta. Restituito solo quando viene chiamata l'operazione di analisi sincrona. L'interruzione di un'operazione asincrona non genererà un evento ResultsUpdated. | |
NoMatchingInkRecognizerFound | Indica che nel sistema non è installato alcun sistema di riconoscimento dell'input penna che soddisfi la lingua o le funzionalità necessarie per eseguire l'operazione di riconoscimento del testo. | |
FactoidNotSupported | Indica che il sistema di riconoscimento dell'input penna non è stato in grado di rispettare l'oggetto Factoid() specificato. | |
FactoidCoercionNotSupported | Indica che il sistema di riconoscimento dell'input penna non è stato in grado di assegnare i risultati all'oggetto Factoid specificato. | |
GuideNotSupported | Indica che il sistema di riconoscimento dell'input penna non è stato in grado di rispettare il valore Guide specificato. | |
WordlistNotSupported | Indica che il sistema di riconoscimento dell'input penna non è stato in grado di rispettare l'elenco di parole specificato impostato da SetWordlist. | |
WordModeNotSupported | Indica che il sistema di riconoscimento dell'input penna non è stato in grado di rispettare l'oggetto WordMode specificato. | |
PartialDictionaryTermsNotSupported | Indica che per InkRecognizer non è stato possibile restituire i termini di dizionario parziali. | |
TextRecognitionProcessFailed | Indica che il processo di riconoscimento del testo non è riuscito. | |
AddInkToRecognizerFailed | Indica che non è possibile aggiungere l'input penna a InkRecognizerBase. Ad esempio, l'aggiunta di tratti raccolti da un mouse in un sistema di riconoscimento del movimento avrà esito negativo poiché il sistema di riconoscimento del movimento richiede tratti raccolti da un digitalizzatore. | |
SetPrefixSuffixFailed | Indica che il InkRecognizerBase non è stato in grado di rispettare il valore PrefixText o SuffixText specificato. | |
InkRecognizerInitializationFailed | Indica che non è possibile creare un'istanza di InkRecognizer né duplicarlo o che l'impostazione dei tratti nel contesto del sistema di riconoscimento non è riuscita. | |
ConfirmedWithoutInkRecognition | Indica che ContextNode è stato confermato dall'utente senza aver calcolato alcun valore di riconoscimento per il nodo. | |
BackgroundException | Indica che l'operazione in background non è stata completata a causa di un'eccezione. Si tratta di un errore irreversibile che richiede la creazione di una nuova istanza di InkAnalyzer prima di un ulteriore utilizzo. | |
ContextNodeLocationNotSet | Indica che un oggetto ContextNode non dispone di un set Location appropriato. La proprietà Location deve disporre di un valore non vuoto, a meno che ContextNode non sia contrassegnato come parzialmente compilato. | |
LanguageIdNotRespected | Indica che l'identificatore della lingua impostato su un tratto associato a CustomRecognizer non corrispondeva all'identificatore della lingua dell'oggetto InkRecognizer utilizzato. L'input penna è stato ancora riconosciuto con l'oggetto InkRecognizer specificato. | |
EnableUnicodeCharacterRangesNotSupported | Indica che InkRecognizer non supporta l'abilitazione di intervalli di caratteri Unicode come specificato nel suggerimento. | |
TopInkBreaksOnlyNotSupported | Indica che InkRecognizer non supporta TopInkBreaksOnly anche se i suggerimenti contengono solo una richiesta per TopInkBreaks. | |
AnalysisAlreadyRunning | Indica che InkAnalyzer sta già eseguendo un'analisi in background. |
Note
BackgroundException è l'unico avviso che richiede la creazione di una nuova istanza di InkAnalyzer prima di un ulteriore utilizzo.
Gli altri avvisi, ad esempio InkRecognizerInitializationFailed e TextRecognitionProcessFailed, potrebbero richiedere l'utilizzo di un sistema di riconoscimento diverso da parte di InkAnalyzer.
Esempi
Nell'esempio seguente vengono riprodotti a ciclo continuo tutti gli avvisi in un oggetto AnalysisWarningCollection, warnings. Viene fornito un messaggio, in base a AnalysisWarningCode. Nel caso di BackgroundException, viene generata l'eccezione, poiché si tratta di un avviso irreversibile. I tratti che hanno generato l'avviso vengono quindi contrassegnati in rosso.
' Loop through warnings
Dim warning As AnalysisWarningBase
For Each warning In status.Warnings
Select Case warning.WarningCode
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.Aborted
message = message & "Analysis operation was aborted. "
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.BackgroundException
' This is a fatal warning. Throw an exception.
' First, attempt to save as much document state as possible
' ...
' Rethrow the exception so that it can be caught by an exception
' handler (or if there is no exception handler, a program error
' debugger such as Dr. Watson can be invoked)
Throw (warning.BackgroundException)
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.ConfirmedWithoutInkRecognition
message = message & "Node was confirmed without ink recognition having been performed. "
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.ContextNodeLocationNotSet
message = message & "Node does not have a proper location set. "
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.FactoidCoercionNotSupported
message = message & "Factoid coercion failed "
If (Not warning.AnalysisHint Is Nothing) AndAlso _
warning.AnalysisHint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.Factoid) Then
message = message & "for factoid: " & _
CType(warning.AnalysisHint.GetPropertyData( _
PropertyGuidsForAnalysisHintsBase.Factoid), String) & ". "
End If
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.FactoidNotSupported
If (Not warning.AnalysisHint Is Nothing) AndAlso _
warning.AnalysisHint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.Factoid) Then
message = message & _
CType(warning.AnalysisHint.GetPropertyData( _
PropertyGuidsForAnalysisHintsBase.Factoid), String) & _
" factoid was not respected. "
End If
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.GuideNotSupported
message = message & "Guide was not respected. "
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.AddInkToRecognizerFailed
message = message & "Ink could not be added to the InkRecognizer. "
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.InkRecognizerInitializationFailed
message = message & "The InkRecognizer failed to initialize. "
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.NoMatchingInkRecognizerFound
message = message & "There are no ink recognizers meeting the language or capabilities needed. "
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.LanguageIdNotRespected
message = message & "The language ID set on a stroke did not match the language ID of the InkRecognizer. "
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.PartialDictionaryTermsNotSupported
message = message & "Partial dictionary terms could not be returned from the text recognizer. "
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.SetPrefixSuffixFailed
message = message & "The text recognizer was unable to respect either the prefix or suffix. "
If (Not warning.AnalysisHint Is Nothing) AndAlso _
warning.AnalysisHint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.PrefixText) Then
message = message & "Prefix: " & _
warning.AnalysisHint.GetPropertyData(PropertyGuidsForAnalysisHintsBase.PrefixText) _
& ". "
End If
If (Not warning.AnalysisHint Is Nothing) AndAlso _
warning.AnalysisHint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.SuffixText) Then
message = message & "Suffix: " & _
warning.AnalysisHint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.SuffixText) _
& ". "
End If
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.WordlistNotSupported
message = message & "Wordlist was not respected. "
Case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.WordModeNotSupported
message = message & "Word mode was not respected. "
End Select
' Add node id information
Dim id As Guid
For Each id In warning.GetNodeIds()
message = message & "Id: " & id.ToString() & " "
Next id
' Add hint information
If Not (warning.AnalysisHint Is Nothing) Then
Dim hint As ContextNodeBase = warning.AnalysisHint
message = message & Environment.NewLine & "Hint information: "
message = message & "AllowPartialDictionaryTerms"
If hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.AllowPartialDictionaryTerms) Then
message = message & " = " & _
hint.GetPropertyData( _
PropertyGuidsForAnalysisHintsBase.AllowPartialDictionaryTerms).ToString()
Else
message = message & " = False "
End If
message = message & "CoerceToFactoid"
If hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.CoerceToFactoid) Then
message = message & " = " & _
hint.GetPropertyData( _
PropertyGuidsForAnalysisHintsBase.CoerceToFactoid).ToString()
Else
message = message & " = False "
End If
If hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.Factoid) Then
message = message & "Factoid = " & _
warning.AnalysisHint.GetPropertyData(PropertyGuidsForAnalysisHintsBase.Factoid) & " "
End If
If hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.Guide) Then
Dim theInkRecognizerGuideBase As InkRecognizerGuideBase = _
CType(hint.GetPropertyData(PropertyGuidsForAnalysisHintsBase.Guide), _
InkRecognizerGuideBase)
message += "Guide Drawn Box = {" & theInkRecognizerGuideBase.DrawnBoxLeft.ToString() _
& ", " & theInkRecognizerGuideBase.DrawnBoxTop.ToString() _
& ", " & theInkRecognizerGuideBase.DrawnBoxRight.ToString() _
& ", " & theInkRecognizerGuideBase.DrawnBoxBottom.ToString() _
& ")"
message &= "Guide Writing Box = {" & theInkRecognizerGuideBase.WritingBoxLeft.ToString() _
& ", " & theInkRecognizerGuideBase.WritingBoxTop.ToString() _
& ", " & theInkRecognizerGuideBase.WritingBoxRight.ToString() _
& ", " & theInkRecognizerGuideBase.WritingBoxBottom.ToString() _
& ")"
message = message & String.Format("Guide = ({0}, {1})", _
theInkRecognizerGuideBase.Columns, theInkRecognizerGuideBase.Rows)
End If
If hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.Name) Then
message = message & "Name = " & _
CType(warning.AnalysisHint.GetPropertyData(PropertyGuidsForAnalysisHintsBase.Name), String) _
& " "
End If
If Not hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.PrefixText) Then
message = message & "PrefixText = " & _
CType(warning.AnalysisHint.GetPropertyData(PropertyGuidsForAnalysisHintsBase.PrefixText), String) _
& " "
End If
If Not hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.SuffixText) Then
message = message & "SuffixText = " & _
CType(warning.AnalysisHint.GetPropertyData(PropertyGuidsForAnalysisHintsBase.SuffixText), String) _
& " "
End If
message = message & "WordMode"
If hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.WordMode) Then
message = message & " = " & _
CType(hint.GetPropertyData(PropertyGuidsForAnalysisHintsBase.WordMode), String)
Else
message = message & " = False"
End If
End If
message = message & Environment.NewLine
Next warning
// Loop through warnings
foreach (AnalysisWarningBase warning in status.Warnings)
{
switch (warning.WarningCode)
{
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.Aborted:
message += "Analysis operation was aborted. ";
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.BackgroundException:
// This is a fatal warning. Throw an exception.
// First, attempt to save as much doc state as possible
// ...
// Rethrow the exception so that it can be caught by an exception
// handler (or if there is no exception handler, a program error
// debugger such as Dr. Watson can be invoked)
throw(warning.BackgroundException);
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.ConfirmedWithoutInkRecognition:
message += "Node was confirmed without ink recognition having been performed. ";
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.ContextNodeLocationNotSet:
message += "Node does not have a proper location set. ";
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.FactoidCoercionNotSupported:
message += "Factoid coercion failed ";
if (warning.AnalysisHint != null &&
warning.AnalysisHint.ContainsPropertyData(
PropertyGuidsForAnalysisHintsBase.Factoid))
{
message += "for factoid: " +
(string) warning.AnalysisHint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.Factoid) + ". ";
}
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.FactoidNotSupported:
if (warning.AnalysisHint != null &&
warning.AnalysisHint.ContainsPropertyData(
PropertyGuidsForAnalysisHintsBase.Factoid))
{
message +=
(string)warning.AnalysisHint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.Factoid)
+ " factoid was not respected. ";
}
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.GuideNotSupported:
message += "Guide was not respected. ";
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.AddInkToRecognizerFailed:
message += "Ink could not be added to the InkRecognizer. ";
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.InkRecognizerInitializationFailed:
message += "The InkRecognizer failed to initialize. ";
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.NoMatchingInkRecognizerFound:
message += "There are no ink recognizers meeting the language or capabilities needed. ";
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.LanguageIdNotRespected:
message += "The language ID set on a stroke did not match the language ID of the InkRecognizer. ";
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.PartialDictionaryTermsNotSupported:
message += "Partial dictionary terms could not be returned from the text recognizer. ";
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.SetPrefixSuffixFailed:
message += "The text recognizer was unable to respect either the prefix or suffix. ";
if (warning.AnalysisHint != null &&
warning.AnalysisHint.ContainsPropertyData(
PropertyGuidsForAnalysisHintsBase.PrefixText))
{
message += "Prefix: " +
warning.AnalysisHint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.PrefixText) + ". ";
}
if (warning.AnalysisHint != null &&
warning.AnalysisHint.ContainsPropertyData(
PropertyGuidsForAnalysisHintsBase.SuffixText))
{
message += "Suffix: " +
warning.AnalysisHint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.SuffixText) + ". ";
}
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.WordlistNotSupported:
message += "Wordlist was not respected. ";
break;
case System.Windows.Ink.AnalysisCore.AnalysisWarningCode.WordModeNotSupported:
message += "Word mode was not respected. ";
break;
}
// Add node id information
foreach (Guid id in warning.GetNodeIds())
message += "Id: " + id.ToString() + " ";
// Add hint information
if (warning.AnalysisHint != null)
{
ContextNodeBase hint = warning.AnalysisHint;
message += Environment.NewLine + "Hint information: ";
message += "AllowPartialDictionaryTerms";
if (hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.AllowPartialDictionaryTerms))
message += " = " +
((bool)hint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.AllowPartialDictionaryTerms)).ToString();
else
message += " = false ";
message += "CoerceToFactoid";
if (hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.CoerceToFactoid))
message += " = " +
((bool)hint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.CoerceToFactoid)).ToString();
else
message += " = false ";
if (hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.Factoid))
message += "Factoid = " +
(string) warning.AnalysisHint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.Factoid) + " ";
if (hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.Guide))
{
InkRecognizerGuideBase theInkRecognizerGuideBase =
(InkRecognizerGuideBase) hint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.Guide);
message += "Guide Drawn Box = {" + theInkRecognizerGuideBase.DrawnBoxLeft.ToString()
+ ", " + theInkRecognizerGuideBase.DrawnBoxTop.ToString()
+ ", " + theInkRecognizerGuideBase.DrawnBoxRight.ToString()
+ ", " + theInkRecognizerGuideBase.DrawnBoxBottom.ToString()
+ ")";
message += "Guide Writing Box = {" + theInkRecognizerGuideBase.WritingBoxLeft.ToString()
+ ", " + theInkRecognizerGuideBase.WritingBoxTop.ToString()
+ ", " + theInkRecognizerGuideBase.WritingBoxRight.ToString()
+ ", " + theInkRecognizerGuideBase.WritingBoxBottom.ToString()
+ ")";
}
if (hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.Name))
message += "Name = " +
(string) warning.AnalysisHint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.Name);
if (hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.PrefixText))
message += "PrefixText = " +
(string) warning.AnalysisHint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.PrefixText) + " ";
if (hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.SuffixText))
message += "SuffixText = " +
(string) warning.AnalysisHint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.SuffixText) + " ";
message += "WordMode";
if (hint.ContainsPropertyData(PropertyGuidsForAnalysisHintsBase.WordMode))
message += " = " +
((bool) hint.GetPropertyData(
PropertyGuidsForAnalysisHintsBase.WordMode)).ToString();
else
message += " = false";
}
message += Environment.NewLine;
}
Piattaforme
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Informazioni sulla versione
.NET Framework
Supportato in: 3.0