Отправляет email-рассылки с помощью сервиса Sendsay

[TC] jaws 22 не работает скрипт say icon sttatus

In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
List-Post:List-Owner:List-Archive;
bh=aGK6s8vkRbEc+GLI/6yrsQs+uBDFPff+OIiWCgjH7eA=;
b=ITSpnKHevxcIi74deWDUfeAadf
DVvY35ioIQwJqIyGWKiKmcQSCOl9/NERtynjAy05uQ8w6+oP17gEVKViES187ffAmOmaqSYcyYPO
I
RvQ0wCzXj9W7nmJ7rj2QWE7mY7QDiYCXptypG6/E8M3FXGZsWTAuyPjFq4LEVRs/yekg=;

Всем привет.
Перенес в jaws 22, вот такой скрипт:

Script SayIconStatus (string SetOfTemplates01, string SetOfTemplates02, string SetOfTemplates03, string SetOfTemplates04, string SetOfTemplates05, string SetOfTemplates06, string SetOfTemplates07, string SetOfTemplates08, string SetOfTemplates09, string SetOfTemplates10)
; скрипт озвучивающий состояние значка в трее, причём в качестве параметра скрипта передаётся подстрока для поиска значка.
var
StringArray SetOfTemplates, ; массив состоящий из набора шаблонов передаваемых в скрипт через параметры скрипта
string sTrayTip,
string result, ; переменная содержащая все параметры для озвучки диагностики
int iTrayItems,
int iCounter,
int iCounterArray = 0, ; число параметров передаваемое в скрипт
int iNumberArray = 1, ; счётчик по массиву
string sIconTip
let SetOfTemplates = new StringArray[10] ; массив состоящий из наборов шаблонов не превышает 10 эллементов
PlaySound (GetSharedSettingsDirectory ()+"\\SOUNDS\\Click.wav")
; заполняем массив параметрами из скрипта
If StringLength (SetOfTemplates01) != 0 Then
let SetOfTemplates[1] = SetOfTemplates01
Let iCounterArray = iCounterArray + 1
Else
PlaySound (GetSharedSettingsDirectory ()+"\\SOUNDS\\PianoDown2-E-D.wav")
SayString ("Параметр в скрипте для поиска не задан. Скрипт прекращает работу.")
Return
EndIf

If StringLength (SetOfTemplates02) != 0 Then
let SetOfTemplates[2] = SetOfTemplates02
Let iCounterArray = iCounterArray + 1
EndIf

If StringLength (SetOfTemplates03) != 0 Then
let SetOfTemplates[3] = SetOfTemplates03
Let iCounterArray = iCounterArray + 1
EndIf

If StringLength (SetOfTemplates04) != 0 Then
let SetOfTemplates[4] = SetOfTemplates04
Let iCounterArray = iCounterArray + 1
EndIf

If StringLength (SetOfTemplates05) != 0 Then
let SetOfTemplates[5] = SetOfTemplates05
Let iCounterArray = iCounterArray + 1
EndIf
If StringLength (SetOfTemplates06) != 0 Then
let SetOfTemplates[6] = SetOfTemplates06
Let iCounterArray = iCounterArray + 1
EndIf
If StringLength (SetOfTemplates07) != 0 Then
let SetOfTemplates[7] = SetOfTemplates07
Let iCounterArray = iCounterArray + 1
EndIf
If StringLength (SetOfTemplates08) != 0 Then
let SetOfTemplates[8] = SetOfTemplates08
Let iCounterArray = iCounterArray + 1
EndIf
If StringLength (SetOfTemplates09) != 0 Then
let SetOfTemplates[9] = SetOfTemplates09
Let iCounterArray = iCounterArray + 1
EndIf
If StringLength (SetOfTemplates10) != 0 Then
let SetOfTemplates[10] = SetOfTemplates10
Let iCounterArray = iCounterArray + 1
EndIf
; конец блока заполнения масива параметрами скрипта

let iTrayItems = SysTrayGetItemCount ()
; начинаем перебор по массиву
while iNumberArray <= iCounterArray

