Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Все, что вы хотели знать о написании скриптов для JFW, 11 страница



определенных функций сравнения строк, таких как StringContains (). Надо

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

ваш код может быть лично вам абсолютно понятен, другие могут вообще

ничего в нем не понять, поскольку они не зналиЯ, что вы имели в виду и их

работа, возможно, организована не так, как у вас. Поэтому мы хотели бы

порекомендовать несколько правил правой руки, которые облегчат другим

понимание вашего кода и помогут вам понять скрипты, написанные другими.

 

1. Отдельные скрипты всегда должны разделяться пустыми строками.

2. Набирайте с отступом любой раздел кода, который является

служебным по отношению к тому, который над ним и к тому, который

под ним. Это помогает пользователю разобраться в логике скрипта.

Рассмотрим следующий скрипт:

 

Script CheckVerbosity()

If GetVerbosity() == BEGINNER Then

SayString("Beginning verbosity is active.")

Else

SayString("Beginning verbosity is not active.")

EndIf

EndScript

 

Обратите внимание, что If, Else и Endif находятся на одном

уровне отступа, а утверждения внутри каждого раздела отодвинуты

дальше. Каков должен быть отступ, это дело ваше, но мы

рекомендуем примерно 5 символов. Использование табуляции для

создания отступа работает лучше, чем пробелы, поскольку отступ

будет постоянным, даже если вы работаете с пропорциональными

шрифтами.

3. Каждая функция должна быть на отдельной строке.

4. Вот несколько рекомендаций по поводу заглавных букв:

А. Начинайте каждое утверждение с большой буквы;

Б. Многие стандартные имена функций Jaws являются комбинациями

двух или более слов, которые описывают функцию. Первая буква в

каждом слове в имени функции начинается с заглавной буквы. В

предыдущем примере мы использовали функции GetVerbosity и

SayString. Это помогает правильно их озвучивать. Когда вы

создаете переменные и функции, вы должны использовать

аналогичное соглашение.

5. Структура файла скриптов также является важной. А. Начинайте

каждый файл с комментария, в котором описано, что содержит

данный файл и как им полагается пользоваться. Перечислите всю

конкретную информацию, которая может понадобиться тому, кто

будет читать этот файл. Вы также могли бы включить список всех

переменных и как они используются. Также важно включать дату и

природу любых изменений и улучшений, которые были внесены со

времени первого написания файла. Теперь любой может прочитать



первые несколько строк вашего файла и все о нем узнать

Б. Следующим разделом должны быть утверждения включения (Include

statements).

В. В следующем разделе поместите все объявления глобальных

переменных.

Г. В следующем разделе поместите объявления констант.

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

AutoStartEvent, если вы намерены ее использовать. Любой код,

ассоциированный с этой функцией, автоматически начинает

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

используется для озвучивания каких-либо ознакомительных

сообщений, или для инициализации каких-нибудь глобальных

переменных, если они имеют ненулевое значение. Например, в файле

скриптов по умолчанию стартовые сообщения Jaws о том, как

получить помощь, находятся в этой функции.

Е. Следующим скриптом должен быть скрипт, который называется

ScriptFileName, скрипт, прикрепленный к клавише Insert+Q. Этот

скрипт будет сообщать имя текущего активного файла скриптов и

приложения. Пример того, как нужно формулировать этот скрипт, вы

можете найти в файле default.jss. Вы должны заменить данные,

которые передаются в функцию ScriptAndAppNames именем вашего

приложения.

Ж. Далее следуют скрипты и определяемые пользователем функции.

Постарайтесь соблюдать логический порядок, так чтобы всякий,

читающий ваш файл скриптов смог его понять. Например, если у вас

есть скрипт, который выполняет какое-либо действие, и другой,

выполняющий противоположное действие, поместите их один за

другим. Помещайте каждую функцию над первым скриптом или

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

к ошибке.

1. Используйте комментарии, комментарии и еще раз комментарии!

Комментарии предоставляют план местности для всякого, кто будет

работать с вашим кодом. Помещайте строку с комментарием сразу же

после начальной строки каждого скрипта или функции, и в этом

комментарии описывайте назначение скрипта или функции. Помещайте

комментарии внутри кода, описывая любое сложное утверждение,

которое может оказаться непонятным интуитивно. Поставьте себя на

место того, кто будет просматривать ваш код и предоставьте ему

