【发布时间】:2016-06-01 02:07:43
【问题描述】:
我想知道在 Dragon NaturallySpeaking 的高级脚本中是否可以获取光标上下文。
光标上下文是指周围的字符。例如,有时我想以光标前面的字符是否为空格来判断语音命令的某些步骤。
【问题讨论】:
我想知道在 Dragon NaturallySpeaking 的高级脚本中是否可以获取光标上下文。
光标上下文是指周围的字符。例如,有时我想以光标前面的字符是否为空格来判断语音命令的某些步骤。
【问题讨论】:
我能想到的最好的方法是这里显示的 CheckNewPara 函数:http://knowbrainer.com/forums/forum/messageview.cfm?catid=4&threadid=2739&discTab=true&messid=11427&parentid=11409&FTVAR_FORUMVIEWTMP=Single
Function CheckNewPara()
Clipboard$()
SendKeys "+{Left}^c", True ' copy previous character
Select Case Clipboard$()
Case "" ' if the prior character is nothing
CheckNewPara = "" ' add no space
Case Chr(13)&Chr(10), Chr(9), ")" ' if the prior character is a Lf-CR, tab or )
SendKeys "{Right}", True
CheckNewPara = "" ' add no space
Case "." ' if the prior character is a period
SendKeys "{Right}", True
Clipboard$() ' check for No.
SendKeys "+{Left 3}^c", True ' copy prior three characters
SendKeys "{Right}", True
If Clipboard$() = "No." Then
CheckNewPara = " " ' add one space after No.
Else
CheckNewPara = " " ' add two spaces after period
End If
Case "?", "!"
SendKeys "{Right}", True
CheckNewPara = " " ' add two spaces after other ends of sentence
Case Else
SendKeys "{Right}", True
CheckNewPara = " " ' add one space in the usual case
End Select
Clipboard$()
End Function
您应该查看http://knowbrainer.com/forums/forum/messageview.cfm?FTVAR_FORUMVIEWTMP=Linear&catid=4&threadid=2739&discTab=true 的完整主题以获取所有上下文,但我指出的帖子中的代码应该可以帮助您入门。
我最新版本的函数实际上调用了一个 AutoHotKey 脚本,该脚本同时查看前三个字符(或尽可能多的字符,如果有的话)和接下来的两个字符(或者有多少字符,如果有的话) are any) 并根据上下文返回一个空格、两个空格或什么都不返回。上下文可以是一个终端标点符号(需要两个空格)或一个井号/哈希 # 符号或右括号或大括号 ] } 都不需要空格,或者默认情况下一个空格。我也有它,所以我可以在输入 Dragon 命令的结果之前和/或之后调用它。
HTH、YMMV、
【讨论】: