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


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

# 1596, книга: Город
автор: Пабло Неруда

Сборник стихов Пабло Неруды "Город" представляет собой захватывающую оду и одновременно резкую критику городской жизни. Неруда, мастер слова, исследует запутанную и противоречивую сущность городов, раскрывая их красоту, боль и скрытый потенциал. Через яркие образы и насыщенную метафоричность Неруда рисует картину города как места бесконечных возможностей, где процветают творчество и человеческое взаимодействие. Он воспевает его как "город-океан" с бурлящими улицами и...

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". [Страница - 3]


БЛОК_ОПЕРАТОРОВ
Loop Until УСЛОВИЕ

Предложение While (Пока) противоположно предложению Until (До). При использовании While выполнение БЛОКА_ОПЕРАТОРОВ цикла продолжается до тех пор, пока УСЛОВИЕ истинно (имеет значение True).
При использовании Until выполнение БЛОКА_ОПЕРАТОРОВ цикла прекращается, как только УСЛОВИЕ принимает значение True. Для выхода из цикла прежде, чем будет достигнуто предложение Loop, можно поместить одну или несколько инструкций Exit Do внутри тела цикла, включив их в такие управляющие структуры, как If…Then…Else .
Примеры:
Do While HWnd 0
CP = CP & System.GetClassName(HWnd) & "/"
HWnd =System.GetParent(HWnd)
Loop

Do While ChildHWnd 0
ClassName = System.GetClassName(ChildHWnd)
If ClassName = "msctls_statusbar32" Then
Set WindowRect = System.GetWindowRect(ChildHWnd)
S = Proc.GetString(WindowRect.Left, WindowRect.Top, _
WindowRect.Right, WindowRect.Bottom)
Exit Do
End If
ChildHWnd = System.GetWindow(ChildHWnd, GW_HWNDNEXT)
Loop

1.4.10. Оператор цикла With

Этот оператор позволяет выполнить БЛОК_ОПЕРАТОРОВ, не повторяя имя указанного объекта в ссылках на объекты, свойства и методы.
With ОБЪЕКТ
БЛОК_ОПЕРАТОРОВ
End With

Примеры:
With System.GetAppObject(3).ActiveCell.Font
If .Bold Then
A = LngCon("Bold")
End If
If .Italic Then
A = Trim(A) & " " & LngCon("Italic") & " "
End If
End With

With ASE.VisibleLocation
GriDL = .Left
GridT = .Top
GridR = .Right
GridB = .Bottom
End With

1.4.11. Оператор обработки ошибок On Error

Этот оператор используется для включения режима перехвата ошибок, передачи управления в блок обработки ошибок или для того, чтобы игнорировать некоторые ошибки или совсем отключить режим перехвата ошибок.
On Error GoTo ИДЕНТИФИКАТОР_СТРОКИ
Используется для передачи управления в блок обработки ошибок, который вы можете создать в скрипте. ИДЕНТИФИКАТОР_СТРОКИ может быть либо номером строки, либо меткой.
On Error Resume Next
Используется для перехвата ошибок без передачи управления в блок обработки ошибок. Выполнение скрипта продолжается с оператора, непосредственно следующего за тем, который вызвал ошибку.
On Error GoTo 0
Используется для отключения режима перехвата ошибок.

1.4.12. Подпрограммы и функции

При написании скриптов используются два типа процедур – подпрограммы (процедуры Sub) и функции (процедуры Function). Процедуры обоих типов могут иметь аргументы – переменные, с помощью которых передаются значения, определяющие работу процедуры при конкретном вызове. Функция может возвратить единственное значение, а подпрограмма значений не возвращает.
Подпрограмма записывается следующим образом:
Sub ИМЯ_ПОДПРОГРАММЫ (АРГУМЕНТЫ)
ПОСЛЕДОВАТЕЛЬНОСТЬ_ОПЕРАТОРОВ_1
Exit Sub
ПОСЛЕДОВАТЕЛЬНОСТЬ_ОПЕРАТОРОВ_2
End Sub

Функция записывается следующим образом:
Function ИМЯ_ФУНКЦИИ (АРГУМЕНТЫ)
ПОСЛЕДОВАТЕЛЬНОСТЬ_ОПЕРАТОРОВ_1
Exit Function
ПОСЛЕДОВАТЕЛЬНОСТЬ_ОПЕРАТОРОВ_2
ИМЯ_ФУНКЦИИ=ЗНАЧЕНИЕ
End Function

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


1.5. Мой первый скрипт

Задача:
При нажатии команды N061 в программе Wordpad, текущее время должно быть отображено на брайлевской строке и произнесено с помощью синтезатора речи.

Необходимо выполнить следующие шаги:

1. Запустите программу Wordpad.
2. Наберите на цифровом блоке команду N0/2 (уровень «слэш», команда «2»), чтобы загрузить скрипт для текущей программы (Wordpad) в стандартном редакторе скриптов. Если для этой программы не существует скрипта, Virgo загружает стандартный скрипт generic.vbs и переименовывает его в Wordpad.vbs.
3. Теперь добавьте в скрипт следующую функцию:

Public Function OnCmd (CMD)
If CMD = "L6N1" Then ' Если набрана команда N061
CMD = "" ' Очистка
Proc.BrailleOut Time ' Вывод текущего времени на брайлевскую строку
Proc.SpeechOut Time ' Вывод текущего времени на синтезатор речи
End If
End Function

4. Сохраните изменения.

Вернитесь с помощью Alt-Tab в Wordpad и нажмите N061.
Поздравляем Вас с Вашим первым скриптом!

1.6. Скрипт default.vbs

В папке «Scripts» находится также особый скрипт default.vbs, используемый Virgo по умолчанию. Наличие этого скрипта обязательно, т.к. без него невозможна нормальная работа Virgo.

1.7. Важные Virgo-Windows-компоненты

1.7.1. SDDP

Screen drawing data pump (sddp)

Этот компонент дает возможность Virgo наблюдать за экранными операциями.
SDDP связывается с системой на уровне драйвера графической карты. Он получает --">

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


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