- 发行说明
- 入门指南
- 设置和配置
- 自动化项目
- 依赖项
- 工作流类型
- 控制流程
- 文件比较
- 自动化最佳实践
- 源代码控件集成
- 调试
- 日志记录
- 诊断工具
- 工作流分析器
- 变量
- 参数
- 导入的命名空间
- 编码自动化
- 基于触发器的 Attended 自动化
- 对象存储库
- ScreenScrapeJavaSupport 工具
- 扩展程序
- Studio 测试
- 故障排除

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


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

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

36. 按 F5。 自动化已正确执行。
