TC官方合作论坛

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

[其他] 怎么让它往下取坐标 没有对比到 不会取第二个?

[复制链接]
发表于 2014-2-6 12:01:43 | 显示全部楼层 |阅读模式

马上加入TC

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

x
怎么让它往下取坐标 没有对比到 不会取第二个?   求解    试了很久  都没试出效果    大牛们指点下
text = "659.549|659.540"
    rText=array[]
    str.split(text,"|",rText)
    size
    循环(真)
        arraysp.size(rText,size)
        rStr=array[]
        for(i=0;i<size;i++)
            str.split(rText[i],".",rStr)
        endfor
        循环(真)
            值1=窗口.坐标点取色(窗口句柄,300,300)
            辅助.等待(100)
            值2=窗口.坐标点取色(窗口句柄,300,300)
            如果(值1==值2)
                窗口.找图(窗口句柄,935,13,986,25,"rc:659549.bmp",#000000,1.0,1,x,y)
                如果(y>0)
                    跳出
                如果结束
                窗口.找图(窗口句柄,0,0,1024,768,"rc:点.bmp|rc:0.bmp",#000000,1.0,1,x,y)
                如果(y>0)
                    窗口.鼠标左键单击(窗口句柄,x,y)
                    窗口.发送字符串(窗口句柄,rStr[0])
                    窗口.发送按下(窗口句柄,9)
                    窗口.鼠标左键单击(窗口句柄,x+63,y)
                    窗口.发送字符串(窗口句柄,rStr[1])
                如果结束
                窗口.发送按键(窗口句柄,77)
            如果结束
        循环结束
    循环结束
回复

使用道具 举报

发表于 2014-2-6 12:11:31 | 显示全部楼层
请采纳如果我的回答帮助到了你 !

rStr[1] 已经是定值了 ,序号要用变量

温馨提示1 : 如果没有人来得及回答你 , 你可以去论坛搜索一下 , 也许有答案
回复 支持 反对

使用道具 举报

发表于 2014-2-6 13:47:01 | 显示全部楼层
text = "659.549|659.540"
rText=array[]
str.split(text,"|",rText)
size
循环(真)
    arraysp.size(rText,size)
    rStr=array[]
    for(i=0;i<size;i++)//开始分割你事先保存的坐标数组
       str.split(rText[i],".",rStr)//这里表示第一次分割, i++ 表示递增一次
       分割得到X=rStr[0]
       分割得到Y=rStr[1] // 注明 这里只有遍历结束才会跳出, 所以你错在1.没有把坐标成功的重新定值 2.应该每成功遍历一次就处理一次事件. 而不是等它遍历完了再去处理事件.
//这里加入你要处理的事件.   
   
    endfor   
    循环(真)
        值1=窗口.坐标点取色(窗口句柄,300,300)
        辅助.等待(100)
        值2=窗口.坐标点取色(窗口句柄,300,300)
        如果(值1==值2)
            窗口.找图(窗口句柄,935,13,986,25,"rc:659549.bmp",#000000,1.0,1,x,y)
            如果(y>0)
                跳出
            如果结束
            窗口.找图(窗口句柄,0,0,1024,768,"rc:点.bmp|rc:0.bmp",#000000,1.0,1,x,y)
            如果(y>0)
                窗口.鼠标左键单击(窗口句柄,x,y)
                窗口.发送字符串(窗口句柄,rStr[0])
                窗口.发送按下(窗口句柄,9)
                窗口.鼠标左键单击(窗口句柄,x+63,y)
                窗口.发送字符串(窗口句柄,rStr[1])
            如果结束
            窗口.发送按键(窗口句柄,77)
        如果结束
    循环结束
循环结束

请采纳←如果我的回答帮助到了你 !

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-6 15:01:48 | 显示全部楼层
还是没有得解决   
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-6 15:25:32 | 显示全部楼层
求解   
回复 支持 反对

使用道具 举报

发表于 2014-2-6 15:51:34 | 显示全部楼层
310804759 发表于 2014-2-6 15:01
还是没有得解决    :

text = "659.549|659.540"
rText=array[]
str.split(text,"|",rText)
size
循环(真)
    arraysp.size(rText,size)
    rStr=array[]
    for(i=0;i<size;i++)//开始分割你事先保存的坐标数组
       str.split(rText,".",rStr)//这里表示第一次分割, i++ 表示递增一次
       分割得到X=rStr[0]
       分割得到Y=rStr[1] // 注明 这里只有遍历结束才会跳出, 所以你错在1.没有把坐标成功的重新定值 2.应该每成功遍历一次就处理一次事件. 而不是等它遍历完了再去处理事件.
//这里加入你要处理的事件.   
    循环(真)
        值1=窗口.坐标点取色(窗口句柄,300,300)
        辅助.等待(100)
        值2=窗口.坐标点取色(窗口句柄,300,300)
        如果(值1==值2)
            窗口.找图(窗口句柄,935,13,986,25,"rc:659549.bmp",#000000,1.0,1,x,y)
            如果(y>0)
                跳出
            如果结束
            窗口.找图(窗口句柄,0,0,1024,768,"rc:点.bmp|rc:0.bmp",#000000,1.0,1,x,y)
            如果(y>0)
                窗口.鼠标左键单击(窗口句柄,x,y)
                窗口.发送字符串(窗口句柄,rStr[0])
                窗口.发送按下(窗口句柄,9)
                窗口.鼠标左键单击(窗口句柄,x+63,y)
                窗口.发送字符串(窗口句柄,rStr[1])
            如果结束
            窗口.发送按键(窗口句柄,77)
        如果结束
    循环结束

    endfor   
    循环结束

这回总可以了吧
回复 支持 反对

使用道具 举报

发表于 2014-2-6 15:54:29 | 显示全部楼层
本帖最后由 qjj754 于 2014-2-6 15:57 编辑

text = "659.549|659.540"
rText=array[]
str.split(text,"|",rText)
size
循环(真)
    arraysp.size(rText,size)
    rStr=array[]
    for(i=0;i<size;i++)//开始分割你事先保存的坐标数组
        调试输出(rText)
        str.split(rText,".",rStr)//这里表示第一次分割, i++ 表示递增一次
        分割得到X=rStr[0]
        分割得到Y=rStr[1] // 注明 这里只有遍历结束才会跳出, 所以你错在1.没有把坐标成功的重新定值 2.应该每成功遍历一次就处理一次事件. 而不是等它遍历完了再去处理事件.
        //这里加入你要处理的事件.   
        循环(真)
            值1=窗口.坐标点取色(窗口句柄,300,300)
            辅助.等待(100)
            值2=窗口.坐标点取色(窗口句柄,300,300)
            如果(值1==值2)
                窗口.找图(窗口句柄,935,13,986,25,"rc:659549.bmp",#000000,1.0,1,x,y)
                如果(y>0)
                    跳出
                如果结束
                窗口.找图(窗口句柄,0,0,1024,768,"rc:点.bmp|rc:0.bmp",#000000,1.0,1,x,y)
                如果(y>0)
                    窗口.鼠标左键单击(窗口句柄,x,y)
                    窗口.发送字符串(窗口句柄,rStr[0])
                    窗口.发送按下(窗口句柄,9)
                    窗口.鼠标左键单击(窗口句柄,x+63,y)
                    窗口.发送字符串(窗口句柄,rStr[1])
                如果结束
                窗口.发送按键(窗口句柄,77)
            如果结束
        循环结束        
    endfor   
循环结束

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-6 17:02:15 | 显示全部楼层
对比坐标该怎么做   text = "628.543|659.540|656.578"
    rText=array[]
    str.split(text,"|",rText)
    size
    循环(真)
        arraysp.size(rText,size)
        rStr=array[]
        for(i=0;i<size;i++)
            str.split(rText[i],".",rStr)
            循环(真)
                窗口.找图(窗口句柄,928,6,998,31,"rc:628543.bmp",#000000,1.0,1,x,y)
                如果(y>0)
                    跳出
                如果结束
                值1=窗口.坐标点取色(窗口句柄,300,300)
                辅助.等待(100)
                值2=窗口.坐标点取色(窗口句柄,300,300)
                如果(值1==值2)
                    窗口.找图(窗口句柄,0,0,1024,768,"rc:点.bmp|rc:0.bmp",#000000,1.0,1,x,y)
                    如果(y>0)
                        窗口.鼠标左键单击(窗口句柄,x,y)
                        窗口.发送字符串(窗口句柄,rStr[0])
                        窗口.发送按下(窗口句柄,9)
                        窗口.鼠标左键单击(窗口句柄,x+63,y)
                        窗口.发送字符串(窗口句柄,rStr[1])
                    如果结束
                    窗口.发送按键(窗口句柄,77)
                如果结束
            循环结束
        endfor
    循环结束
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-6 17:06:39 | 显示全部楼层
text = "628.543|659.540|656.578"
不管我怎么换这里的坐标  他都对比得到    是怎么做到的  
如果用OCR 怎么识别
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-5-18 15:23 , Processed in 0.071153 second(s), 22 queries .

Powered by 海安简单软件服务部

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

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