необходимую помощь. Вы даже можете помочь сами себе, поскольку

можете забыть назначение конкретного раздела.

 

Скомпилированные файлы

 

Когда вы закончите писать свой код, его нужно скомпилировать,

чтобы Jaws мог его использовать. Вашему файлу будет присвоено то

же имя, что и приложение, и расширение.JSB, когда вы его

скомпилируете, так что Jaws будет знать, когда его загружать.

Процесс компиляции автоматически выполняется диспетчером

скриптов, когда вы выбираете Save (Сохранить) из меню Файл.

Исходный файл с расширением.JSS сохраняется, и в это же время

создается и сохраняется файл с расширением.JSB. Эта компиляция

включает все файлы заголовков и сообщений, которые были включены

соответствующими утверждениями в начале.JSS файла.

 

Файлы включения

 

Как мы уже говорили прежде, компилятор скриптов Jaws

обеспечивает включение других файлов в наш файл скриптов во

время компиляции. Когда компиляция будет завершена, все, что

было во вкоюченных файлах, стало частью.JSB файла и будет

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

два типа файлов включения:

 

Файлы заголовков обозначаются расширением.JSH и содержат или

операторы переменных, или операторы констант.

Файлы сообщений обозначаются расширением.JSM и содержат

сообщения вместе с присвоенными им номерами.

 

Всегда группируйте свои утверждения включения где-нибудь поближе

к началу файла скриптов.

 

Помещение глобальных переменных и констант в отдельный файл

заголовков, а сообщений в отдельный файл сообщений помогает

лучше организовать работу. С Jaws поставляются два файла,

которые предоставляют все стандартные глобальные переменные и

константы. Они называются HJGLOBAL.JSH и HJCONST.JSH. Они

сделаны с таким расчетом, чтобы разработчики могли использовать

любую стандартную переменную или константу, просто включив их в

свои собственные файлы скриптов. Файлы сообщений также сделаны в

виде файлов включения. Стандартным файлом сообщений является

DEFAULT.JSM. Использовать файлы сообщений в ваших скриптах

необязательно. Henter-Joyce поместил сообщения в отдельном файле

для более простого перевода на другие языки. Если вы намерены

писать скрипты для общего пользования, было бы неплохо соблюдать

это соглашение. Если вы все же используете файл сообщений, он

должен быть назван также, как4 и файл скриптов, чтобы вы могли

легко его найти.

 

Использование переменных

 

Наш предыдущий раздел о переменных показал, какого рода

переменные допускаются в языке Jaws и как их объявлять. В этом

разделе мы обсудим, когда ими пользоваться, порекомендуем

некоторые соглашения об именах и покажем, где их нужно помещать

в вашем файле скриптов.

 

Соглашения об именах

 

Это щекотливый вопрос. У каждого есть свое мнение, и эти мнения

часто конфликтуют. Независимо от того, какого соглашения об

именах вы придерживаетесь, использование такового соглашения

предотвратит напрасную трату времени и раздражающие ошибки.

Принимая стандарты и придерживаясь их вам гарантировано, что вы

сможете вернуться к этому коду позже и с легкостью

модифицировать или отладить его. Мы среди инвалидов проводим

много времени, обсуждая стандарты. У вас есть шанс внести свою

лепту. Давайте рассмотрим некоторые рекомендации о создании

вашего стандарта. Что должно быть в имени? Очень многое. Имеет

смысл выбирать описательное имя. Самое простое - назвать свою

переменную, сложив вместе описательные слова. Постарайтесь не

делать имя слишком длинным, поскольку вам придется набирать эти

имена, и иногда довольно много. Если вы называете глобальную

переменную,начните ее имя с G_ или Global. Вы также должны

начинать с заглавной буквы каждое слово, когда будете соединять

их вместе, чтобы Jaws смог правильно прочитать эти слова,

предполагая, что опция Mixed Case (Смешанный регистр) включена в

диспетчере конфигурации. Вы могли бы продолжить это и

использовать Int, Str, Obj, и HND в именах, чтобы пометить

переменные String, Object, Integer и Handle. Таким образом, G_Int_VariableName

будет глобальной переменной типа Integer, а Str_VariableName

будет локальной переменной типа String.

 

Где объявлять переменную

 

Глобальные переменные, которые используются в нескольких

