TC官方合作论坛

 找回密码
 立即注册
查看: 1907|回复: 3

[已解决] 数组调用越界是什么原因

[复制链接]
发表于 2014-1-27 15:22:35 | 显示全部楼层 |阅读模式

马上加入TC

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

x
本帖最后由 lianye9497 于 2014-1-27 15:25 编辑

功能 挖矿()
    dm.SetDict(0,"斗破字库.txt")
    变量 x坐标,y坐标
    i=0
    采集坐标=数组[100]
    采集坐标[0]="186,378"
   
   
    初始极径 = 2    // 这个的值是控制初始的内圈大小,值越大,内圈越大
    倍数 = 2
    系数=2     //阿基米德螺旋线系数
    圆周率 = 3.1415926  
    半径,极角
       起始x=572,起始y=442
    终点x,终点y
    极角=圆周率/2
    ///////移动到起点
    dm.MoveTo(起始x,起始y+倍数*初始极径+系数*极角)
    辅助.等待(2)
    循环(真)
        遍历(i=0;i<300;i++)  
            半径 = 初始极径+系数*极角   
            // 计算鼠标移动的下一点坐标位置
            终点x = 起始x+类型.转整型(倍数*半径*数学.余弦值(极角))
            终点y = 起始y+类型.转整型(倍数*半径*数学.正弦值(极角))
            极角 = 极角 + 0.1      
            dm.MoveTo(终点x,终点y)
             辅助.等待(10)
            鼠标特征码1=鼠标.获取特征码()
            如果(鼠标特征码1==68746215)
                调试输出("获取成功")
                dm.LeftClick()
                辅助.等待(7000)
            否则
                dm.KeyPress(77)
                辅助.等待(300)
                dm.MoveTo(采集坐标)
                辅助.等待(300)
               dm.LeftDoubleClick()
                辅助.等待(300)
                dm.KeyPress(77)                       
               字符串.分割(采集坐标,",",x坐标)
                i=i+1
                    循环(真)
                    x1坐标 = dm.Ocr(912,7,937,20,"ffe400-505050",1.0)
                    y1坐标 = dm.Ocr(937,5,967,22,"ffe400-505050",1.0)
                    如果((x坐标[0]>x1坐标+2||x坐标[0]<x1坐标-2)&&(x坐标[1]>y1坐标+2||x坐标[1]<y1坐标-2))
                    否则
                        跳出
                    如果结束
                 循环结束
            如果结束
        遍历结束
        调试输出("获取失败")
    循环结束
功能结束


出现 数组 x坐标调用越界。。。是什么原因啊,,,怎么解决。。。。还有坐标比较那里也出现了 类型不匹配,,,求解决办法
回复

使用道具 举报

发表于 2014-1-27 15:25:08 | 显示全部楼层
打断点看 加我qq1472750668远程给你弄。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-27 15:23:03 | 显示全部楼层
坐等高手回复
回复 支持 反对

使用道具 举报

发表于 2014-1-27 19:53:47 | 显示全部楼层
我还得再发上来啊、tc审核最佳的大神,在这:
dm.MoveTo(采集坐标[i])这一句明显错  1、类型不对 2、实参个数不对
然后x坐标这个数组越界了,你分割之后加一段代码
size
arraysp.size(x坐标,size)
if(size!=2)
    help.messagebox("分割失败")
endif
这样判断是否分割 就能防止数组越界了。
还有,你分割之后返回的数组是字符型,必须用 类型.转整型 才能判断大于小于、调用MoveTo、、、、
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-10-1 16:42 , Processed in 0.053597 second(s), 23 queries .

Powered by 海安简单软件服务部

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

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