Studio
2021.10
False
横幅背景图像
Studio 用户指南
上次更新日期 2024年3月1日

状态机

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

状态机的另一个重要方面是转换,因为转换还用于添加从一种状态跳转到另一种状态的条件。转换是由箭头或者状态之间的分支来表示。

有两个特定于状态机的活动,即“状态”和“最终状态”,其位于“工作流”>“状态机”下。

注意:您只能创建一个初始状态,但是可以有多个“最终状态”。

状态”活动包括三个部分,即“入口”、“出口”和“转换”,而“最终状态”只有一个部分,即“入口”。这两个活动都可以通过双击来展开,从而查看更多信息并进行编辑。

入口”和“出口”部分用于为所选状态添加入口和出口触发器,而“转换”部分则显示链接到所选状态的所有转换。





当双击转换时,转换就会展开,就像“状态”活动一样。它们包含三个部分:“触发器”、“条件”和“操作”,用于为下一个状态添加触发器,或者添加要执行活动或序列的条件。



如何使用状态机的示例

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

  1. 创建一个空白流程,然后在“设计”选项卡中的“文件”组中,选择“新建”>“状态机”。系统将显示“新建状态机”窗口。
    注意:还可以向“设计器”面板中添加“状态机”活动,以创建新的状态机自动化。
  2. 在“名称”字段中,键入自动化的名称,例如“第一个状态机”,然后保留默认的项目位置或者添加字文件夹。单击“创建”。“设计器”面板会相应地更新。
  3. 创建两个整数变量:InitialGuessRandomNumber。第一个变量存储您的猜测,而第二个变量存储随机数。
  4. 向“设计器”面板中添加“状态”活动,并将其连接到“开始”节点。这是初始状态,用来生成一个随机数。
  5. 双击活动。此“状态”活动将在“设计器”面板中展开显示。
  6. 在“属性”面板的“显示名称”字段中,键入“初始化随机数字”。这使您能够很容易地区分状态。
  7. 在“入口”部分中,添加“赋值”活动。
  8. 在“至”字段中,添加 RandomNumber 变量。
  9. 在“值”字段中,键入 new Random().Next(1,100)。此表达式生成一个随机数。
  10. 返回到主项目视图并添加一个新的“状态”活动。
  11. 将其连接到先前添加的活动。
  12. 双击上次添加的“状态”活动。此活动将在“设计器”面板中展开显示。
  13. 在“属性”面板的“显示名称”字段中,键入“尝试更大数字”。此状态用于提示用户猜一个数字。
  14. 在“入口”部分中,添加“输入对话框”活动。
  15. 选择“输入对话框”,然后在“属性”面板中添加适当的“标签”和“标题”,以提示用户猜测介于 1 和 100 之间的数字。
  16. 在“结果”字段中,添加 InitialGuess 变量。这个变量存储用户的猜测值。
  17. 返回到主项目视图,并创建一个从“猜数字”状态指向自身的转换。
  18. 双击转换。转换将在“设计器”面板中展开显示。
  19. 在“属性”面板的“显示名称”字段中,键入“尝试更大数字”。此消息显示在箭头上,有助于更轻松地运行自动化。
  20. 在“条件”部分中,键入 InitialGuess > RandomNumber。这将验证用户的猜测是否大于随机数。
  21. 在“操作”部分中,添加“消息框”活动。
  22. 在“文本”字段中,键入如下内容:“您猜的数字太大。请尝试一个更小的数字。”当用户猜测数字大于随机数时,系统将显示此消息。
  23. 返回到主项目视图,并创建一个从“猜数字”状态指向自身的新转换。
  24. 双击转换。转换将在“设计器”面板中展开显示。
  25. 在“属性”面板的“显示名称”字段中,键入“尝试更大数字”。此消息显示在箭头上,有助于更轻松地运行自动化。
  26. 在“条件”部分中,键入 InitialGuess < RandomNumber。这将验证猜测是否小于随机数。
  27. 在“操作”部分中,添加“消息框”活动。
  28. 在“文本”字段中,键入如下内容:“您猜的数字太小。请尝试一个更大的数字。”当用户猜测的数字小于随机数时,系统将显示此消息。
  29. 返回到主项目视图,并向“设计器”面板中添加“最终状态”活动。
  30. 连接从“猜数字”活动到“最终状态”的转换。
  31. 在“属性”面板的“显示名称”字段中,键入“猜对了”。
  32. 在“条件”字段中,键入 InitialGuess = RandomNumber。这是此自动化进入最终状态并结束的条件。
  33. 双击“最终状态”活动。该活动将在“设计器”面板中展开显示。
  34. 在“入口”部分中,添加“消息框”活动。
  35. 在“文本”字段中,键入如下内容:“恭喜。您猜对了!数字为“ + RandomNumber.ToString + “。”当用户猜对数字时,系统将显示此最终消息。

    项目的最终呈现应如以下屏幕截图所示。



  36. 按 F5。系统将正确执行自动化。


  • 如何使用状态机的示例

此页面是否有帮助?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath 白色徽标
信任与安全
© 2005-2024 UiPath. All rights reserved.