Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
всё о скриптах JAWS.docx
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
312.03 Кб
Скачать

IntVar на 1)

Let IntVar = FirstVar * SecondVar

(это устанавливает, что IntVar равняется FirstVar, умноженная на

SecondVar)

SayString (MyConstant + "YourConstant)

(это озвучит содержание двух констант, Myconstant и

YourConstant, как если бы это было одно сообщение).

Логические операторы

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

другими переменными или константами. Нам часто бывает необходимо

знать, имеет ли объект то же значение, меньшее значение или

большее значение, чем другой объект. Иногда необходимо сравнить

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

Логические операторы обычно используются внутри циклов if-then и

While, чтобы решить, являются ли условия, необходимые для

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

список логических операторов Jaws.

== - два знака равенства подряд спрашивают, является ли первое

условие равным второму условию. То есть, является ли выражение

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

Например, выражение (A == B) спрашивает, является ли A равным B.

!=- восклицательный знак и знак равенства - спрашивает, является

ли первое условие неравным второму условию. То есть, является ли

выражение слева от восклицательного знака и знака равенства

отличным от выражения справа. Например, выражение (A != B)

является истинным, если A не равно B.

< - знак "меньше" спрашивает, является ли первое условие меньше

второго условия. То есть, является ли выражение слева от знака <

меньше, чем выражение справа. Таким образом, выражение (A < B)

является истинным, если если A меньше B.

<= - знак "меньше", после которого следует знак равенства,

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

второму условию. То есть, является ли выражение слева от <=

меньшим или равным выражению справа. Таким образом, выражение (A

<= B) будет истинным, если A меньше или равно B.

> - знак "Больше" - спрашивает, является ли первое условие

больше второго условия. То есть, является ли выражение слева от

знака > больше, чем выражение справа. Таким образом, выражение

(A > B_ является истинным, если A больше B.

>= - знак "Больше", после которого следует знак равенства,

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

второму условию. То есть, является ли выражение слева от >=

большим либо равным выражению справа. Таким образом, выражение

(A >= B) будет истинным, если A будет больше или равно B.

&& - этот оператор помещается между двумя логическими

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

логических операторов, как те, которые были описаны выше. Он

спрашивает, является ли первое условие верным "и кроме того"

является ли верным второе условие. Выражение в целом оценивается

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

обеим сторонам оператора && являются истинными. Таким образом,

в выражении (A == B) && (C != D), значение истины возвращается

только в том случае, если A равно B, а C не равно D.

|| - этот оператор помещается между двумя логическими

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

операторов, таких, как те, которые были перечислены выше. Он

спрашивает, является ли истинным либо первое, либо второе

условие. Выражение в целом оценивается как истинное, если любое

выражение на любой стороне от оператора || является истинным.

Таким образом, в примере (A == B) || (C == D), значение истины

возвращается, либо если A равно B, либо если C равно D. Конечно,

истина будет возвращена и в том случае, если верными будут оба

выражения.

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

некоторые программисты, когда используют логические операторы. Иногда

Иногда вы можете увидеть утверждение, которое выглядит так, как

утверждение, помещенное ниже.

!Выражение ==True

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

внимание, что в начале слова Выражение имеется восклицательный знак. По

сути дела этот восклицательный знак означает, что мы хотим использовать

противоположное выражение, и что следовательно вышеприведенное

выражение будет эквивалентно выражению Выражение == False. Таким

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

утверждения.

Поразрядные операторы

Поразрядные операторы - это инструмент, который позволяет нам сравнить

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

сравнить два фрагмента информации байт за байтом, а не значения в целом.

Все мы знаем, что компьютерная информация хранится в цифровой форме,

как ряд нулей и единиц. ЭтО, конечно, верно для констант и переменных.

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

Attrib_highlight. Если вы заглянете в файл HJCONST.JSH, то вы обнаружите,

что эта константа имеет значение 64. Что же значит это 64? Очевидно, что

64 - это десятичное число, а не бинарное число. Мы можем это утверждать,

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

может быть двоичным числом. Когда мы переведем 64 в двоичную систему

счисления, мы получим число 01000000. (Обсуждение двоичной арифметики

не входит в компетенцию данного руководства, поэтому если вы не знаете,

как было проведено преобразование, просто примите это на веру).

HJCONST.JSH также сообщает нам, что атрибут жирного шрифта, Attrib_Bold,

имеет значение 2 или 00000010 в двоичном формате, атрибут курсива,

Attrib_Italic, имеет значение 4 или 00000100 в двоичном формате, а атрибут

подчеркивания, Attrib_Underline, имеет значение 8 или 00001000 в двоичном

формате. Помните, как раньше мы говорили в этом руководстве, что

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

вам и превосходный пример такой ситуации. Имена типа

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

Так что же мы будем делать с этими числами, и что они будут делать с

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

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

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

Этот поразрядный оператор позволяет нам взять переменную и сравнить ее,

бит за битом, с другой переменной или константой, такой, например, как

ATTRIB_HIGHLIGHT. Есть существенная разница между стандартным

сравнением и поразрядным сравнением двух фрагментов информации с

использованием оператора &. В стандартном сравнении значение True или 1,

будет возвращена, только если оба фрагмента информации являются

идентичными во всех отношениях. В поразрядном сравнении, использующем

оператор &, значение True или 1 будет возвращено для каждой пары битовых

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

Допустим, нам нужно сравнить два двоичных числа, 0101 и 0001. В

стандартном сравнении два эти числа не одно и то же. В поразрядном

сравнении правая цифра одна и та же для обоих чисел, поэтому для

поразрядного сравнения будет возвращено значение 0001. Этот возврат

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

правой позиции. Если бы нам надо было сравнить числа 0111 и 010, то мы

бы увидели, что вторая и третья позиции справа - единицы в обеих числах.

Следовательно, поразрядное значение возвратит значение 0110. Аналогичным

образом, 0011 и 0110 возвратят значение 0010. Только вторая цифра в обоих

числах является единицей. Мы можем проводить аналогичные сравнения, когда

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

сообщает атрибуты, которые ассоциированы с атрибутами текста в функции

скрипта NewTextEvent. (Вспомните, что функция NewTextEvent начинает

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

Следующая строка взята из этой функции:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]