Библиотека knigago >> Компьютеры: Разработка ПО >> Программирование: прочее >> Скрипты для Virgo


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 502, книга: Игрок DC: Крутой легавый (СИ)
автор: (Alex31)

После появления клона героя читать дальше бессмысленно. Впрочем этого не надо было делать с самого начала. Не тратьте время на сношание ваших мозгов.

СЛУЧАЙНАЯ КНИГА

Baum Retec AG - Скрипты для Virgo

Скрипты для Virgo
Книга - Скрипты для Virgo.   Baum Retec AG  - прочитать полностью в библиотеке КнигаГо
Название:
Скрипты для Virgo
Baum Retec AG

Жанр:

Самиздат, сетевая литература, Литература ХXI века (эпоха Глобализации экономики), Программирование: прочее, Для людей с ограниченными возможностями

Изадано в серии:

неизвестно

Издательство:

Www.integr.org

Год издания:

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Скрипты для Virgo"

В разработке рассматривается язык скриптов для программы экранного доступа* (Запрещенная организация в РФ) Virgo.

Программа Virgo применяется для пользования компьютером людьми, имеющими ограничения по зрению (незрячими).

Программа Virgo устроена таким образом, что может работать с любым приложением, удовлетворяющим стандартам Windows, без написания специальных скриптов. Однако многие программисты не обращают внимания на эти стандарты и создают свои собственные правила написания программ. Они программируют, например, кнопку, используя элемент «окно». Для зрячих людей это окно выглядит на экране как кнопка, поэтому их не волнует, какой это элемент. Однако на брайлевский дисплей и синтезатор речи выводится элемент «окно», и слепой пользователь думает, что это окно, поэтому ему и в голову не придет нажать на него, как на кнопку. В этом случае скрипт изменяет имя элемента «окно» на имя «кнопка», и тогда слепой пользователь знает, что с этим делать.

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

Скрипты позволяют также получить доступ к внутренним функциям многих стандартных приложений, таких, например, как Word или Excel.

Имеется различие между скриптами Windows и скриптами Virgo.

В то время как скрипты Windows используются для создания элементов Windows на экране, например, диалоговых окон, скрипты Virgo нужны для влияния на существующие элементы на экране (например, для изменения их имен или порядка отображения на брайлевском дисплее). Это необходимо для того, чтобы объяснить слепому пользователю программные ситуации или правильно показать элементы, находящиеся на экране. Примером этого может служить диалоговое окно в Word 2000, которое появляется, когда Вы открываете файл. Курсор стоит в строке редактирования имени файла. Имя строки «Имя файла», однако, оно написано выше строки редактирования, в результате чего слепой пользователь нашел бы только пустую строку с курсором без понимания значения этой строки. Поэтому скрипт изменяет представление, и оба поля отображаются на брайлевской строке в горизонтальном порядке: сначала «Имя файла», затем пустое пространство для ввода имени файла.

Читаем онлайн "Скрипты для Virgo". [Страница - 10]

Long
Proc.HotkeysActive
Цифровой блок клавиатуры включен.

4.2.6. Property HotkeyState

Property HotkeyState As Long
Proc.HotkeyState
Сообщает состояние цифрового блока клавиатуры.

4.2.7. Property Key_LS_Down

Property Key_LS_Down As Boolean
Proc. Key_LS_Down
Нажата клавиша «Левый Shift» (True или False).

4.2.8. Property Key_LC_Down

Property Key_LC_Down As Boolean
Proc.Key_LC_Down
Нажата клавиша «Левый Ctrl» (True или False).

4.2.9. Property Key_LA_Down

Property Key_LA_Down As Boolean
Proc.Key_ LA _Down
Нажата клавиша «Левый Alt» (True или False).

4.2.10. Property FgWinTitle

Property FgWinTitle As String
Proc.FgWinTitle
Возвращает заголовок окна.
Пример:
Proc.BrailleOut Proc.FgWinTitle 'Выдает заголовок окна на брайлевскую строку.


4.2.11. Моделирование команд Virgo

