切换风格

默认Lavender Sky Flowers Wizard Snow Beige California City Dragon Black London Sunset glow Pink Cloud

16

主题

788

积分

0

精华

用户组 

易积分
4464
热心
0
好评
0
关于e4a的多线程操作[复制链接]
发表于 2020-5-9 11:15:54 | 显示全部楼层 |阅读模式
20易积分
据我所知e4a的多线程操作比较困难 官方例子也就是个获取网页源码的范例 市面上也很少有多线程操作的真正方法 好像都是用时钟来代替的 我现在有个需求 要定时执行几个指令 如果用时钟 肯定会重复执行因为我不知道执行完需要多久 这个时钟周期无法定下来比如
执行1指令
延时 2000
执行2指令
执行10秒


以上的一段代码要循环执行 如果易语言就很方便的写个线程即可 但是e4a 如何利用时钟来写呢 因为时钟有时钟周期 如果代码执行到一半 时钟周期到期 又会启动新的操作 会造成错误

请教各位大神 如何用时钟来循环执行以上的代码

最佳答案

查看完整内容

一个时钟,一个函数,或过程,时钟定时,执行代码前关闭时钟,代码执行完毕,在开启时钟,关键你的还是属于定时任务,如果要执行多个,并且定时,才用多线程+定时
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

0

主题

89

积分

0

精华

用户组 

易积分
1263
热心
1
好评
0
发表于 2020-5-9 11:15:55 | 显示全部楼层
一个时钟,一个函数,或过程,时钟定时,执行代码前关闭时钟,代码执行完毕,在开启时钟,关键你的还是属于定时任务,如果要执行多个,并且定时,才用多线程+定时

评分

参与人数 1热心 +1 收起 理由
易如意 + 1 热心帮助他人,热心+1

查看全部评分

易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

28

主题

519

积分

0

精华

用户组 

易积分
3612
热心
9
好评
2
QQ

热心会员活跃会员

发表于 2020-5-9 11:25:33 | 显示全部楼层
啥意思?

是:
执行1指令
延时 2秒
执行2指令
延时 10秒

这个意思吗?
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

28

主题

519

积分

0

精华

用户组 

易积分
3612
热心
9
好评
2
QQ

热心会员活跃会员

发表于 2020-5-9 11:26:04 | 显示全部楼层
本帖最后由 XF谭镇洋 于 2020-5-9 11:33 编辑

哦哦哦,我明白了
楼主的意思是:2个命令循环执行,而且每次命令要执行完才能下一次循环,是这个意思
这样的话用时钟可能会方便点,当然也可以用方法-->方法死循环。
先弄两个时钟,然后初始周期设定最低(1毫秒)
时钟代码:
  1. 事件 时钟1.周期事件()
  2.     命令1()
  3.     时钟1.可用=假
  4. 结束 事件
  5. 事件 时钟2.周期事件()
  6.     命令2()
  7.     时钟2.可用=假
  8. 结束 事件
复制代码
过程代码:
  1. 过程 命令1()
  2.     '这里写命令执行过程
  3.     时钟1.时钟周期=1
  4. 结束 过程
  5. 过程 命令2()
  6.     '这里写命令执行过程
  7.     时钟2.时钟周期=1
  8. 结束 过程
复制代码

试试~
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

3

主题

493

积分

0

精华

用户组 

易积分
2505
热心
0
好评
0
发表于 2020-5-9 13:02:49 | 显示全部楼层
就来看看了
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

16

主题

788

积分

0

精华

用户组 

易积分
4464
热心
0
好评
0
发表于 2020-5-9 13:34:26 | 显示全部楼层
XF谭镇洋 发表于 2020-5-9 11:26
哦哦哦,我明白了
楼主的意思是:2个命令循环执行,而且每次命令要执行完才能下一次循环,是这个意思
这样 ...

万分感谢 我先感谢再看代码 捋一下 e4a的多线程太麻烦了
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

16

主题

788

积分

0

精华

用户组 

易积分
4464
热心
0
好评
0
发表于 2020-5-9 13:38:49 | 显示全部楼层
XF谭镇洋 发表于 2020-5-9 11:26
哦哦哦,我明白了
楼主的意思是:2个命令循环执行,而且每次命令要执行完才能下一次循环,是这个意思
这样 ...

请问那我又如何循环执行  再用一个时钟?易语言的代码如下

.版本 2
.支持库 EThread
.支持库 spec

.程序集变量 是否循环, 逻辑型

.子程序 __启动窗口_创建完毕

是否循环 = 真
启动线程 (&循环, , )


.子程序 循环

.判断循环首 (是否循环 = 真)
    写到文件 (取运行目录 () + “/dd.txt”, 到字节集 (“你好”))
    延迟 (2000)
    写到文件 (取运行目录 () + “/dd.txt”, 到字节集 (“你不好好”))
    延迟 (10000)

.判断循环尾 ()
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

28

主题

519

积分

0

精华

用户组 

易积分
3612
热心
9
好评
2
QQ

热心会员活跃会员

发表于 2020-5-9 15:15:41 来自手机 | 显示全部楼层
zzh233 发表于 2020-5-9 13:38
请问那我又如何循环执行  再用一个时钟?易语言的代码如下

.版本 2

哪有,也许你和我一样一开始也脑昏昏吧……正常。你在时钟先执行了一次命令,然后关闭时钟,在过程结束时又开启时钟,就能做到循环了。
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

28

主题

519

积分

0

精华

用户组 

易积分
3612
热心
9
好评
2
QQ

热心会员活跃会员

发表于 2020-5-9 15:17:29 来自手机 | 显示全部楼层
zzh233 发表于 2020-5-9 13:38
请问那我又如何循环执行  再用一个时钟?易语言的代码如下

.版本 2

楼主好像是想要把易语言代码翻译成E4A代码嘛?
易如意中文编程学习交流论坛有你更精彩~
回复

使用道具 举报

QQ|sitemap|免责声明|RGB颜色对照表|手机版|小黑屋| 易如意 - E4A中文编程学习交流论坛

GMT+8, 2025-5-1 11:57 , Processed in 0.101611 second(s), 33 queries .

Powered by Discuz! X3.4

© 2001-2018 eruyi.cn

返回顶部