跳到主要内容

条件

条件让操作能够做出判断。如果 块只在其条件为真时运行其中的步骤;如果… 否则… 块会运行两组步骤中的一组。

添加“如果”块​

  1. 选择该块应跟随的步骤(如果要添加到末尾,则不选择任何步骤)。
  2. 单击 条件 / 循环,然后选择 如果… 或 如果… 否则…。

如果… 会添加两行:如果 和 结束如果。如果… 否则… 会添加 如果、否则 和 结束如果。如果 行会被选中,因此您添加的下一个步骤会进入块内。如果 和 否则 之间的步骤在条件为真时运行;否则 和 结束如果 之间的步骤在条件为假时运行。然后操作从 结束如果 之后继续。

1如果WindowContainsTitle(ContextGetWindow(), 记事本)
2发送按键^S
3否则
4显示通知不是记事本, 未保存任何内容。
5结束如果

块可以放在其他块内。没有“否则如果”:请在 否则 部分中放入另一个 如果 块。

条件​

选择 如果 行即可编辑其条件。检查 用于在三种类型中选择一种:

如果
检查
比较两个值
反转结果 (not)
值
$answer
比较方式
等于 (==)
比较对象
Yes

您为某一种类型填写的字段在尝试其他类型时会被保留,但只有所选的类型 ① 会被保存。

比较两个值​

值、比较方式 和 比较对象。每个值可以是键入的值、$variable,或者从字段的值菜单中选择的读取值,例如 剪贴板文本 或 目标窗口(从菜单中选择值)。两个字段都提供所有读取值。键入读取值的脚本名称并带空括号(例如 ClipboardGetText())与选择它相同。比较方式有 等于 (==)、不等于 (!=)、小于 (<)、小于或等于 (<=)、大于 (>) 和 大于或等于 (>=)。

键入的值如何解读:数字(例如 3 或 2.5)是数字,true 或 false 是真或假,命名常量(例如 MouseButton.Right)是其对应的数字,其他任何内容都是文本。因此您无法与文本“3”进行比较;请与保存该文本的变量进行比较。

规则:

  • 两个文本只有在完全匹配(包括大小写)时才相等。
  • 两个数字按数值比较,无论是否为整数:5 等于 5.0。
  • 两个窗口是同一个窗口时相等。
  • 不同类型的值永远不相等:文本“5”不等于数字 5。
  • 小于 及其他大小比较适用于两个数字,或两个文本(按字符代码顺序,因此“Z”排在“a”之前)。其他任何组合对这四种比较都为假。

这些是脚本语言的规则;请参阅混合类型规则。

内置函数的结果​

条件会运行一个内置函数并使用其返回值。选择内置函数… 会打开所有内置函数的列表(添加和整理步骤);选择一个后单击 使用此内置函数。随后其字段会像任何步骤一样显示在下方。在选择内置函数之前,该字段会显示 请选择要检查其结果的内置函数。

为此而设计的内置函数通常在名称中带有 Is 或 Contains,例如 窗口是否最大化(WindowIsMaximized)或 标题是否包含文本(WindowContainsTitle),并返回真或假。其他任何结果都按下面的规则算作真或假。

与任何步骤一样,条件中内置函数的字段只能通过变量来包含内置函数调用;移入变量 会在 如果 之上添加步骤(步骤参数)。

值或变量​

值 包含一个值(通常是 $variable),或者如上所述来自其值菜单的读取值。当该值算作真时,条件为真:

类型何时算作真
真或假为 true
整数、数字不为 0
文本不为空
窗口是一个窗口(什么都没找到的步骤不会返回窗口)

这就是检查“步骤是否找到了某些内容”的方法:保存步骤的结果,然后测试该变量。请参阅值类型。

反转结果​

反转结果 (not) ② 会把真变为假,把假变为真。将它与 内置函数的结果 和 窗口是否最大化 一起使用,即可实现“如果窗口 未 最大化”。

提前停止​

条件 / 循环 菜单中的 停止步骤 会在该处结束操作;其后的步骤不会运行。将它放在 如果 块内,即可只在某些情况下停止。

跳转到某个步骤​

步骤的文本形式还有一种“转到步骤”形式的 如果,它会按编号跳转到另一个步骤。步骤列表无法显示它。使用它的操作只能在代码视图中以文本形式编辑(从步骤到脚本),编辑器会加以说明(问题)。请尽可能改用块。