2009-10-07 5 views
0

J'ai ce script la reconnaissance vocale Windows (WSRMacro) qui composés de plusieurs mots qui sont parlées en un seul mot:Comment déduire des informations de débogage de sortie Panel Alterne dans WSR

"Happy children" 
-> "Happychildren" 

Cependant, un bogue dans le script apparaît dans certaines circonstances et je ne sais pas comment déduire quel est le problème. Bien que l'exemple ci-dessus fonctionne, ce qui suit ne fait pas:

"Happy children bake a cake" 

Au lieu de composer les mots comme ci-dessus, le Groupe Alterne apparaît avec le message suivant:

-> Alternates Panel (Say the number next to the item you want followed by OK): 
(1) Replace that withhappychildrenbakeacake 
(2) replace that withhappychildrenbakeacake 
(3) replace that with no space happy no space 
    children no space bake no space a no space cake 

Puis-je déduire tout bug particulier dans le script ci-dessous à partir de la sortie du panneau Alternates ci-dessus?

Ou y a-t-il quelque chose que je puisse ajouter au script pour obtenir des informations plus utiles sur la nature du bug?

<command priority="5"> 
    <listenFor>compound that</listenFor> 
    <emulateRecognition>select that</emulateRecognition> 
    <sendKeys>{250 WAIT}{{CTRL}}c{250 WAIT}</sendKeys> 
    <script language="VBScript"> 
     <![CDATA[ 
     that = Application.clipboardData.GetData("text") 
     Set regEx = New RegExp 
     regEx.Pattern = "[^\s\w,;:]" 
     If regEx.Test(that) Then 
     Application.SetTextFeedback("Try again without any punctuation selected") 
     Else 
     regEx.Pattern = "(\s) *(\S)" 
     regEx.Global = True 
     that = regEx.Replace(" " & that, "$1no space $2") 
     On Error Resume Next 
     Application.EmulateRecognition("replace that with" & that) 
     If 0 <> Err.Number Then 
      Application.SetTextFeedback("Try again with only the digits selected") 
     End If 
     End If 
    ]]> 
    </script> 
    </command> 

Répondre

0

Il semble que vous essayiez de l'utiliser dans une application qui ne prend pas en charge nativement Text Services Framework. Plus sérieusement, pourquoi n'utilisez-vous pas les commandes intégrées «Supprimer les espaces de cela» ou «concaténer cela»?