
- •Часть I: начало работы со скриптами
- •3.3 В Jaws for Windows появилась возможность загружать файлы
- •Void, если вам не нужно, чтобы ваша функция возвращала какое-либо
- •Insert Function Call - выводит диалог вставки функции, который
- •Insert PerformScript (вставить выполнение скрипта) - при выборе этой
- •InvisibleCursor() - активизирует невидимый курсор.
- •InvisibleCursor() ; активизируется невидимый курсор
- •InvisibleCursor () ; активизируется невидимый курсор
- •InvisibleCursor(), нажимайте Enter, чтобы вставить ее в наш скрипт.
- •Часть II
- •Include "hjglobal.Jsh"
- •IntVar на 1)
- •If (nAttributes & attrib_highlight) Then
- •Visual Basic.
- •If GetExcelVersion Then
- •If (nAttributes & attrib_highlight) then
- •1. Используйте комментарии, комментарии и еще раз комментарии!
- •InvisibleCursor() - активизирует невидимый курсор.
- •2. Диспетчер скриптов проверяет .Jsd файл на наличие строк
- •Include файлы проверяются, когда они включаются. Всегда ставьте
- •If (IsSameScript ()) Then
- •Import Macro File: используется для импорта файла макроса из ранних версий
- •If (GetAttributes() & attrib_underline) then ... (более подробное описание
- •VerbosityLevel - контролирует количество информации, произносимой jfw,
2. Диспетчер скриптов проверяет .Jsd файл на наличие строк
документации, которым больше не соответствует никаких скриптов в
.JSSS файле и спрашивает, хотите ли вы удалить строки
документации.
Команда синхронизации также очень полезна, когда вы вставляете
скрипт в файл скриптов из другого файла скриптов. Процесс будет
использовать те же методы, которые были описаны выше, чтобы
вставить пустые строки в файл документации для вставленных
скриптов. В эти строки необходимо будет вписать соответствующую
информацию.
Использование процесса синхронизации гарантирует, что ваши
скрипты и документация к ним всегда будут текущими. Помните, что
Jaws использует синопсис и описание для помощи по клавиатуре,
когда пользователь нажимает соответствующие клавиши для вашего
скрипта. Поэтому надлежащее внимание к документации поможет всем
пользователям ваших скриптов.
Отладка
Об отладке программ написаны целые тома. Самое важное, что нужно
запомнить, это то, что здесь требуется совершенно другой склад
ума, чем для обычной диагностики. Диагностика проблемы обычно
начинается с утверждения, что нечто, с чем вы работаете, однажды
работало, а теперь испортилось. Следовательно, если вы просто
проследите логику от начала до конца, вы найдете испорченную
часть. Отладка чего-то, что еще не работало, означает, что вы
даже не можете предположить, что сам ход правилен. А как это
относится к отладке наших файлов скриптов? Ну, это просто. Не
предполагайте, что только потому, что вы задумали, что все
пойдет именно так, так оно и пойдет. Jaws может не всегда думать
в точности так, как вы, или, да простят меня небеса, вы можете
пропустить какие-нибудь жизненно важные утверждения. Один из
самых полезных методов обнаружения логических ошибок заключается
в том, чтобы просматривать скрипт строка за строкой, представив,
что вы - компьютер. Делайте в точности то, что велит делать
скрипт, а не то, что, как вам кажется, вы получили сделать
компьютеру. К своему удивлению, вы можете заметить, что на самом
деле вы дали инструкции, которая совершенно отлична от той,
которую вы намеревались дать. Исправьте все ошибки, которые вы
заметили, а затем продолжайте просматривать скрипт, проверяя
каждое утверждение на тот предмет, в действительности ли оно
выполняет то, что вы задумали. Вот некоторые другие инструменты,
которые могут вам помочь в ваших усилиях по отладке скриптов.
Компилятор скриптов Jaws
Первая большая помощь - сам компилятор скриптов. Он проверяет
синтаксис ваших утверждений и убеждается в том, что вы правильно
завершили каждую последовательность. Когда вы пытаетесь
скомпилировать скрипт с ошибкой, он выдает сообщение об ошибке.
Те из вас, кто в прошлом писал макросы для Jaws, заметят, ошибки
компилятора для скриптов стали более описательными. Уберите
диалог об ошибке, и курсор будет помещен в скрипт рядом с
ошибкой, или туда, где, по мнению компилятора, находится ошибка.
Вы должны понимать, что компилятор может не всегда точно знать,
где ошибка. Если вы используете несколько утверждений If-Then,
которые, например, вложены, и вы забыли написать нужное
количество утверждений EndIf, компилятор покажет ошибку, но
курсор не обязательно будет поставлен именно туда, куда нужно
вставить недостающее утверждение EndIf. Курсор может находиться
на расстоянии нескольких строк от этого места. Компилятор только
может вам сказать, что ваши циклы If-Then не сформулированы
должным образом, и что после оператора If должен следовать
оператор EndIf. Вам придется самим узнавать, куда нужно вставить
недостающее утверждение.