скриптах в вашем файле, нужно объявлять в начале файла, сразу же

после операторов Include. Вы показываете начало объявления

глобальных переменных, поместив на отдельной строке слово

"Globals". Затем вы помещаете каждое объявление на отдельной

строке. Сразу же после переменной ставится запятая, за

исключением последней переменной в списке. В конце объявления

добавьте комментарий, поясняющий, как используется эта

переменная. Позже вы можете обратиться к этой области файла за

информацией о любой переменной, с которой вы столкнулись.

 

Единственный случай, когда переменная объявляется внутри

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

локальная переменная испоьзуется только в скрипте, где она

определена, тогда как глобальная переменная может быть

использована в любом скрипте в файле. Локальную переменную

следует объявлять на первой строке скрипта, сразу же после

начального утверждения скрипта.

 

Использование глобальных переменных

 

Помните, что переменные, которые вы намерены использовать в

нескольких скриптах, объявляются как глобальные. Кроме

глобальных переменных, которые вы определили для своего

собственного использования, существует набор стандартных

глобальных переменных Jaws, что очень полезно для создания

скриптов. Эти переменные содержатся в файле HJGLOBAL.JSH, и вы

можете ими пользоваться, поставив оператор включения для этого

файла в ваш собственный файл скриптов. Потратьте некоторое время

на просмотр глобальных переменных, определенных в HJGLOBAL.JSH,

поскольку они часто используются в скриптах по умолчанию. Там

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

значения, которые хранятся в этих переменных, часто

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

HJGLOBAL.JSH в свой файл скриптов, вы можете вызывать эти

переменные, чтобы получать необходимую информацию по мере

надобности. Например, проверка содержимого переменной

GlobalMenuMode сообщит вам, находитесь ли вы на линейке меню или

в меню. Здесь мы просто хотим сказать, что переменные,

объявленные в файле HJGLOBAL.JSH постоянно используются

скриптами по умолчанию в Jaws, и если вы их выучите и поймете,

как ими пользоваться и будете включать их в свои собственные

файлы скриптов для приложений, вы сможете вызывать значения,

которые они содержат, во время выполнения своих собственных

скриптов.

 

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

переменную и присвоив ей значение в одном из ваших приложений,

это значение сохраняется в памяти, даже после того, как вы

закроете это приложение. Если вы потом снова откроете

приложение, глобальные переменные, которые вы определили,

по-прежнему будут иметь те же значения. Единственный способ, с

помощью которого можно по-настоящему очистить эти глобальные

переменные, состоит в том, чтобы закрыть, а потом снова

загрузить Jaws.

 

Использование констант

 

Помните, что константа - это просто метка, представляющая число

или строку символов, так чтобы код скрипта было легче читать и

понимать. Вам следует включать файл со стандартными константами,

HJCONST.JSH, в каждый свой файл скриптов, и использовать

имеющиеся там константы всякий раз, когда только можно. Давайте

потратим немного времени, чтобы просмотреть эти константы. Файл

разбит на следующие группы:

 

Коды типов окна и коды подтипов - эти коды закреплены за типами

окон. Помните, что даже орган самого нижнего уровня

квалифицируется как окно. Следовательно, каждое окно будет

возвращать код типа, если его запросить. Кнопка будет возвращать

код типа 1, или имя своей константы, WT_BUTTON. Существуют две

функции для получения такой информации, GetWindowTypeCode и

GetWindowSubtypeCode.

 

Рассмотрим следующее утверждение If-Then из скрипта

PriorCharacter в DEFAULT.JSS. Это скрипт, который отрабатывает,

когда нажимается стрелка влево. Нога Else этого оператора If

работает, когда нет видимого PC курсора. Эта ветка предназначена

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

каждого раздела кода мы добавили комментарии, где описано его

назначение.

 

If CaretVisible() Then; Если PC курсор виден e

SayCharacter(); Сказать символ, на котором он находится

Return; Завершить работу скрипта

Else; Если PC курсор не виден

Let TheTypeCode = GetWindowSubtypeCode (GetCurrentWindow())

; установить переменную Integer для кода типа текущего окна

If (TheTypeCode == WT_MENU) Then; Если текущее окно меню u

SayString (msg3);"Menu"

SayWindow (GetCurrentWindow(), READ_HIGHLIGHTED); Озвучить текущий пункт

Return; Завершить работу скрипта

