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

Screen reader JAWS for Windows Russian

[JFWRus] Как выглядит скрипт

Здравствуйте, Уважаемые участники рассылки!

Подскажите как будит
выглядить скрипт, который
на экране находит нужное
слово и на нём имулирует левый
щелчок мыши.

Ответить   Thu, 26 Mar 2009 12:00:39 +0300 (#837822)

 

Ответы:

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

Вы писали 26 марта 2009 г., 12:00:39:

Вот этот код должен работать:

Script FindAndClick ()
SaveCursor ()
JAWSCursor ()
RouteJAWSToPc ()
If FindString (GetCurrentWindow (), "<искомое слово>", S_bottom, S_UNRESTRICTED
) Then
LeftMouseButton ()
Else
SayString ("Не найдено")
EndIf
RestoreCursor ()
EndScript

Вместо <искомое слово> вставьте слово, которое хотите найти и
щелкнуть.
Что бы константы S_bottom, S_UNRESTRICTED обрабатывались, в вашем
файле скрипта, в его начале, до всех функций и скриптов, должна быть
строка:

include "hjconst.jsh"

Эта строка подключает к скрипту файл, в котором назначены многие
нужные константы, в том числе и указанные выше.

Ответить   Thu, 26 Mar 2009 15:17:24 +0300 (#837897)

 

Здравствуйте .>

А как можно написать чтобы щелчёк мышки был произведен по элементу управление
"Buton" у которого нет надписи а только графика

С уважением Алексанндр.
Днепропетровск
http://disciplina.at.ua
тел: +38 (068) 40-42-995

***
Это сообщение No 8403
было разослано для 473 участников дискуссионного листа
[JFWRus] Re[2]: Как выглядит скрипт

Ответить   Thu, 26 Mar 2009 20:11:58 +0200 (#838041)

 

извините за ошибку
<сначала надо назначить лейбл на графику.>
<control+g к примеру "ikon" конечно без кавычек>
insert+g к примеру "ikon" конечно без кавычек

Original Message From: "Литус Александр" <litus@i.ua>
To: "comp.soft.others.jfwrus (14993595)" <leonidas***@g*****.com>
Sent: Thursday, March 26, 2009 8:11 PM

***
Это сообщение No 8407
было разослано для 473 участников дискуссионного листа
[JFWRus] Re[3]: Как выглядит скрипт

Ответить   Thu, 26 Mar 2009 21:30:01 +0200 (#838342)

 

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

Вы писали 26 марта 2009 г., 21:30:01:

Неправильное и излишнее цитирование.
1. Полное цитирование со служебными полями недопускается.
2. Допустима сначала короткая цитата, а затем ответ.
3. Сообщение в стиле ответ, а затем полная цитата недопустим.

Ответить   Fri, 27 Mar 2009 14:17:27 +0200 (#838443)

 

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

Вы писали 26 марта 2009 г., 21:11:58:

Щелкнуть такую кнопку можно несколькими способами. Если создать для
нее текстовую метку (Ins+G), то возможно уже Джоз будет ее находить
при переборе по Tab. Если же нет, то ее можно найти с помощью функции
FindGraphic ищелкнуть.
Если и это не прокатит, то выяснить ее уникальные параметры (Класс,
имя, Контрол АйДи и пр.) с помощью Ins+Crtl+F1, илипереключиышись с
помощью Ins+Пробел в режим изучения окна. А узнав эьто, найти ее в
скрипте функцией FindWindow или FindDescendentWindow и щелкнуть.
Об этом, и о других очень полезных возможностях можно почитать Здесь:
http://jaws.tiflocomp.ru/docs/scripts_manual/index.php .

Ответить   Fri, 27 Mar 2009 17:38:55 +0300 (#838490)

 

Добрый день вопрос по функции FindGraphic (, , , ) какие параметры прописываються
в даной функции. Да и если можно подробнее как с помощью её находить элементы
управления и выполнять действия над ними.

С уважением Алексанндр.
Днепропетровск
http://disciplina.at.ua
тел: +38 (068) 40-42-995

***
Это сообщение No 8518
было разослано для 474 участников дискуссионного листа
[JFWRus] функцияFindGraphic

Ответить   Wed, 15 Apr 2009 06:03:16 +0300 (#845531)

 

Доброго времени суток, Литус Александр.

Из сообщения от 15.04.2009 6:06:

Функция ищет графические изображения (иконки)
в указанном окне. Если находит - помещает на него Jaws-курсор.
Изображению должна быть присвоена тектстовая метка,
которая, собственно говоря, ищется.
Возвращает 1 при успешном завершении, иначе - 0.
Параметры:
1 - дескриптор окна, в котором производится поиск.
2 - строка, представляющая текстовую метку.
Должно быть обеспечено точное совпадение.
3 - целое, кодирующее направление поиска
(S_TOP или S_BOTTOM)
4 - целое, кодирующее ограничения зоны поиска
(S_UNRESTRICTED для поиска по всему окну активного приложения,
S_RESTRICTED для ограничения поиска активным дочерним окном)
Функция доступна начиная с версии Jaws 4.51.

Для выполнения действий с найденными элементами можно использовать
функции по работе с Jaws-курсором и мышью.
Применять можно, если не работают другие методы (imho).

С уважением, Руслан Усачев
RUsach***@t*****.by

***
Это сообщение No 8519
было разослано для 474 участников дискуссионного листа
[JFWRus] Re: функцияFindGraphic

Ответить   Руслан Усачев Wed, 15 Apr 2009 07:17:07 +0300 (#845551)

 

делаю такой тестовый скрипт сажу его на гарячие клавиши:
;дескриптор 525576

Script test ()
FindGraphic (525576, MyMetka, S_TOP, S_UNRESTRICTED)
LeftMouseButton ()

EndScript

припопытке скомпилировать ругаеться на "MyMetka" в чём может быть загвоздка.
и подскажите что это > 3 - целое, кодирующее направление поиска

С уважением Алексанндр.
Днепропетровск
http://disciplina.at.ua
тел: +38 (068) 40-42-995

***
Это сообщение No 8521
было разослано для 474 участников дискуссионного листа
[JFWRus] Re[2]: функцияFindGraphic

Ответить   Wed, 15 Apr 2009 09:03:01 +0300 (#845588)

 

Доброго времени суток, Литус Александр.

Из сообщения от 15.04.2009 9:06:

MyMetka должна быть либо строковой переменной (константой),
либо должна быть заключена в кавычки.
И еще раз, она должна точно совпадать с меткой,
определенной для графического изображения.

Эти константы определены в файле hjconst.jsh.

S_TOP = 0, ; s INDICATES SEARCH TYPE, for find string, find graphic,
FindColors
S_BOTTOM = 1,

Они определяют откуда начнется поиск,
от верха окна или от его низа.

И, вызывать LeftMouseButton () после
FindGraphic () необходимо при условии успешного завершения поиска.

С уважением, Руслан Усачев
RUsach***@t*****.by

***
Это сообщение No 8522
было разослано для 475 участников дискуссионного листа
[JFWRus] Re[3]: функцияFindGraphic

Ответить   Руслан Усачев Wed, 15 Apr 2009 09:36:23 +0300 (#845613)

 

Теперь работает:

include "hjconst.jsh"

Script test ()
If FindGraphic (525576, "Регистрация", S_TOP, S_UNRESTRICTED)
Then
LeftMouseButton ()
Else
SayString ("Не доступно")
EndIf

PCCursor ()
EndScript

Я думаю тему можно закрыть большое спасиба Руслан.

С уважением Алексанндр.
Днепропетровск
http://disciplina.at.ua
тел: +38 (068) 40-42-995

***
Это сообщение No 8523
было разослано для 475 участников дискуссионного листа
[JFWRus] Re[4]: функцияFindGraphic

Ответить   Wed, 15 Apr 2009 10:17:57 +0300 (#845630)

 

Здравствуйте, Руслан.

Вы писали 15 апреля 2009 г., 9:36:23:

т.е. должно быть условие, например:
Script PickAddresses ()

if IsAddressGrid () then
;SaveCursor ()
InvisibleCursor ()
RouteInvisibleToPc ()
if (FindGraphic (GetFocus (), "adress", S_bottom , S_RESTRICTED)
|| FindGraphic (GetFocus (), "adres", S_bottom , S_RESTRICTED))
then
RoutePCToInvisible ()
Endif
else
TypeCurrentScriptKey ()
endif

EndScript

Ответить   Wed, 15 Apr 2009 12:45:14 +0300 (#845694)

 

Если чесно несильно понял конструкцию но самое для меня удевительное зачем такие
манипуляции с курсором сохранять его потом кудато переносить а в конце он даже
не реставрируеться "RestoreCursor ()" ненаблюдаеться да и что делает функция
RoutePCToInvisible () подскажите чайнику.

С уважением Алексанндр.
Днепропетровск
http://disciplina.at.ua
тел: +38 (068) 40-42-995

***
Это сообщение No 8525
было разослано для 475 участников дискуссионного листа
[JFWRus] Re[5]: функцияFindGraphic

Ответить   Wed, 15 Apr 2009 16:38:32 +0300 (#845756)

 

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

Вы писали 15 апреля 2009 г., 16:38:32:

прокоментирую.
Это скрипт для щелчка на графическом элементе в программе Thebat.
В частности вызов пользовательской функции эдинтификации окна, по
классу, так как эта программа написана на компонентах VCL
(Delphi, CBuilder).
В них дискриптор окна равен эдентификатору
контрола.
Кстати в таких программах я для большей достоверности проверяю
сразу не только текущий класс, но и классы родителя, наследника и
окон на текущем уровне.

По возможности предпочитаю не дёргать Джоз курсор, чтобы не
появлялись подсказки.

Иногда график бывает разным, так делаю поиск хоть одного из
двух. Причем в текущем окне и снизу окна.

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

а иначе отдаётся в приложение комбинации.

функцию restorecursor можно не писать, она автоматически
выполняется в конце скрипта. Обязательно писать если её надо
выполнить не в конце скрипта.

Ответить   Wed, 15 Apr 2009 18:32:31 +0300 (#845799)

 

Здравствуйте, Олег.

Вы писали 15 апреля 2009 г., 18:32:31:

Господа обращайте внимание на грамматику и правописание.
Сам написал, прочитал и ужаснулся.

Ответить   Wed, 15 Apr 2009 18:40:11 +0300 (#845822)

 

здравствуйте Алег.

Если можно опешите здесь подробнее такой метод применяеться в компонентах
VCL
(Delphi, CBuilder) или предпочтительнее применять во всех случаях.

С уважением Алексанндр.
Днепропетровск
http://disciplina.at.ua
тел: +38 (068) 40-42-995

***
Это сообщение No 8530
было разослано для 475 участников дискуссионного листа
[JFWRus] Re[7]: функцияFindGraphic

Ответить   Wed, 15 Apr 2009 20:27:49 +0300 (#845846)

 

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

Вы писали 15 апреля 2009 г., 20:27:49:

Это не правило а скорее конкретная ситуация, бывает просто не
достаточно проверки только текущего класса.
Вот пример ранее указанной функции.
Int Function IsAddressGrid ()

return !MenusActive ()
Если не активно меню, а то бывают случаи, когда при активном меню
возвращается класс элемента бывшего активным до вызова меню.

&& !DialogActive ()
Если не активно диалоговое окно, возможно это и лишняя проверка,
но не мешает.
&& GetWindowClass (GetFocus ()) == "TFieldInEdit"
Проверяем текущий класс.
&& GetWindowClass (GetParent (GetFocus ())) == "TAddressGrid"
Проверяем класс родителя.
Здесь проверяется ряд условий, и если они все выполняются, то это
действительно искомый нами элемент.
Можно делать проверку по тексту на экране, но это привязка к
языковому интерфейсу
программы, что не очень хорошо, лучше этого избегать.
Конечно лучше использовать идентификатор элемента управления
(ControlID), но в VCL компонентах он динамический, и нет смысла
его проверять он всегда равен дескриптору окна. Хотя в некоторых
диалоговых окнах Word есть элементы с одинаковыми
идентификаторами.

Ответить   Wed, 15 Apr 2009 22:13:19 +0300 (#845888)

 

Vande omentaina, Литус!

А вы пометили график? У вас есть метка с таким названием в .jgf-файле?

Ответить   Anarendil Wed, 15 Apr 2009 16:47:01 +0300 (#845779)