Условия
Условие позволяет действию принимать решения. Блок Если выполняет шаги внутри себя, только когда его условие истинно; блок Если… иначе… выполняет либо один набор шагов, либо другой.
Добавление блока «Если»
- Выберите шаг, за которым должен следовать блок (или не выбирайте ничего, чтобы добавить его в конец).
- Нажмите Условие / цикл и выберите Если… или Если… иначе….
Если… добавляет две строки: Если и Конец условия. Если… иначе… добавляет Если, Иначе и Конец условия. Строка Если выбирается, поэтому следующий добавленный шаг попадает внутрь блока. Шаги между Если и Иначе выполняются, когда условие истинно; шаги между Иначе и Конец условия — когда оно ложно. Затем действие продолжается после Конец условия.
Блоки могут находиться внутри других блоков. «Иначе если» нет: поместите другой блок Если внутрь части Иначе.
Условие
Выберите строку Если, чтобы изменить её условие. Проверка выбирает один из трёх видов:
Поля, заполненные для одного вида, сохраняются, пока вы пробуете другой, но сохраняется только выбранный вид ①.
Сравнить два значения
Значение, Сравнение и С чем сравнить. Каждое значение вводится вручную, задаётся как
$переменная или выбирается из меню значений поля, например Текст из буфера обмена или Целевое окно
(Выбор значения из меню). Оба поля предлагают все значения. Ввод скриптового
имени значения с пустыми скобками, например ClipboardGetText(), равносилен его выбору. Варианты сравнения:
равно (==), не равно (!=), меньше (<), не больше (<=), больше (>) и не меньше (>=).
Как читается введённое значение: число (например, 3 или 2.5) — это число, true или false — истина или
ложь, именованная константа (например, MouseButton.Right) — её число, а всё
остальное — текст. Поэтому сравнить с текстом «3» нельзя; сравнивайте с переменной, которая его содержит.
Правила:
- Два текста равны, только если совпадают точно, включая регистр.
- Два числа сравниваются по значению, целые они или нет:
5равно5.0. - Два окна равны, если это одно и то же окно.
- Значения разных типов никогда не равны: текст «5» не равен числу 5.
- меньше и другие сравнения порядка работают для двух чисел или двух текстов (в порядке кодов символов, поэтому «Z» идёт раньше «a»). Для любой другой пары все четыре дают ложь.
Это правила языка скриптов; см. Правила для смешанных типов.
Результат встроенной функции
Условие выполняет встроенную функцию и использует то, что она возвращает. Выберите встроенную функцию… открывает список всех встроенных функций (Добавление и упорядочивание шагов); выберите одну и нажмите Использовать эту функцию. Затем ниже, как у любого шага, появятся её поля. Пока функция не выбрана, поле сообщает Выберите встроенную функцию, результат которой проверяется.
Встроенные функции для этого обычно содержат в имени Is или Contains, например Развёрнуто ли окно
(WindowIsMaximized) или Содержит ли заголовок текст (WindowContainsTitle), и возвращают истину или
ложь. Любой другой результат считается истиной или ложью по правилам ниже.
Поле встроенной функции условия может содержать вызов встроенной функции только через переменную, как у любого шага; Вынести в переменную добавляет шаг над Если (Параметры шагов).
Значение или переменная
Значение содержит одно значение, обычно $переменную, или значение из меню значений, как выше. Условие
истинно, когда значение считается истиной:
| Тип | Считается истиной, когда |
|---|---|
| Истина или ложь | оно истинно |
| Целое число, Число | оно не равно 0 |
| Текст | он не пуст |
| Окно | это окно (шаг, который ничего не нашёл, не возвращает окна) |
Так проверяется, «нашёл ли шаг что-нибудь»: сохраните результат шага, затем проверьте переменную. См. Типы значений.
Инвертировать результат
Инвертировать результат (not) ② превращает истину в ложь и ложь в истину. Используйте его для «если окно не развёрнуто» вместе с Результат встроенной функции и Развёрнуто ли окно.
Досрочная остановка
Остановить шаги из меню Условие / цикл завершает действие в этом месте; шаги после него не выполняются. Поместите его внутрь блока Если, чтобы останавливаться только в некоторых случаях.
Переход к шагу
В текстовой форме шагов есть также форма условия «перейти к шагу», которая переходит к другому шагу по номеру. Список шагов не может её показать. Действие, которое её использует, можно редактировать только как текст, в представлении кода (От шагов к скрипту), и редактор об этом сообщает (Проблемы). По возможности используйте вместо этого блоки.