EndIf

EndIf

 

А происходит следующее: скрипт решает, что озвучивать, в

зависимости от кода подтипа окна, в котором мы находимся. Из

этого с очевидностью следует, что этот набор констант и

ассоциированные с ними числовые коды является очень важным для

пользователей Jaws, поскольку именно отсюда мы узнаем, с каким

типом органа управления мы имеем дело. Вы можете пожелать

просмотреть эту группу констант в HJCONST.JSH, они все

начинаются с WT_ (Window Type).

 

Идентификаторы атрибутов текста - используются для сравнения

текстовых атрибутов. Все они начинаются с ATTRIB_ (Attribute).

Константы общего назначения - сюда входят типы поиска строк и

графики, которые начинаются с S_, True, False, On и Off.

Режимы вывода - они еще не реализованы.

Режимы брайля и типы маркировки - все они начинаются с BRL_.

Настройки подробности - сюда входят новичок, середнячок и

продвинутый.

Общие - сюда входят тесты на активность и успех, курсоры,

различные настройки чтения, и установки опций.

Типы курсоров - это для различных форм указателя мыши. Например,

если вы получаете код окна CT_Waitas, то видны песочные часы.

Это еще не реализовано для Windows 95.

Разное - и наконец, мы имеем константы, используемые для статуса

меню, операционной системы и текущего файла по умолчанию.

 

Все категории констант, описанных выше, как уже было указано,

относятся к файлу заголовков HJCONST.JSH, который поставляется с

Jaws. Нам не хотелось бы, чтобы у вас создавалось впечатление,

что это единственные доступные вам константы. Конечно, вы можете

и должны создавать свои собственные константы, или объявляя их

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

файл заголовков. Использование констант, где это возможно,

облегчает понимание файлов скриптов и делает возможным изменение

значений константы в любом месте файла, просто изменив одно

объявление. Это гораздо легче, чем изменять значение в каждом

месте, где оно появляется в файле.

 

Домашнее задание # 8

 

Предположим, вы хотите написать скрипт для приложения, которое называется

SPAMKILLER.EXE. Вы будете использовать файл заголовков, файл сообщений,

и два файла с глобальными переменными и константами HJ. Также вам

понадобится определить три дополнительных глобальных переменных, которые

будут называться GlobalSpamInteger, GlobalSpamString и GlobalSpamHandle и

три дополнительных константы, заданных как SpammerOne =1, SpammerTwo =

2, и SpammerThree = 3 внутри файла скрипта. Покажите начало файла

скрипта со всеми утверждениями, которые все это сделают.

 

Использование нескольких функций

 

Иногда нужно связать вместе несколько функций, чтобы достичь цели. Другие

ситуации требуют "вложенных" функций, где одна функция становится

параметром для другой, которая, в свою очередь, является параметром еще

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

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

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

единой цели, а затем мы рассмотрим вложенные функции.

 

Последовательное применение функций

 

Достаточно редко удается решить задачу с помощью одной функции. Обычно

требуется несколько функций в соответствующем порядке. Следующий код

взят из файла скриптов для Visual Basic 4.0, и его задача состоит в том,

чтобы проверить, является ли панель инструментов окном с фокусом, и если

нет, сделать его таковым и поставить Jaws курсор на первый ярлык. Кстати,

мы использовали утилиту Home Row, чтобы узнать класс окна панели

инструментов, палитры инструментов, прежде чем написали этот скрипт.

 

Script GoToToolBox()

; Этот скрипт передает фокус на панель инструментов и помещает Jaws курсор

; на первый инструмент панели инструментов

SayString ("Tool Box"); Пусть пользователь знает, что происходит

While GetScreenEcho()!= 2; Прокручивает через эхо экрана, пока не будет установлено значение "Все"

ToggleScreenEcho (); увеличивает эхо экрана

EndWhile

If GetWindowClass (GetFocus ())!= "ToolsPalette" Then;Если мы уже не на панели инструментов

PCCursor();

{ALT+V}; Меню View

Pause(); Время, чтобы появилось меню

{x};; Выбрать панель инструментов

EndIf

Delay(10); Время, чтобы появилась панель инструментов

RouteJAWSToPC()

JAWSCursor()

JAWSPageUp()

JAWSHome()

PerformScript ({DOWN ARROW}); Обычная стрелка вниз со специальным заданием для панели инструментов

