TC官方合作论坛

 找回密码
 立即注册
查看: 1511|回复: 8

[已解决] 求教线程返回值问题

[复制链接]
发表于 2014-10-22 10:32:52 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

功能 开始_点击()
          线程.开启("KwMusic.遍历找图任","67,392,350,562")
         鼠标.移动(任X&任Y)//////////////////////////这里是错误的 要这么写?
功能结束


功能 遍历找图任(开X,开Y,结X,结Y)   
    任X,任Y,开X,开Y,结X,结Y
    遍历(j=0;j<30;j++)
        图像序号=图像.找图(开X,开Y,结X,结Y,"rc:\\任.bmp",#000000,1.0,0,任X,任Y)
        如果(任X>0)  
            跳出
        否则
            辅助.等待(300)
        如果结束
    遍历结束
    返回 (任X&任Y)///////////////////////这里的返回要怎么写呢?
功能结束

回复

使用道具 举报

发表于 2014-10-22 11:25:44 | 显示全部楼层
返回 (任X&任Y)///////////////////////这里的返回要怎么写呢?

TC好像不能返回2个值吧,只能返回一个值的。如 返回 任X  这样写
但要返回值,调用功能的时候不能这样写线程.开启("KwMusic.遍历找图任","67,392,350,562")
如果必须要返回2个值,要想其它方法,如:可以把任x,任y这2个变量设为全局变量。

鼠标.移动(任X&任Y)//////////////////////////这里是错误的 要这么写?
这个2楼告诉你了

另外,像你上面的功能,这样写是达不到效果的,不要用线程开启方法,应该这样写
KwMusic.遍历找图任(67,392,350,562)

他和线程开启的方法相同的就是:都会执行遍历找图任这个功能
不同的是:线程开启这行语句执行后,马上就执行下一个语句鼠标移动了,根本不用等遍历找图任执行完毕
而我上面写的调用语法,会等待遍历找图任功能执行结束了,才会运行下一条语句
回复 支持 反对

使用道具 举报

发表于 2014-10-22 10:42:25 | 显示全部楼层
鼠标移动(任x,任y)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-22 10:46:28 | 显示全部楼层
返回(任X&任Y)运行到这里就崩溃了错误的
回复 支持 反对

使用道具 举报

发表于 2014-10-22 11:10:43 | 显示全部楼层
功能 开始_点击()

    线程.开启("KwMusic.找图","")

功能结束

功能 找图()  

    遍历找图(67,392,350,562,"rc:\\任.bmp")

功能结束

功能 遍历找图(开X,开Y,结X,结Y,图片)   

    任X,任Y,开X,开Y,结X,结Y
    遍历(j=0;j<30;j++)

        图像序号=图像.找图(开X,开Y,结X,结Y,图片,#000000,1.0,0,任X,任Y)
        如果(任X>0)
            鼠标.移动(任X,任Y)
            调试输出(任X &","& 任Y)
            返回 真
        否则
            返回 假
        如果结束
    遍历结束

功能结束

大致这个意思
回复 支持 反对

使用道具 举报

发表于 2014-10-22 11:10:48 | 显示全部楼层
本帖最后由 yuduo1983 于 2014-10-22 11:12 编辑

上面那个
回复

使用道具 举报

发表于 2014-10-22 11:43:17 | 显示全部楼层
空间 KwMusic
//默认空间
任X,任Y   //定义全局变量


//开始按钮_点击操作
功能 开始_点击()
    是否找到图=KwMusic.遍历找图任(67,392,350,562)
    如果(是否找到图)
        鼠标.移动(任X,任Y)
    如果结束
功能结束


功能 遍历找图任(开X,开Y,结X,结Y)   
    //任X,任Y,开X,开Y,结X,结Y    /////这里不必定义变量
    遍历(j=0;j<30;j++)
        图像序号=图像.找图(开X,开Y,结X,结Y,"rc:\\任.bmp",#000000,1.0,0,任X,任Y)
        如果(任X>0)  
            返回 真
        否则
            辅助.等待(300)
        如果结束
    遍历结束
   
功能结束



//退出按钮_点击操作
功能 退出_点击()
   
    辅助.退出()
功能结束

空间结束
//空间结束语句
回复 支持 反对

使用道具 举报

发表于 2014-10-23 09:29:51 | 显示全部楼层
本帖最后由 q273814 于 2014-10-23 09:30 编辑


1.你上面报错的原因 任X 和任Y是没有申明的 程序是不认识这2个玩意的 所以你让鼠标移动到那个位置 它咋晓得你那是写的个神马
2.就算你申明了任X和任Y 也是不能正常运行的 你在上面线程调用了找图线程里还在找 代码就执行到下面鼠标移动了 找都没找到就移动 顶多给你鼠标移动到屏幕左上角
3.建议把鼠标点击放到那个线程里的找图里 或者把找图做个单独的功能 然后在线程里调用找图并移动鼠标
4.资源文件rc:\\xxx.xxx  能否把\\去掉 这个不需要的
5.返回只能返回1个参数 你可以返回 任X & "," & 任Y 这样的格式 : 123,123 然后接收后分割出来
回复 支持 反对

使用道具 举报

发表于 2014-10-23 18:08:32 来自手机 | 显示全部楼层
返回后面不要带括号,括号去掉
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-28 12:48 , Processed in 0.040770 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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