Глобальные константы в расширенных сценариях Dragon NaturallySpeaking

Есть ли в расширенных сценариях Dragon NaturallySpeaking способ определить константы, которые будут доступны для всех голосовых команд?


Например, у меня есть две голосовые команды:

Sub Main
    originalClipboard = Clipboard
    Clipboard("~\cite{}")
    SendKeys "^v"
    Wait(0.3)
    SendKeys "{LEFT}"
    Clipboard(originalClipboard)
End Sub

И

Sub Main
    Clipboard("os.path.join()")
    SendKeys "^v"
    Wait(0.3)
    SendKeys "{Left}"
End Sub

Я бы предпочел хранить 0.3 в глобальной константе.


person Franck Dernoncourt    schedule 18.04.2016    source источник


Ответы (1)


Да, используя директиву #Uses для включения глобального набора констант и функций в сценарий.

См. http://www.nuance.com/products/help/dragon/dragon-for-pc/scriptref/Content/vbs/uses_comment.htm

Так, например, у меня есть глобальный файл, который включает в себя множество констант и функций, которые могут использоваться любым скриптом, начинающимся с:

 '#Uses "C:\Scripts\pgGlobal.bas.txt"

Вы можете использовать его для определения констант:

Public Const myWait = "0.3"

Вот только одна функция и связанные с ней константы (но вы также можете буквально определить константы сами по себе, как указано выше):

Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
' Use this function to get System parameters (screen, mouse, etc.)
'
Public Const SM_CXSCREEN = 0  '  The width of the primary display monitor.
Public Const SM_CYSCREEN = 1  '  The height of the primary display monitor.
Public Const SM_XVIRTUALSCREEN = 76  '  The left side of the virtual screen.
Public Const SM_YVIRTUALSCREEN = 77  '  The top of the virtual screen.
Public Const SM_CXVIRTUALSCREEN = 78  '  The width of the virtual screen.
Public Const SM_CYVIRTUALSCREEN = 79  '  The height of the virtual screen.
Public Const SM_CMONITORS = 80  '  The number of display monitors.
'

И вызывается так:

'#uses "C:\Scripts\pgGlobal.bas.txt"
Sub Main
    MsgBox "Primary Width: " & GetSystemMetrics(SM_CXSCREEN) & _
        " x Primary Height: " & GetSystemMetrics(SM_CYSCREEN) & vbCrLf & _
        "Number of monitors: " & GetSystemMetrics(SM_CMONITORS) & vbCrLf & _
        "Total Width: " & GetSystemMetrics(SM_CXVIRTUALSCREEN) & _
        " x Total Height: " & GetSystemMetrics(SM_CYVIRTUALSCREEN) & vbCrLf & _
        "Left Pixel: " & GetSystemMetrics(SM_XVIRTUALSCREEN) & _
        " x Top Pixel: " & GetSystemMetrics(SM_XVIRTUALSCREEN)
End Sub

чтобы дать мне окно сообщения со всеми этими параметрами.

person PGilm    schedule 18.04.2016