精易论坛

标题: 无限循环的子程序 [打印本页]

作者: newxhk    时间: 2017-7-20 20:22
标题: 无限循环的子程序
今天在问答区看见一个问题,需要执行一个无限循环的程序。自己尝试写了一下。可能很简单,希望各位大佬能够指出不足,勿喷。
以下是哪个程序的要求:
我想要单击按钮1后,
时钟1.时钟周期=200,时钟2.时钟周期=0
延时1000ms后
时钟1.时钟周期=0,时钟2.时钟周期=200
再延时1000ms后
时钟1.时钟周期=200,时钟2.时钟周期=0
.....
如此无限反复执行下去

单击按钮2后,
以上循环都停止,2个时钟的周期都变0
=====================================================================================================
代码如下:
.版本 2
.支持库 spec

.子程序 _按钮1_被单击

.如果真 (时钟1.时钟周期 = 0 且 时钟2.时钟周期 = 0)
    时钟1.时钟周期 = 200
    .判断循环首 (时钟1.时钟周期 = 0 或 时钟2.时钟周期 = 0)
        .如果 (时钟1.时钟周期 = 0)
            时钟1.时钟周期 = 200
            时钟2.时钟周期 = 0
        .否则
            时钟1.时钟周期 = 0
            时钟2.时钟周期 = 200
        .如果结束
        延迟 (1000)

    .判断循环尾 ()
.如果真结束


.子程序 _按钮2_被单击

时钟1.时钟周期 = 0

===================================================================================================
哪个图片是调试的结果
原贴地址:如何循环执行程序
http://125.confly.eu.org/forum.php?mod=viewthread&tid=14046342
(出处: 精易论坛)

QQ截图20170720201210.png (1.16 KB, 下载次数: 0)

QQ截图20170720201210.png

作者: 小淡    时间: 2017-7-20 20:34
  1. .版本 2

  2. .程序集变量 g, 逻辑型

  3. .子程序 子程序1

  4. .如果真 (g = 假)
  5.     子程序1 ()
复制代码

作者: 415597958    时间: 2017-7-20 22:48
小淡 发表于 2017-7-20 20:34

无限递归程序会崩溃。最简单的就只直接用循环调用子程序就行。
作者: kmskik    时间: 2017-7-21 06:59
谢谢你啦,学习了,昨天没看到你的回复
作者: 交流3366    时间: 2017-7-21 21:15
谢谢你啦,学习了,
作者: newxhk    时间: 2017-7-21 21:22
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
条件逻辑型  

子程序名返回值类型公开备 注
_按钮1_被单击  
如果真 (时钟1.时钟周期 = 0 时钟2.时钟周期 = 0)
时钟1.时钟周期 = 200
条件 = 时钟1.时钟周期 = 0 时钟2.时钟周期 = 0
循环执行 ()
子程序名返回值类型公开备 注
_按钮2_被单击  
条件 = 时钟1.时钟周期 = 200 时钟2.时钟周期 = 200
循环执行 ()
时钟1.时钟周期 = 0
时钟2.时钟周期 = 0
子程序名返回值类型公开备 注
循环执行  
判断循环首 (条件)
如果 (时钟1.时钟周期 = 0)
时钟1.时钟周期 = 200
时钟2.时钟周期 = 0
时钟1.时钟周期 = 0
时钟2.时钟周期 = 200
延迟 (1000)
判断循环尾 ()


i支持库列表   支持库注释   
spec特殊功能支持库

昨天测试时发现按钮二点击时不能停止循环, 简单修改下。


作者: 易幻想    时间: 2017-7-23 16:22
知道递归么
作者: chuangjin858    时间: 2017-7-23 17:38
请输入验证码:1+1=? (  )
作者: newxhk    时间: 2017-7-23 22:28
易幻想 发表于 2017-7-23 16:22
知道递归么

我学习易语言没多久,求解
作者: 易幻想    时间: 2017-7-24 10:41
newxhk 发表于 2017-7-23 22:28
我学习易语言没多久,求解

就是设置一个子程序,然后在子程序里调用子程序本事,可以造成无限循环,,记得在子程序里加入处理事件命令
作者: newxhk    时间: 2017-7-24 19:56
易幻想 发表于 2017-7-24 10:41
就是设置一个子程序,然后在子程序里调用子程序本事,可以造成无限循环,,记得在子程序里加入处理事件命 ...

哦,有时间试试,感谢告知
作者: Burn    时间: 2017-8-14 15:33
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4