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

Screen reader JAWS for Windows Russian

За 2006-05-05

[JFWRus] Скрипты для начинающих, или как написать скрипт с минимальными затратам

Привет, JAWS!

Продолжая о настройке Джос.
Если я Вас еще не отговорил, и Вы всё же хочете разобраться с написанием скриптов,
то для начала нужно разобраться в азах, и не влезать в дебри.
Минимум, что надо знать, что такое собственно скрипт, что он делает, как его
создать, как назначить комбинацию клавиш, как использовать простые комманды переключения
и перемещения курсора, и комманды чтения.
По ссылке:
http://jaws.tiflocomp.ru/docs/scripts_manual/index.php

Находится руководство: Все, что вы хотели знать о написании скриптов для JFW,
но не знали, кого спросить".

Это руководство переведенно Александром Кунгуровым, для версии JAWS 3.7, но оно
до сих пор актуально. Просто в язык добавлялись новые функции.
Но для нас главный вопрос где остановиться, чтобы с одной стороны знать, что
такое скрипт и как написать простой скрипт, а с другой стороны, не влезать в
программистские дебри.
Мой совет разберитесь с введением и первой частью: "Начало работы со скриптами".
И не читайте: часть II "Создаем сложные файлы скриптов".
То есть, переменные, константы, условия, циклы, функции, возврат функций, параметры
функций это уже программирование.
И об написании сложных скриптов и программировании надеюсь написать в следующий
раз.
Цель минимальные начальные сведения о скриптах и умение писать простые скрипты,
при минимальных затратах времени и усилий.
А в первой части руководства, начиная с азов, просто и доступно описано действительно:
все что вам нужно для написания скриптов.
Ключевым в обучении скриптописанию считаю, мотивацию.
То есть нужно иметь конкретную простую задачу, например в часто используемой
программе, прочитать определённый фрагмент экрана. И имея эту задачу, шаг за
шагом её реализовывать.
В руководстве есть домашние задания, обязательно выполняйте их.
Результат даёт практика и теория. Одна теория без практики не имеет особого смысла.
Так, что читайте и сразу пробуйте на практике.
Желаю успешного и быстрого освоения азов скриптописания.

