UiPath状态机
状态机是一种自动化类型,它在执行过程中使用有限数量的状态。当被某个活动触发时,状态机可以进入一种状态,当另一个活动被触发时,就会退出该状态。
状态机的另一个重要方面是转换,因为转换还用于添加从一种状态跳转到另一种状态的条件。转换是由箭头或者状态之间的分支来表示。
有两个特定于状态机的活动,即“状态”和“最终状态”,可在“工作流”>“状态机”下找到这两个活动。****
📘
备注:
您只能创建一个初始状态,但是可以有多个“最终状态”。****
“状态”活动包括三个部分,即“入口”、“出口”和“转换”,而“最终状态”只有一个部分,即“入口”。****这两个活动都可以通过双击来展开,从而查看更多信息并进行编辑。
“入口”和“出口”部分用于为所选状态添加入口和出口触发器,而“转换”部分则显示链接到所选状态的所有转换。****




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


如何使用状态机的示例
为了举例说明如何使用状态机,我们将制作一个我们在前一章中做过的猜谜游戏,唯一的区别是我们将尝试猜测一个 1 到 100 之间的数字。
创建一个空白流程,然后在“设计”选项卡中的“文件”组中,选择“新建”>“状态机”。****系统将显示“新建状态机”窗口。****
📘
备注:
还可以向“设计器”面板中添加“状态机”活动,以创建新的状态机自动化。****
在“名称”字段中,键入自动化的名称,例如“第一个状态机”,然后保留默认的项目位置或者添加字文件夹。**单击“创建”。**“设计器”面板会相应地更新。****
创建两个整数变量:
InitialGuess和RandomNumber。第一个变量存储您的猜测,而第二个变量存储随机数。向“设计器”面板中添加“状态”活动,并将其连接到“开始”节点。****这是初始状态,用来生成一个随机数。
双击活动。此“状态”活动将在“设计器”面板中展开显示。****
在“属性”面板的“显示名称”字段中,键入“初始化随机数字”。****这使您能够很容易地区分状态。
在“入口”部分中,添加“赋值”活动。****
在“至”字段中,添加
RandomNumber变量。****在“值”字段中,键入
new Random().Next(1,100)。****此表达式生成一个随机数。返回到主项目视图并添加一个新的“状态”活动。****
将其连接到先前添加的活动。
双击上次添加的“状态”活动。**此活动将在“设计器”面板中展开显示。**
在“属性”面板的“显示名称”字段中,键入“猜数字”。****此状态用于提示用户猜一个数字。
在“入口”部分中,添加“输入对话框”活动。****
选择“输入对话框”,然后在“属性”面板中添加适当的“标签”和“标题”,以提示用户猜测介于 1 和 100 之间的数字。****
在“结果”字段中,添加
InitialGuess变量。****这个变量存储用户的猜测值。返回到主项目视图,并创建一个从“猜数字”状态指向自身的转换。
双击转换。转换将在“设计器”面板中展开显示。****
在“属性”面板的“显示名称”字段中,键入“尝试更小数字”。****此消息显示在箭头上,有助于更轻松地运行自动化。
在“条件”部分中,键入
InitialGuess>RandomNumber。****这将验证用户的猜测是否大于随机数。在“操作”部分中,添加“消息框”活动。****
在“文本”字段中,键入类似于下面的内容:“您猜的数字太大。****请尝试一个更小的数字。”当用户猜测数字大于随机数时,系统将显示此消息。
返回到主项目视图,并创建一个从“猜数字”状态指向自身的新转换。****
双击转换。转换将在“设计器”面板中展开显示。****
在“属性”面板的“显示名称”字段中,键入“尝试更大数字”。****此消息显示在箭头上,有助于更轻松地运行自动化。
在“条件”部分中,键入
InitialGuess<RandomNumber。****这将验证猜测是否小于随机数。在“操作”部分中,添加“消息框”活动。****
在“文本”字段中,键入类似于下面的内容:“您猜的数字太小。****请尝试一个更大的数字。”当用户猜测数字小于随机数时,系统将显示此消息。
返回到主项目视图,并向“设计器”面板中添加“最终状态”活动。****
连接从“猜数字”活动到“最终状态”的转换。****
在“属性”面板的“显示名称”字段中,键入“猜对了”。****
在“条件”字段中,键入
InitialGuess=RandomNumber。****这是此自动化进入最终状态并结束的条件。双击“最终状态”活动。**该活动将在“设计器”面板中展开显示。**
在“入口”部分中,添加“消息框”活动。****
在“文本”****字段中,键入如下内容:“恭喜。您猜对了!数字为“ +
RandomNumber.ToString+ “。”。当用户猜对数字时,系统将显示此最终消息。
项目的最终呈现应如以下屏幕截图所示。


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


