共计 1828 个字符,预计需要花费 5 分钟才能阅读完成。
Q:多个流程块之间,如何共享和传递数据?
A:应用流程图变量或者流程块的输入和输出,可实现多个流程块之间传递数据。前者应用起来更加直观,且当流程块之间的箭头发生变化时,也不会影响流程图变量的值;后者依赖于两个秩序相邻的流程块,逻辑上更加清晰一些。
采纳哪种形式,取决于开发者的习惯。
流程图变量
如果在流程图中定义了一个变量,那么在流程图所蕴含的所有流程块中,都能够间接应用这个变量。
【具体用法】
例:有一张流程图,蕴含两个流程块,别离命名为“流程块 1”和“流程块 2”(如下图)。
两个顺次运行的流程块“流程块 1”先运行,性能是取得以后零碎工夫,并将零碎工夫转换为字符串格局。
“流程块 2”后运行,性能是把“流程块 1”生成的字符串格局的零碎工夫,以调试信息的形式显示进去。
因为“流程块 1”和“流程块 2”之间须要传递“字符串格局的零碎工夫”这一数据,能够将其保留在流程图变量中。
首先,在流程图中定义这个变量。在“流程图”视图,找到并点击右侧的“变量”标签,可看到所有的流程图变量,点击“增加”按钮,输出变量名 x(不辨别大小写),即可减少一个流程图变量。
每个流程图变量还可指定“应用方向”(包含“输出”“输入”“无”)。
其中“输出”和“输入”都是高阶性能,在子流程中才须要应用。只思考以后流程的话,将应用方向设为“无”就好。
在流程图视图增加变量点击“流程块 1”的“纸和笔”图标,进入可视化视图,插入“获取本机以后工夫”和“获取指定格局的工夫文本”命令(在“工夫”分类下),并把“获取指定格局的工夫文本”中的“工夫”属性设为“获取零碎工夫”的后果,即可失去以后工夫,并以字符串格局保留在流程图变量 x 中。
因为 x 是流程图变量,因而在下个流程块中,能够间接应用 x 的值。
流程块 1 的实现如果感觉输出变量名太麻烦,或者变量名太长记不住,也可在流程块的“可视化视图”的“属性”区域,找到标有字母 fx 的按钮或者下拉按钮。
按下后,会弹出一个菜单,列出所有可用的流程块变量、流程图变量和零碎变量,用鼠标点选即可。
在下拉菜单中抉择变量
“流程块变量”:仅限于以后流程块应用;
“流程图变量”:能够在整个流程图的任意一个流程块中应用
;“零碎变量”:是不须要定义也不须要赋值的,能够间接应用外面预置的值。
而后,进入“流程块 2”的可视化视图,插入“输入调试信息”命令,并把“输入内容”属性设为 x(变量 x 为流程图变量,能够间接应用,不须要再定义)。
流程块 2 的实现回到流程图界面,而后点击“运行”按钮,即可看到运行后果,显示出以后工夫。
流程块的输入输出
此外,不依附流程图变量,两个相邻的流程块之间,也能够传递数据。前一个流程块运行完结时,可将一个值“输入”,这个输入值通过两个流程块之间连贯的箭头,间接“传导”到下一个流程块中。
首先,进入前一个流程块,在“命令区”外面找到“词法语法”上面的“跳出返回”命令,将其拖拽到“组装区”,并在“属性区”外面设置其输入值,能够是数值、字符串、变量或表达式。
如果习惯应用源代码视图,可在流程中书写 Return < 输入值 >,成果一样。在运行时,遇到这条命令,就会跳出以后流程块,并且把输入值传到后一个流程块。
而后,进入后一个流程块,当其中有某条命令须要应用前一个流程块的输入值(也就是以后流程块的输出)时,间接在“属性区”外面,找到相应的属性,点击右侧标有字母 fx 的按钮,并在弹出的菜单中选择“零碎变量”中的“流程块的输出”(如下图),即可在运行的时候主动取得这个值。
抉择零碎变量“流程块的输出”当然,如果习惯应用源代码视图,也能够间接书写 $BlockInput(变量后面的 $ 符号示意这是一个零碎变量)。
【具体用法】沿用上述例子:首先,进入“流程块 1”(性能是取得以后零碎工夫,并将零碎工夫转换为字符串格局)。假如转换后的后果保留在变量 sRet 中,那么只须要拖入一条“跳出返回”命令,并把 sRet 作为其输入值即可。
* 小技巧当“获取指定格局的工夫文本”命令和“跳出返回”命令相邻的时候,甚至连变量 sRet 都不须要,间接在“跳出返回”的属性外面按 fx 按钮,并抉择零碎变量“上一条命令的后果”即可。这样能够省去一个变量,并且成果也一样。
抉择零碎变量“上一条命令的后果”而后,进入“流程块 2”,插入“输入调试信息”命令,并把“输入内容”属性设为零碎变量“流程块的输出”。运行整个流程图,也可失去预期的后果。(这里不能只运行“流程块 2”,否则因为不足“流程块 1”的输入,后果就会不正确。)