天边一抹灬红 发表于 2020-6-22 15:39:47

用户选择,调用相应函数

https://s1.ax1x.com/2020/06/22/NGTYPx.th.png
想做到程序以用户选择的执行顺序跑起来,如先按钮3再按钮4.....通过一个按钮实现
各位大神有什么简单的方法嘛,求指教

_匆匆来也 发表于 2020-6-22 15:39:48

这个应该不复杂吧
你可以你用一个字符串存储用户的选择,
比如用户依次点击了第1个按钮,第3个按钮,第4个按钮,第2个按钮
第1个按钮 对应 函数A,第2个按钮 对应函数2 ,第3个按钮对应函数3,第4个按钮对应函数D
字符串就存储1324
然后 逐个 解析字符串 用循环做
就拿上面一个例子说明,遇到字符1,执行A函数。。。
不知道你说的是不是这个功能

_匆匆来也 发表于 2020-6-22 16:15:30

你做的是啥东西啊?

天边一抹灬红 发表于 2020-6-22 16:57:02

_匆匆来也 发表于 2020-6-22 16:15
你做的是啥东西啊?

就是让用户选择流程然后依次逐步执行

天边一抹灬红 发表于 2020-6-23 09:28:25

_匆匆来也 发表于 2020-6-22 17:41
这个应该不复杂吧
你可以你用一个字符串存储用户的选择,
比如用户依次点击了第1个按钮,第3个按钮,第4 ...

要是每个函数有不同的参数的话要怎么写呢

_匆匆来也 发表于 2020-6-23 11:55:11

我能力有限,我连你目前具体要做个啥东西都不明白。

一世长安呢 发表于 2020-7-5 05:58:28

按钮点击事件里面写要执行的方法不可以吗?

赚小钱 发表于 2020-7-6 12:20:16

先说一下,我对你的问题的理解

你期望,当点击完所有按钮的时候,在一次性执行所有的逻辑,是吗?
就类似于一个流水线,先选择处理过程中的每一步的方法,然后再统一执行。

以下回答都是在,上面理解没有问题的情况,如果有问题,就忽略吧。

分两种情况。
一、任何两步操作之间没有依赖关系,即,第 n+1 步的输入参数,与第 n 步的输出无关。
解决办法:

[*]定义一个接口/虚基类/抽象类,whatever,总之根据你的语言决定,比如叫 Callable,接口只有一个成员函数 Call,接受 void 参数,返回 void,即 void Call(void);
[*]定义一个数组 Array<Callable> array 可以接受所有实现了 Callable 接口的类型的变量
[*]为每一个按钮,定义一个 实现了 Callable 接口的 类,类成员,就是你要在这个按钮绑定的回调函数的参数
[*]当点击按钮的时候,创建对应的处理类型 (假设为 ClassA)的一个变量(假设为 VarA),并且将所有期望的参数,赋值给 VarA 的成员变量,最后将 VarA,追加到 array 中
[*]当点击完所有的按钮时,所有对应的处理变量,就都应该被加入到这个 array 中了,然后,遍历 array,对每一个变量 v,执行 v.Call()


二、太复杂就不写了,如有需要可以再详细说。

天边一抹灬红 发表于 2020-7-7 10:20:46

赚小钱 发表于 2020-7-6 12:20
先说一下,我对你的问题的理解

你期望,当点击完所有按钮的时候,在一次性执行所有的逻辑,是吗?


感谢大神的回复,就是这个意思相当于是一个流水线,不过每一步都要根据上一步的完成结果来判断是否进行下一步操作,还有就是参数也要给用户去输入,请问一下大神这样该怎么实现呢

天边一抹灬红 发表于 2020-7-7 10:21:36

一世长安呢 发表于 2020-7-5 05:58
按钮点击事件里面写要执行的方法不可以吗?

想要的是一键执行完用户选择的流程{:10_269:}

赚小钱 发表于 2020-7-7 13:17:16

天边一抹灬红 发表于 2020-7-7 10:20
感谢大神的回复,就是这个意思相当于是一个流水线,不过每一步都要根据上一步的完成结果来判断是否进行下一 ...

我想知道,如何判断是否继续执行,假设有步骤 A,B,可能有两种情况
第一种,A 执行完了,就可以确定,是否继续执行
第二种,A 执行完了,会有一个结果,B 根据 A 的结果,判断是否执行。
你要哪一种
页: [1]
查看完整版本: 用户选择,调用相应函数