Let sTrayTip= SetOfTemplates[iNumberArray]
Let result = result + "\"" + sTrayTip + "\", "
let iCounter= 0
while StringContains (sIconTip, sTrayTip) == 0 && iCounter <= iTrayItems
let iCounter=ICounter+1
let sIconTip = SysTrayGetItemToolTip (iCounter)
endwhile
; итак, если подстрока была найдена, то выполняем проверку на колличество нажатий скрипта
If StringContains (sIconTip, sTrayTip) != 0 Then
; проверяем колличество нажатий скрипта
if IsSameScript() == 1 then
sayUsingVoice(vctx_message,"Opening your " + sIconTip, ot_no_disable)
saveCursor()
SysTrayMoveToItem (iCounter)
LeftMouseButton ()
leftMouseButton()
restoreCursor()
return
endIf
sayUsingVoice(vctx_message,sIconTip,ot_no_disable)
Return
EndIf

Let iNumberArray = iNumberArray + 1
endwhile

; озвучиваем все шаблоны из списка иговорим, что они не найдены
; say(result + " not found",ot_error)
If iCounterArray <= 1 Then
say(sTrayTip + " not found",ot_error)
Else
say(" Options not found",ot_error)
EndIf
EndScript

при компиляции сразу ж выдается такая ошибка:
Ошибка компиляции
Error: Unknown variable vctx_message
ОК
курсор стоит на строке:
sayUsingVoice(vctx_message,"Opening your " + sIconTip, ot_no_disable)
Что тут поменялось и где править?
С почтением Андрей.