EndScript

 

Сначала мы убеждаемся, что находимся в режиме экрана "Say all".

Затем мы проверяем, не находимся ли мы уже на панели инструментов,

получая класс окна, где находится фокус, и сравнивая его со строкой,

ToolsPalette, которая является известным классом окна для панели

инструментов. (Этот класс окна должен был быть определен в файле

включения для констант для данного файла скриптов). Если мы не находимся

в панели инструментов, мы должны передать фокус этому окну, выполнив

несколько функций, которые могут гарантировать конечный результат.

Мы используем функцию PCCursor, чтобы активизировать PC курсор.

Мы используем симуляцию клавиатуры, чтобы послать в приложение Alt+V.

Появляется меню View. Помните, что все, что находится в фигурных скобках,

передается приложению, как если бы вы набрали это с клавиатуры. Обратите

внимание, что там есть комментарий, чтобы каждый, кто будет читать, знал, в

чем назначение {Alt+V}.

Затем функция Pause дает системе время показать меню, прежде чем мы

продолжим.

Мы используем симуляцию клавиатуры, чтобы послать в приложение X,

которая является клавишей быстрого запуска для пункта меню "Панель

инструментов" (Toolbox). Это тоже прокомментировано.

Затем EndIf завершает нашу If-Then последовательность.

Теперь мы уверены, что панель инструментов открыта и этому окну передан

фокус.

Затем мы активизируем Jaws курсор и устанавливаем его на первую кнопку.

 

Чтобы решить нашу задачу, мы использовали последовательно несколько

функций.

 

Использование вложенных функций

 

А вот пример скрипта с вложенными функциями, где функции служат

параметрами для других функций.

 

Script IsJAWSWindow()

If (GetWindowClass (GetAppMainWindow (GetFocus())) == JFWUI2) Then

SayString (msg113);"This is the JAWS application window"

EndIf

EndScript

 

Мы можем узнать, что класс окна для окна Jaws JFWUI2 перейдя в окно

Jaws и включив функции Home Row. Использование Shift+F2 переведет нас в

родительское окно, а F3 будет прокручиваться через режимы вывода, пока мы

не найдем класс. Затем F1 озвучит класс, который будет JFWUI2. Мы хотим

сравнить наш класс окна с ним, но сначала мы должны убедиться в том, что

наш скрипт ищет в нужном месте. Мы используем функцию GetWindowClass

чтобы запросить класс окна. Ее параметром является ручка окна (Window

Handle), поэтому мы даем ей AppMainWindow, которое является родителем в

текущем приложении. Мы используем это, потому что Jaws является

приложением, и мы хотим проверить класс окна этого приложения.

AppMainWindow требует ручку окна в качестве параметра, поэтому функция

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

GetFocus, которая возвращает ручку окна для окна, которое имеет фокус.

Проще говоря, все обстоит примерно так: получаем класс окна для окна

приложения, которое имеет фокус.

 

Домашнее задание $ 9

 

Давайте еще раз вернемся к диалогу открытия файла в приложении WordPad.

Откройте этот диалог и осмотритесь,. чтобы освежить свою память. Напишите

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

диалоге. Если да, пусть ваш скрипт скажет "В диалоге открытия". Затем

определите, находится ли фокус в окне редактирования имени файла. Если да,

пусть скрипт также скажет "и в поле имени файла". Однако, если фокус

находится на другом элементе управления, пусть скрипт вместо второго

сообщения скажет "но не в поле имени файла". И наконец, если фокус даже

не в окне открытия файла, пусть скрипт скажет "не в окне открытия файла".

Совет: диалог открытия файла - это действительное окно. Вспомните, что это

означает, что это окно, у которого есть заголовок. Используйте этот факт,

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

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

находится ли фокус на поле имени файла. Второй совет: обратите внимание

на функцию GetRealWindow в приложении C.

 

Выбор курсора и манипуляции с ним

 

Прежде, чем вы попытаетесь прочитать что-нибудь на экране с

помощью скрипта, есть смысл просмотреть некоторую информацию о

курсорах, о чем мы уже говорили прежде. Существует три типа

курсора: PC курсор, Jaws курсор и невидимы й курсор. Если вы

редактируете или вводите текст, PC курсор будет находиться там,

