【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)

状态机是一种自动化的类型,它在执行过程中使用有限的状态。它可以在活动触发时进入状态,在另一个活动被触发时退出状态。

State 活动
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第1张图片
状态机程序

状态机的另一个重要方面是 Transition(转换),因为它们还使您能够添加从一个状态跳转到另一个状态的条件。这些条件由箭头或状态之间的分支表示。

【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第2张图片
每个箭头代表一个状态转换

有两个特定于状态机的活动。 一个叫被叫做 State , 你可以在 System > Activities > Statements 找到它,另一个是 Final State , 位于 Core > Presentation > Factories

State
FinalState
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第3张图片
Transition

注意
您只能创建一个初始状态,但是有可能有多个 Final State (最终状态)。

State 活动包含三个部分,Entry, ExitTransition(s),而 Final State 只包含一个部分 Entry。所有这些活动都可以通过双击来展开,以查看更多信息并编辑它们。

【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第4张图片
每个 State 含有 3 个部分
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第5张图片
Final State 只有一个部分

EntryExit 部分使您能够为所选状态添加输入和退出触发器,而 Transition(s) 部分则显示链接到所选状态的所有转换。

转换在双击它们时展开。就像State 活动一样,它们也包含三个部分,Trigger, ConditionAction,使您能够为下一个状态添加触发器,或者添加要执行活动或序列的条件。

使用状态机的实例

为了举例说明如何使用状态机,我们将构建我们在前一章中所做的猜测游戏,唯一的区别是我们将尝试猜测一个介于 1 到 100 之间的数字。

  1. 创建一个空白项目,并在 Design 选项卡上的 File 按钮组中选择 New > State Machine。将显示 New Diagram 窗口。
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第6张图片
新建状态机
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第7张图片
New Diagram 窗口

注意
还可以向 Designer 面板添加 State Machine 活动,以创建新的状态机自动化。

  1. 创建两个整数变量,分别命名为 intGuessintRandomNumber。第一个变量存储你的猜测值,而第二个变量存储随机数。
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第8张图片
当前变量列表
  1. State 活动添加到设计器面板,并将其连接到 Start 节点。这是初始状态,用于生成随机数。
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第9张图片
当前程序图
  1. 双击该活动。这个 State 活动将会在设计器面板中展开。
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第10张图片
State 展开的状态
  1. Properties 面板中的 DisplayName* 字段中,键入初始化随机数字。这使您可以很容易地区分状态。
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第11张图片
键入名字方便识别
  1. Entry 部分,添加一个 Assign 活动。

  2. To 字段,添加变量 intRandomNumber

  3. Value 字段,键入 new Random().Next(1,100) 。这个表达式将会生成一个随机数。

【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第12张图片
当前程序框图
  1. 返回到 Main 视图并添加一个新的 State 活动

  2. 将其连接到前面创建的活动

【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第13张图片
当前程序框图
  1. 双击刚刚添加的 State 活动。它将会在设计器面板中展开。

  2. Properties 面板的 DisplayName 字段,键入 猜测数字。这个状态是用来弹框给用户猜测数字的。

  3. Entry 部分,添加 一个 Input Dialog 活动。

  4. 选择 Input Dialog 活动,并在 Properties 中填写适当的 LabelTitle 信息,以提示用户猜测介于 1 和 100 之间的数字。

【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第14张图片
输入提示信息
  1. Result 字段中,添加 intGuess 变量。此变量存储用户的猜测值。
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第15张图片
14-15 的设置效果
  1. 返回项目 main 视图,并创建一个从猜测数字状态指向自身的转换。
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第16张图片
步骤16
  1. 双击 Transition T2,它将在设计面板中展开显示。
    【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第17张图片
    双击 T2 小圈圈
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第18张图片
展开的 Transition
  1. Properties 面板中的 DisplayName 字段中,键入尝试更小的数字。此消息显示在箭头上,使您能够更容易地运行自动化。
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第19张图片
18
  1. Condition 部分,输入 intGuess>inandomNumber。这将验证用户的猜测是否大于随机数。
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第20张图片
19
  1. Action 部分中,添加一个 Message Box 活动。

  2. Text 字段中,键入 您的猜测值太大,请尝试输入更小的数字 的信息。当用户的猜测大于随机数时,将显示此消息。

【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第21张图片
19-21 设置效果
  1. 返回主项目视图并创建一个从 Guess Number 指向自身的新 Transition
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第22张图片
22
  1. 双击 Transition* ,将其显示在设计面板中。

  2. Properties 面板中的 DisplayName 字段中,键入尝试更大的数字。此消息显示在箭头上,使您能够更轻松地运行自动化。

  3. Condition 部分,输入 intGuess < intRandomNumber 。这将会验证猜测值是否小于随机值。

【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第23张图片
24-25
  1. Action 一节中,添加一个 Message Box 活动。

  2. Text 字段中,键入类似于“您猜测的数字太小,请尝试更大的数字” 的信息。当用户猜测的值小于随机数时,将显示此消息。

【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第24张图片
23-27 设置效果
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第25张图片
项目主视图效果
  1. 返回项目主视图并向设计器面板添加 Final State 活动,将 猜测数字 活动与之连接。
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第26张图片
添加并连接 Final State
  1. 双击从 猜测数字 活动到 Final StateTransition(T2)

  2. Properties 面板的 DisplayName 字段中,键入“猜测正确”。

  3. Condition 字段中输入 intGuess = intRandomNumber 。这是此自动化进入最终状态和结束的条件。

【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第27张图片
29-31
  1. 双击 Final State 活动,它将会在 Designer 面板中展开显示。

  2. Entry 部分,添加一个 Message Box 活动。

  1. Text 字段中,键入 "恭喜你, 你猜对了!该数字是 : " + intRandomNumber.ToString + "." 的内容。这是用户正确猜测数字时要显示的最后消息。
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第28张图片
34

最后的项目应该像下面的屏幕截图一样:

【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第29张图片
最终效果
  1. 这时点击 F5,自动化程序应该能正确执行。
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第30张图片
输入数字对话框
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第31张图片
数字太小时的提示
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第32张图片
数字太大的提示
【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine)_第33张图片
正确时的提示

输入正确的数字后,程序会自动终止。

标注
关于状态机的介绍,原文文档并不友好。State,Transition 和 Final State 概念很容易引起歧义。原文解释部分缺少对应的图片,非常影响理解。译者在实践的过程中把相关的图片剪切下来贴到翻译稿里面,以求使这部分内容更加易于理解。严格来说,这一篇译文并不完全忠于原文,而是在原文的基础上增加了很多内容。-- 译者

官方原文链接

返回目录
UiPath 常见问题及解决办法汇总

更多 UiPath 相关的资讯,请关注公众号:流程自动化机器人教程
由于禁止直接在文章中插入公众号二维码,请点击 这里 了解添加该公众号的细节。

你可能感兴趣的:(【UiPath Studio 中文文档】10 项目类型 - 状态机 (State Machine))