П.С. Это письмо написано для тех кто хочет освоить написание скриптов, а не для
тех кто освоил скрипты и программирование.

   2006-05-05 22:15:32 (#545738)

[JFWRus] Re[5]: jaws тормозит с деревьями

Здравствуйте!
у меня стоит связка outpost and avast
и надёжность по моим впечатлениям довольно высока, правда приходится
немного настраивать, но потом, находятся вирусы, которые касперский и в
помине не видет.
Правда outpost в последней версией стал тормозить с деревьями, но в
фоновом режиме работать можно, да и если компьютер довольно мощный то
проблем быть не должно.
А с новой мышкой, так наверное и вовсе.
А насчёт встроенного, фаервола, так это нужно постоянно скачивать
заплатки, потом заплатки к заплаткам и так далее.
пробовал я это дело, замучился, хоть и качать мог безплатно.
Кроме того, как насчёт надёжности этого встроеного брандмаура?
Есть там возможность блокировать конкретные приложения и процессы.
А то вед кроме атак, многие программы лезут в инет, и посылают на разные
адреса всякие интересные данные, не говоря уж о виндовс.
Хотя может надёжность встроенного и довольно высока, я не проверял.

   2006-05-05 19:11:44 (#545671)

[JFWRus] Re[5]: jaws тормозит с деревьями outpost

Здравствуйте!
Так чем же всё-таки фоновый режим оутпоста отличается от обычного, может
кто знает?

   2006-05-05 09:49:24 (#545465)

[JFWRus] Re[6]: jaws тормозит с деревьями

Здравствуйте!
А как его перевесить в автозагрузку.
Кстати, я заметил, что если ставить джавз в автозапуск, то работатет он
как-то глючно:
плохо четает менюшки елементы управления, не читает заголовки око, и
вообще притормаживает, если закрыть и запустить заново, всё нормально,
можно ли это как-то подправить, чтоб и автозапуск был, и работал джавз
нормально?

   2006-05-05 09:46:49 (#545464)

[JFWRus] Re: батник запуска

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

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

Запуск с приоритетом чуть выше низкого, что позволяет довольно комфортно
работать, заметно комфортнее чем с низким приоритетом по ключику /LOW.
Другой полезной нагрузки в нём - нет.

До свидания.

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

   2006-05-05 00:26:39 (#545382)

[JFWRus] Re[13]: Как обойтись без написания скриптов.

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

> NewTextEvent. Насколько мне известно, она срабатывает всегда, когда
> на экране появляется новый текст. В таком случае вопрос - срабатывает
> ли она, если текст не изменился, но поменял цвет, если текст на экране

Надо экспериментировать, поскольку из описания непонятно, как обрабатывается
данный случай. По логике должна бы срабатывать, поскольку смена цвета текста
в окошках делается путём вывода того же текста новым цветом поверх старого
при помощи, например, функции ExtTextOut входящей в Windows GDI. Но
учитывая, что логика программистов из фирмы производителя, по моему опыту
заметно может отличаться от общепринятой, не в лучшую сторону нужно это
проверять.

> не изменился, но фокус перешёл с одного элемента на другой?

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

> По итогам прошлого обсуждения я пришёл к выводу, что придётся писать
> отдельный скрипт на каждую команду перемещения - и выделения - пробел,
> инсерт, стрелки, end/home, pgup/pgdn и т.д. Меня эта перспектива
> как-то не очень прельщает. Кроме того, я подозреваю, что указанную

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

> проблему выделения можно решить одной лишь функцией NewTextEvent. Тем

Похоже, что да, можно.

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

Далее идёт подстрочник описания функции NewTextEvent под каждой строкой
английского текста.

Function: NewTextEvent
Функция: NewTextEvent

Description
Описание

When this function is called, it receives information pertaining to the
newly written text. If the text was written in a frame, then the text is
spoken
Когда эта функция вызывается, она получает информацию относящуюся к вновь
написанному тексту. Если текст пишется внутри фрейма, то он проговаривается
according to the frame's echo setting. Otherwise the text is sent to
SayHighlightedText() or SayNonHighlightedText. For a list of parameters
received by
в соответствии с установкой эха фрейма. Иначе текст отсылается функциям
SayHighlightedText() или SayNonHighlightedText. Для списка параметров,
полученных этой функцией
NewTextEvent and their descriptions, look at the Existing Parameters List
box on the Parameters page.
и их описания посмотрите список существующихт параметров на странице
параметров.
Returns
Возвращаемое значение

Type: Void
Тип: пустой

Parameters
Параметры

Param 1:

Type: Handle
Тип: Управляющая ссылка.

Description: Handle of the window containing the text that was written.
Описание: Управляющая ссылка на окно содержащее выведенный текст.

Include: Required
Включение: Требуется.

Param 2:

Type: String
Тип: Строка.

Description: String containing the text that was written.
Описание: Строка, содержащая текст, который был написан.

Include: Required
Включение: требуется.

Param 3:

Type: Int
Тип: целое

Description: The attributes of the text that was written.
Описание: Аттрибуты текста, который был написан.

Include: Required
Включение: требуется.

Param 4:

Type: Int
Тип: целое.

Description: The foreground color of the text that was written.
Описание: цвет текста, который был написан.

Include: Required
Включение: требуется.

Param 5:

Type: Int
Тип: целое.

Description: The background color of the text that was written.
Описание: цвет фона текста, который был написан.

Include: Required
Включение: требуется.

Param 6:

Type: Int
Тип: целое.

Description: The echo setting associated with this text.
Описание: установка эха ассоциированная с этим текстом.

Include: Required
Включение: требуется.

Param 7:

Type: String
Тип: строка.

Description: The name of the frame containing the newly written text if
applicable.
Описание: имя фрейма, содержащенго выведенный текст, если приложено.

Include: Required
Включение: требуется.

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

> В общем, ниже приведу те несколько скриптов из моего файла скриптов
> для Total Comander'а, которые относятся к данной проблеме.
> Include "HjGlobal.jsh"

[...скрипты поскипаны...]
> EndScript

В общем возможная реализация, хотя я бы упростил их по своей лени, используя
PerformScript. Я в общем-то так и не понял в чём проблема-то? Вроде всё
должно работать, чего не так-то?

До свидания.

***
Это сообщение No3783
было разослано для 309 участников дискуссионного листа
[JFWRus] Re[13]: Как обойтись без написания скриптов.

   2006-05-05 00:19:32 (#545381)