где будут появляться символы, которые вы будете набирать. (Эта

форма курсора редактирования или вставки также называется курсор

каретки). Однако, когда вы работаете в меню или клавишей Tab

перемещаетесь по опциям,например по кнопкам в окне диалога, PC

курсор является фокусом. Если вы хотите прочитать другие области

окна или прочитать часть экрана, куда не может попасть PC

курсор, вы можете переключиться на Jaws курсор. Jaws курсор

можно двигать куда угодно в рамках текущего действительного

окна, что делает возможным исследование тех областей экрана,

куда PC курсор попасть не может. Поскольку Jaws курсор всегда

перемещает за собой указатель мыши, указатель мыши также

позиционируется, и им можно щелкнуть в том месте, где находится

Jaws курсор, если вы решили это проделать. Третий вид курсора

называется невидимый курсор, и в одном отношении он похож на

Jaws курсор, поскольку его перемещение ограничено только рамками

действительного окна, но он не имеет видимого воплощения на

экране и он не таскает за собой указатель мыши.

 

Как же нам пользоваться этими курсорами? Было бы непрактичным, а

зачастую и невозможным исследовать экран с помощью PC курсора.

Поэтому, прежде чем прочитать какой-нибудь текст в окне, мы

обычно сначала переключаемся на один из оставшихся курсоров.

Можно использовать как Jaws, так и невидимый курсор, чтобы

выполнять функции чтения, поэтому до некоторой степени это

просто вопрос предпочтения. Однако, если вы намерены щелкнуть

мышью или предпринять другие действия с применением мыши,

необходимо будет воспользоваться Jaws курсором. Поскольку указатель

мыши сопровождает Jaws курсор в его путешествиях, щелкнуть мышью

оказывается очень просто, поскольку она будет уже в нужной

позиции. Если вы не хотите перемещать Jaws курсор с его текущей

позиции, или нигде щелкать не надо, лучшим выбором будет

невидимый курсор. На ум приходит одна конкретная ситуация, когда

вы уж точно не захотите перемещать "Jaws курсор/указатель мыши.

Иногда в приложении Windows информационный текст будет

появляться где-то на экране, обычно в строке состояния, когда

указатель мыши будет находиться в каком-нибудь конкретном месте.

Если вы переместите Jaws курсор чтобы прочитать текст, с ним

переместится и указатель мыши и текст исчезнет. В такой ситуации

чтобы прочитать текст, придется воспользоваться невидимым

курсором.

 

В некоторых случаях необходимо переместить один из курсоров,

например Jaws курсор, даже если вы хотите, чтобы после окончания

работы скрипта он вернулся в первоначльное положение. Для этого

существуют функции сохранения и восстановления, которыми вы

можете воспользоваться, чтобы после окончания скрипта все было

так, как было до начала работы скрипта.

 

Ниже приводится список функций, с помощью которых можно выбирать

курсоры и манипулировать ими.

 

PCCursor() - активизирует PC курсор.

JAWSCursor() - активизирует Jaws курсор.

InvisibleCursor() - активизирует невидимый курсор.

BrailleCursor () - активизирует брайлевский курсор.

RouteBrailleToPc () - перемещает брайлевский курсор к PCC

курсору.

RouteBrailleToJAWS () - перемещает брайлевский курсор к Jaws

курсору.

RouteJAWSToBraille () - перемещает Jaws курсор к брайлевскому

курсору.

RoutePCToBraille () - перемещает PC курсор к брайлевскому

курсору.

RoutePCToJAWS() - перемещает PC курсор к Jaws курсору.

RouteJAWSToPC() - перемещает Jaws курсор к PC курсору.

RouteJAWSTo Invisible() - перемещает Jaws курсор к невидимому

курсору.

RouteInvisibleToPC() - перемещает невидимый курсор к PC курсору.

RouteInvisibleToJAWS() - перемещает невидимый курсор к Jaws

курсору.

SaveCursor() - сохраняет активный курсор и его позицию.

RestoreCursor() - снова активизирует сохраненный курсор и

восстанавливает его первоначальную позицию.

 

Следующая группа функций используется для перемещения курсора.

 

PriorCharacter() - перемещает активный курсор на предыдущий


Дата добавления: 2015-11-04; просмотров: 14 | Нарушение авторских прав







mybiblioteka.su - 2015-2024 год. (0.078 сек.)







<== предыдущая лекция | следующая лекция ==>