如何在不延迟循环的情况下对个案结构进行延迟?

问题描述

对不起,我不能发布我的完整程序-公司规则。

我的程序中有一部分可以读取脚本文件,并向文件中读取计时器值。我需要该值来暂停从脚本文件中读入下一行,而我知道这样做的唯一方法是这样的:

Loop Timer

其中从字符串扫描功能检索时间(以毫秒为单位),并将其插入到延迟功能中。这样做的问题是,它延迟了我的主循环,并且我基于基于相同脚本文件的先前命令同时运行其他计时函数,这可能会花费更多时间。是否有任何方法可以在一个案例结构中实例化它,从而暂停下一个命令的读取,并让主循环继续进行?

我的脚本阅读器有一个事件处理程序,因此程序的其余部分可以在没有调用它的情况下运行。

Script Event

这直接输入嵌套的case语句,该语句直接将数据输入计时器。任何帮助表示赞赏!

解决方法

如果我理解正确:

  • 您有一个循环,始终在不间断地运行某些任务
  • 有时,按下一个按钮将导致在两次循环迭代之间执行特殊任务。
  • 一项特殊的任务是将按钮禁用几秒钟

这是通过以下简化代码完成的。

  • 单击按钮并且文件中的命令为WAIT 30时,当前时间加30s被写入移位寄存器,并且按钮禁用为灰色。也就是说,用户无法单击它,他甚至看到了它!
  • 在100毫秒内未单击按钮时,将执行Timeout情况。 (一遍又一遍...)在那里,所有应始终运行的任务都将继续存在。这种情况还会检查当前时间是否大于移位寄存器中的时间,然后再次重新启用按钮。

enter image description here