鱼C论坛

 找回密码
 立即注册
查看: 3351|回复: 10

[已解决]用户选择,调用相应函数

[复制链接]
发表于 2020-6-22 15:39:47 | 显示全部楼层 |阅读模式
10鱼币

                               
登录/注册后可看大图

想做到程序以用户选择的执行顺序跑起来,如先按钮3再按钮4.....通过一个按钮实现
各位大神有什么简单的方法嘛,求指教
最佳答案
2020-6-22 15:39:48
这个应该不复杂吧
你可以你用一个字符串存储用户的选择,
比如用户依次点击了第1个按钮,第3个按钮,第4个按钮,第2个按钮
第1个按钮 对应 函数A,第2个按钮 对应函数2 ,第3个按钮对应函数3,第4个按钮对应函数D
字符串就存储1324
然后 逐个 解析字符串 用循环做
就拿上面一个例子说明,遇到字符1,执行A函数。。。
不知道你说的是不是这个功能

最佳答案

查看完整内容

这个应该不复杂吧 你可以你用一个字符串存储用户的选择, 比如用户依次点击了第1个按钮,第3个按钮,第4个按钮,第2个按钮 第1个按钮 对应 函数A,第2个按钮 对应函数2 ,第3个按钮对应函数3,第4个按钮对应函数D 字符串就存储1324 然后 逐个 解析字符串 用循环做 就拿上面一个例子说明,遇到字符1,执行A函数。。。 不知道你说的是不是这个功能
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-22 15:39:48 | 显示全部楼层    本楼为最佳答案   
这个应该不复杂吧
你可以你用一个字符串存储用户的选择,
比如用户依次点击了第1个按钮,第3个按钮,第4个按钮,第2个按钮
第1个按钮 对应 函数A,第2个按钮 对应函数2 ,第3个按钮对应函数3,第4个按钮对应函数D
字符串就存储1324
然后 逐个 解析字符串 用循环做
就拿上面一个例子说明,遇到字符1,执行A函数。。。
不知道你说的是不是这个功能
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-22 16:15:30 | 显示全部楼层
你做的是啥东西啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-6-22 16:57:02 | 显示全部楼层
_匆匆来也 发表于 2020-6-22 16:15
你做的是啥东西啊?

就是让用户选择流程然后依次逐步执行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

要是每个函数有不同的参数的话要怎么写呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-23 11:55:11 | 显示全部楼层
我能力有限,我连你目前具体要做个啥东西都不明白。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-5 05:58:28 From FishC Mobile | 显示全部楼层
按钮点击事件里面写要执行的方法不可以吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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()


二、太复杂就不写了,如有需要可以再详细说。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-7-7 10:20:46 | 显示全部楼层
赚小钱 发表于 2020-7-6 12:20
先说一下,我对你的问题的理解

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

感谢大神的回复,就是这个意思相当于是一个流水线,不过每一步都要根据上一步的完成结果来判断是否进行下一步操作,还有就是参数也要给用户去输入,请问一下大神这样该怎么实现呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-7-7 10:21:36 | 显示全部楼层
一世长安呢 发表于 2020-7-5 05:58
按钮点击事件里面写要执行的方法不可以吗?

想要的是一键执行完用户选择的流程
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

我想知道,如何判断是否继续执行,假设有步骤 A,B,可能有两种情况
第一种,A 执行完了,就可以确定,是否继续执行
第二种,A 执行完了,会有一个结果,B 根据 A 的结果,判断是否执行。
你要哪一种
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 17:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表