易语言请教:多线程,计次循环,依次取超级列表框内
目的:通过多线程,依次取超级列表框内容后组合网址,post。遇到的问题:启动多线程后,取到的列表框内容不会依次向下取。
感谢大神们的帮忙,谢谢。
.版本 2
.支持库 EThread
.支持库 iext
.支持库 internet
.支持库 spec
.子程序 _按钮2_被单击
.局部变量 ip, 文本型
.局部变量 阅读返回, 文本型
.局部变量 z
.局部变量 i4, 整数型
.计次循环首 (2, i4)
启动线程 (&子程序1, i4, )
.计次循环尾 ()
.子程序 子程序1
.局部变量 i, 整数型
.局部变量 ip, 文本型
.局部变量 阅读返回, 文本型
.局部变量 j, 整数型
阅读时间 = 到整数 (编辑框2.内容) × 2
.计次循环首 (超级列表框1.取表项数 () - 1, i)
处理事件 ()
ip = 到文本 (HTTP读文件 (编辑框1.内容))
调试输出 (ip)
延迟 (5000)
.计次循环首 (阅读时间, j)
阅读返回 = 到文本 (编码_Utf8到Ansi (网页_访问_对象 (“http://www.52pojie.cn, 0, , , , #cl1 + #换行符 + #cl2 + #换行符 + #cl3 + #换行符 + #cl4 + #换行符 + #cl5 + #换行符 + #cl6 + #换行符 + #cl7 + #换行符 + #cl8 + #换行符 + 超级列表框1.取标题 (i, 3) + #换行符 + 超级列表框1.取标题 (i, 2) + #换行符 + #cl11 + #换行符 + #cl12 + #换行符 + #cl13, , , , , ip, , , , , )))
调试输出 (阅读返回)
调试输出 (超级列表框1.取标题 (i, 3))
延迟 (31000)
.计次循环尾 ()
.计次循环尾 ()
你的子程序1 里并没有用到 i4 这个参数啊。 不知道你传下去是干嘛
子程序1计次循环 一条线程就执行完列表框里的项目了,也用不到 多线程。
还有 延迟() 这个命令。不要使用在循环里。有点问题。 好像会比想象中的拖延更长时间。 换成延时(或其他模块的超级延时)会好一点。 为什么要循环启动线程?(′・_・`) 本帖最后由 l101 于 2019-12-21 13:57 编辑
.版本 2
.支持库 iext
.如果 (当前 = 超级列表框1.取表项数 ())
N轮 = 真
超级列表框1.现行选中项 = 0
.否则
超级列表框1.现行选中项 = 超级列表框1.现行选中项 + 1
.如果结束
可以循环或者时钟,线程等里面使用,超级列表框自动向下选择,我这是循环
超级列表框还要设置一下始终显示选择项,还有整行选择都为真
感谢您,您这个比我那个好很多。我误打误撞解决了,我把第一个计次循环去掉了,就好了。 ゞ洣蔵→ 发表于 2019-12-21 12:57
你的子程序1 里并没有用到 i4 这个参数啊。 不知道你传下去是干嘛
子程序1计次循环 一条线程就执行 ...
因为这个列表框里面会有好多条数据,每执行一条数据要执行10次(30秒一次),所以才想用多线程。您说的这个延迟()的问题,我去查查资料,以后改掉这个毛病。
页:
[1]