Ответить   Andrij Stegnitskiy (#3689054)

 

Ответы:

Здравствуйте, Andrij.

отвечаю на письмо от 26 июля 2022 г., 22:48:14:

получается, что либо в файле заголовка либо в файле сообщений отсутствует данная константа-переменная. надо просмотреть эти
файлы и при отсутствии данной константы-переменной прописать ее, а взять ее значение надо из джоза, в котором работал данный скрипт.

Ответить   Wed, 27 Jul 2022 18:18:42 +0300 (#3689068)

 

Здравствуйте, Анатолий.
В своём письме от 27.07.2022, Вы писали:

данный скрипт работал на jaws 19, но вот он был прописан в файле default.jss, а файлов default.jsm, то там в папке и не было.
где еще можна взять эти значения?
С почтением Андрей.

Ответить   Andrij Stegnitskiy Wed, 27 Jul 2022 20:11:50 +0300 (#3689072)

 

Здравствуйте, Andrij.

Вы писали среда, 27 июля 2022 г., 20:11:50:

Здравствуйте вот ссылка на скрипт работает в jaws 22
https://yadi.sk/d/jjIDTZk0tPNUHg

Ответить   Wed, 27 Jul 2022 20:53:53 +0300 (#3689073)

 

Здравствуйте, Pavel.
В своём письме от 27.07.2022, Вы писали:

у меня выбивается с аналогичной ошибкой.
Если можна, то выложите файл, как говорил Анатолий Ивашков,
common.jsm
С почтением Андрей.

Ответить   Andrij Stegnitskiy Thu, 28 Jul 2022 10:19:29 +0300 (#3689087)

 

Здравствуйте, Andrij.

Вы писали 28 июля 2022 г., 10:19:29:

Итак, внимание:
Вы в какой файл JSS добавляете скрипты?
Какие строки Include вы видите в этом файле сверху?
Вот какие строки стоят в моём JSS:
?Include "HjGlobal.jsh" ; default HJ global variables
Include "hjconst.jsh" ; default HJ constants
Include "HjHelp.jsh" ; Help Topic Constants
Include "common.jsm" ; message file
include "IE.jsm"
include "ExplorerFrame.jsm"
Удачи.

Ответить   Thu, 28 Jul 2022 11:59:24 +0300 (#3689088)

 

Здравствуйте, Grolin.
В своём письме от 28.07.2022, Вы писали:
В тех скриптах, там были вот такие записи в default.jkm
прописать и выбрать свой заголовок и горячку.
[Common Keys]
Control+Windows+Alt+LeftArrow=SayIconStatus("Загрузка:")
Control+Windows+Alt+UpArrow=SayIconStatus("Ядро 0:")
Control+Windows+Alt+DownArrow=SayIconStatus("Ядро 1:")
Control+Windows+Alt+RightArrow=SayIconStatus("Использовано памяти:")
Для какого оно было приложения?
Если прописать те ж клавиши и потом нажимать, то при том говорится, что опция ненайдена.
С почтением Андрей.

Ответить   Andrij Stegnitskiy Thu, 28 Jul 2022 23:15:09 +0300 (#3689097)

 

Здравствуйте, Andrij.

Вы писали 28 июля 2022 г., 23:15:09:

Это вы пишите файл куда горячку прописываете.
Я же писал, точнее спрашивал в какой файл JSS вы вставляете сам скрипт
и предлагал сравнить строки Include в этом файле.
Удачи.

Ответить   Fri, 29 Jul 2022 07:43:06 +0300 (#3689107)

 

Здравствуйте, Grolin.
В своём письме от 29.07.2022, Вы писали:

скрипт я ставил в файл myscripts.jss
ну а в default.jss, стоит строка:
use "myscripts.jsb"
сС почтением Андрей.

Ответить   Andrij Stegnitskiy Fri, 29 Jul 2022 08:43:52 +0300 (#3689112)

 

Здравствуйте, Andrij.

Вы писали 29 июля 2022 г., 8:43:52:

замечательноо. :)
Так всё таки какие там стоят строки include?
С моими сравнивали?
Удачи.

Ответить   Fri, 29 Jul 2022 11:04:55 +0300 (#3689121)

 

Здравствуйте, Grolin.
В своём письме от 29.07.2022, Вы писали:

все строки include стоят в файле default.jss.
и с него ж делается вызов myscript.jsb.
если все include, которые было надо, уже прописаны в default.jss, то с
какой целью, я буду прописывать повторно в myscript.jss?
То ж так можна потом подтягивать свои скрипты, которые не
прописываются в заводской комплектации.
С почтением Андрей.

Ответить   Andrij Stegnitskiy Fri, 29 Jul 2022 11:51:50 +0300 (#3689123)

 

Здравствуйте, Andrij.

отвечаю на письмо от 29 июля 2022 г., 11:51:50:

если в скриптах запрашиваются переменные или константы указанные в соответствующих файлах, то их надо подключать в файлах скриптов, в которых написаны скрипты, вызывающих эти значения. иначе при компиляции будет выдаваться ошибка.

Ответить   Fri, 29 Jul 2022 12:07:42 +0300 (#3689124)

 

Здравствуйте, Andrij.

Вы писали 29 июля 2022 г., 11:51:50:

Странная дискуссия.
Попробуйте прописать. Удалить никогда не поздно. :)
Удачи.

Ответить   Fri, 29 Jul 2022 14:29:39 +0300 (#3689126)

 

Здравствуйте, Andrij.

Вы писали четверг, 28 июля 2022 г., 23:15:09:

CoreTemp ссылка ниже:
https://yadi.sk/d/Rqh4LrOvy2113Q

Ответить   Fri, 29 Jul 2022 07:48:07 +0300 (#3689136)

 

Здравствуйте, Andrij.

Вы писали четверг, 28 июля 2022 г., 10:19:29:

такого нет файла. где он должен лежать?

Ответить   Thu, 28 Jul 2022 12:29:14 +0300 (#3689100)

 

Здравствуйте, Pavel.
В своём письме от 28.07.2022, Вы писали:

лежит тут:
C:\ProgramData\Freedom Scientific\JAWS\2022\Scripts\common.jsm
С почтением Андрей.

Ответить   Andrij Stegnitskiy Fri, 29 Jul 2022 08:50:12 +0300 (#3689113)

 

Здравствуйте, Andrij.

отвечаю на письмо от 27 июля 2022 г., 20:11:50:

если в подключаемых файлах, через директиву include этой константы нет, то значит оно бралось из общих файлов, и скорей всего это значение находилось в файле common.jsm

Ответить   Wed, 27 Jul 2022 22:04:43 +0300 (#3689074)