Чтобы в скрипте была выполнена команда Virgo, нужно добавить в подпрограмму или функцию скрипта следующую строку:
Proc.AddtoCmdQueue "VirgoCmd"
Где "VirgoCmd" – это команды Virgo, которые можно найти в файле Virgo40\lng\1049\cmdnames.ini или в меню «Назначение клавиш» диалога конфигурации Virgo.

Например,
Proc.AddToCmdQueue "SIMKEYUP" ' курсор вверх
Proc.AddToCmdQueue "SIMKEYRIGHT" ' курсор вправо
Proc.AddToCmdQueue "READDN" ' начать непрерывное чтение


5. Некоторые примеры скриптов
5.1. Общие замечания по примерам

Тестовая программа Bsp1.exe, реализующая примеры, приведенные ниже, находится в папке Bsp1. После стандартной установки Virgo эта папка должна быть в
c:\Program Files\Virgo40\doc\ru - для русского языка, En - для английского языка, De – для немецкого языка и т.д.
В папке вместе с программой, реализующей примеры, Вы также найдете готовый скрипт для этой программы.

5.2. Пример 1

Тема:
- Назначить Controltype
- Синхронизировать события
- Найти в ASE-совокупности некоторый цвет

Запустите программу BSP1.exe.
Двигайтесь с помощью клавиши табуляции по окну программы. Вы найдете кнопку «Ende», нажав на которую Вы можете закрывать программу.
Помимо этого Вы также попадете на элемент Windows, который Virgo не может распознать.
Теперь щелкните один раз на «001 Zeile», и включите Мастер Экрана. С помощью Мастера Экрана Вы, конечно, выясните, что имеете здесь список, который не отслеживается программой Virgo.
Первая задача для нашего скрипта будет состоять в том, чтобы заставить Virgo отслеживать этот список. Поместите курсор перед «Z» в строке «001 Zeile» и введите F, чтобы отобразить цвет. Virgo отобразит цвет «0», а когда Вы переместите курсор на одну строку вниз, Virgo сообщит «FFFF». Следовательно, в скрипте мы должны будем найти цвет «0» и переместить курсор в эту точку. Для той цели мы используем событие OnSystemIdle.

Public Sub OnSystemIdle (E)
Dim C
' Переменная совокупности
E = True
' чтобы снова вызывать OnSystemIdle
Set C = Proc.Last_M_Event.GetASETextCollForMO
' Переменная С связывается с ASE- совокупностью
ShowASEs(С)
' Вызов самодельной подпрограммы, которая содержит ASE- совокупность как параметр
End Sub

Public Sub ShowASEs(ASECol)
Dim I, C, ASE
For I = 1 TO ASECol.ASECount ' цикл по элементам ASE- совокупности
Set ASE = ASECol.GetASEFromIndex(I)
C = Proc.GetPixelColor(ASE.VisibleLocation.Left - 1, ASE.VisibleLocation.Top +1)
' Цвет около левого верхнего угла ASE
If Hex(C) = "0" Then
' если найден цвет фокуса
Proc.AddEvent "F", ASE.VisibleLocation.Left, ASE.VisibleLocation.Top +1, _
ASE.VisibleLocation.Right, ASE.VisibleLocation.Bottom - 1
' Моделирует синхронизацию фокуса с соответствующими координатами
End If
Next
End Sub

Введите эти подпрограммы в ваш скрипт и Вы увидите, что Virgo будет отслеживать список.
Однако Virgo не показывает нам, что это список.
Для той цели мы должны в подпрограмме OnClass определить, что тип элемента с именем класса «MSFlexGridWndClass» должн быть отображен как «LST» (список).
Но как мы можем узнать имя класса этого элемента?
Просто поместите фокус на список, и нажмите N0//. Вы увидите имя класса: «MSFlexGridWndClass».

Public Sub OnClass(E)
IF E.U_M_ClsN = "MSFlexGridWndClass" THEN
', если имя класса = " MSFlexGridWndClass "
E.U_M_Role = "LST"
' присвоить этому элементу тип "LST" (список)
END IF
End Sub
--">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.