TC官方合作论坛

标题: 关于脚本运行后出现错误提示的问题 [打印本页]

作者: 麦兜兄弟    时间: 2012-5-7 21:56
标题: 关于脚本运行后出现错误提示的问题
我的脚本运行后出现这样的提示.下面我把脚本再发一下
作者: 麦兜兄弟    时间: 2012-5-7 21:58
#import "dm.dmsoft" dm
空间 学习
//定义默认空间
逻辑型 A
整型 句柄,线程句柄
整型 X,Y


功能 逻辑型 线程开启()
dm.SetPath(辅助.获取资源路径("rc:")) //大漠设置全局路径
dm.SetDict(0,"zg.txt") //大漠设置字库
如果 (!辅助.是否注册("dm.dmsoft"))
     辅助.注册插件("rc:dm.dll",真)
如果结束
  辅助.等待(2000)
句柄 = dm.GetMousePointWindow() //获取鼠标所在窗口句柄
  辅助.等待(2000)
    A=学习.C()
// dm.BindWindow(句柄,"normal","normal","normal",0) //绑定窗口
// 辅助.等待(2000)
// dm.FindStrFast(0,0,1024,768,"回收站","ffffff-000000",1.0,X,Y)
//
// 如果(X>0)
//辅助.等待(200)
//dm.MoveTo (X,Y)
// 否则
//
//         辅助.消息框("没找到")
//A=学习.线程开启()
返回 真
// 如果结束
功能结束


功能 逻辑型 C()
辅助.等待 (100)
A=学习.做完()
返回 真
功能结束

功能 逻辑型 题库()
    dm.FindStr(388,324,951,353,"重新开始","000000-000000",1.0,X,Y)   
    辅助.等待 (300)
    如果(X>0)
        辅助.等待 (300)
        A=学习.L()
    否则
    A=学习.左边()
    如果结束
    返回 真
        功能结束
功能 逻辑型 左边()
   dm.FindStr(393,306,621,552,"请先选左","ff0000-000000",1.0,X,Y)
    辅助.等待 (300)
    如果(X>0)
        辅助.等待 (300)
        A=学习.L()
    否则
       A=学习.网页()

    如果结束
    返回 真
功能结束
功能 逻辑型 网页()
   dm.FindStr(389,308,602,346,"网页已过期","4465a2-000000",1.0,X,Y)
    辅助.等待 (100)
     如果(X>0)  
        辅助.等待 (300)
        A=学习.B()
    否则
  A=学习.选择答案()      
    如果结束
返回 真
功能结束

功能 逻辑型 选择答案()

   dm.FindStr(387,420,831,685,"选择答案","ff0000-000000",1.0,X,Y)
   如果(X>0)  
        辅助.等待 (300)
        A=学习.Q()
        辅助.等待 (100)
    否则
        A=学习.点上方()
    如果结束
返回 真
功能结束

功能 逻辑型 点上方()
   dm.FindStr(416,321,461,342,"点上方","ff0000-000000",1.0,X,Y)
    辅助.等待 (100)
     如果(X>0)
        辅助.等待 (300)
        A=学习.R()
    否则
        A=学习.下一题()
    如果结束   
返回 真     
功能结束
功能 逻辑型 下一题()

   dm.FindStr(391,426,510,845,"下一题","000000-000000",1.0,X,Y)
    辅助.等待 (100)
    如果(X>0)
        辅助.等待 (300)
        dm.MoveTo (X+15,Y+15)
        辅助.等待 (100)
        鼠标.左键单击(10)
        A=学习.C()
        辅助.等待 (100)
        否则
            A=学习.Q()
    如果结束
    返回 真
功能结束

功能 逻辑型 Q()
辅助.等待 (300)
dm.FindStr(505,302,558,322,"单选题","000000-000000",1.0,X,Y)
辅助.等待 (300)
如果(X>0)
    辅助.等待 (100)
    A=学习.P()
    辅助.等待 (300)
否则
    A=学习.D()
    辅助.等待 (100)
如果结束
返回 真
功能结束
功能 逻辑型 D()
辅助.等待 (300)
dm.FindStr(501,299,702,322,"判断题","000000-000000",1.0,X,Y)
辅助.等待 (300)
如果(X>0)
    A=学习.M()
    辅助.等待 (100)
    否则
        A=学习.E()
    辅助.等待 (100)
如果结束
返回 真
功能结束

功能 逻辑型 E()
辅助.等待 (300)
dm.FindStr(448,300,702,322,"多选题","000000-000000",1.0,X,Y)
辅助.等待 (300)
如果(X>0)
    辅助.等待 (100)
    A=学习.T()
    辅助.等待 (100)
    否则
        A=学习.V()
    辅助.等待 (100)
如果结束
返回 真
功能结束
功能 逻辑型 V()
辅助.等待 (300)
dm.FindStr(394,324,725,357,"简答题","000000-000000",1.0,X,Y)
辅助.等待 (300)
如果(X>0)
    A=学习.Q()
    辅助.等待 (300)
否则
    A=学习.R()
    辅助.等待 (300)
如果结束
返回 真
功能结束
//选择答案A

功能 逻辑型 M()
辅助.等待 (200)
dm.MoveTo (463, 383)
辅助.等待 (300)
dm.FindStr(396,347,499,634,"A","000000-000000|d49b00-000000|72009b-000000|d4ffff-000000|baeaff-000000|720000-000000|ffeaba-000000|0072ba-000000",1.0,X,Y)
辅助.等待 (300)
如果(X>0)
    辅助.等待 (300)

    dm.MoveTo (X-13,Y+5)
    辅助.等待 (300)
    鼠标.左键单击(10)
    辅助.等待 (300)   
如果结束
返回 真
功能结束
//检查答案是否选中
功能 逻辑型 Z()
辅助.等待 (300)
dm.FindPic(394,324,831,685,"圆点.bmp|对勾.bmp","fcd6ff-000000",1.0,1,X,Y)
如果(X>0)
    A=学习.N()
    辅助.等待 (300)
    否则
        A=学习.C()
    辅助.等待 (300)
如果结束
返回 真
功能结束
////如果出现请选择答案
//辅助.等待 (300)
//dm.FindStr(391,426,602,527, "请选择答案", "ff0000-000000", 1.0, intX, intY)
//If intX >= 0 and intY >= 0 Then
//    A=学习.C()
//    辅助.等待 (300)
//    否则A=学习.N()
//    辅助.等待 (100)
//如果结束
////点击确定按钮
功能 逻辑型 N()
辅助.等待 (200)
dm.MoveTo (463, 383)
辅助.等待 (300)
dm.FindStr(396,347,539,818,"确定","000000-000000",1.0,X,Y)
辅助.等待 (300)
如果(X>0)
    辅助.等待 (300)
    dm.MoveTo(X+10,Y+10)
    辅助.等待 (300)
    鼠标.左键单击(10)
    辅助.等待 (100)
    A=学习.K()
    辅助.等待 (100)
    否则
        A=学习.C()
如果结束
返回 真
功能结束
//找到下一题
功能 逻辑型 K()
辅助.等待 (200)
dm.MoveTo (463, 383)
辅助.等待 (300)
dm.FindStr(391,426,510,845,"下一题","000000-000000",1.0,X,Y)
辅助.等待 (300)
如果(X>0)
    辅助.等待 (300)
    dm.MoveTo (X+15,Y+15)
    辅助.等待 (300)
    鼠标.左键单击(10)
    辅助.等待 (100)
    A=学习.C()
    辅助.等待 (100)
    否则
        A=学习.J()
如果结束
返回 真
功能结束
//查找再次确定按钮
功能 逻辑型 J()
辅助.等待 (300)
dm.MoveTo (463, 383)
辅助.等待 (300)
dm.FindStr(396,347,539,818,"再次确定","000000-000000",1.0,X,Y)
辅助.等待 (300)
如果(X>0)
    辅助.等待 (300)
    dm.MoveTo (X+15,Y+15)
    辅助.等待 (300)
    鼠标.左键单击(10)
    辅助.等待 (100)
    A=学习.J()
    辅助.等待 (100)
    否则
A=学习.C()      
如果结束
返回 真
功能结束
//选择答案AB
功能 逻辑型 T()
辅助.等待 (300)
dm.MoveTo (463, 383)
辅助.等待 (300)
dm.FindStr(396,347,499,634,"A","000000-000000|d49b00-000000|72009b-000000|d4ffff-000000|baeaff-000000|720000-000000|ffeaba-000000|0072ba-000000",1.0,X,Y)
辅助.等待 (300)
如果(X>0)
    辅助.等待 (300)

    dm.MoveTo (X-13,Y+5)
    辅助.等待 (300)
    鼠标.左键单击(10)
    辅助.等待 (100)   
如果结束
dm.FindStr(396,347,499,634,"B","000000-000000|d49b00-000000|72009b-000000|d4ffff-000000|baeaff-000000|720000-000000|ffeaba-000000|0072ba-000000",1.0,X,Y)
辅助.等待 (300)
如果(X>0)
    辅助.等待 (300)

    dm.MoveTo (X-13,Y+5)
    辅助.等待 (300)
    鼠标.左键单击(10)
    辅助.等待 (100)
如果结束
//点击确定按钮
辅助.等待 (300)
dm.MoveTo (463, 383)
辅助.等待 (300)
dm.FindStr(396,347,539,818,"确定","000000-000000",1.0,X,Y)
辅助.等待 (300)
如果(X>0)
    辅助.等待 (300)
    dm.MoveTo (X+10,Y+10)
    辅助.等待 (300)
    鼠标.左键单击(10)
    辅助.等待 (1000)
    A=学习.H()
如果结束
返回 真
功能结束
//查找再次确定按钮
功能 逻辑型 Y()
辅助.等待 (300)
dm.MoveTo (463, 383)
辅助.等待 (300)
dm.FindStr(396,347,539,818,"再次确定","000000-000000",1.0,X,Y)
辅助.等待 (300)
如果(X>0)
    辅助.等待 (300)
    dm.MoveTo (X+15,Y+15)
    辅助.等待 (300)
    鼠标.左键单击(10)
    辅助.等待 (100)
    A=学习.H()
    辅助.等待 (100)
    否则
        A=学习.K()
    辅助.等待 (100)        
如果结束
返回 真
功能结束
//添加答案C
功能 逻辑型 H()
辅助.等待 (100)
dm.FindStr(396,347,499,634,"C","000000-000000|d49b00-000000|72009b-000000|d4ffff-000000|baeaff-000000|720000-000000|ffeaba-000000|0072ba-000000",1.0,X,Y)
辅助.等待 (300)
如果(X>0)
    辅助.等待 (300)

    dm.MoveTo (X-13,Y+5)
    辅助.等待 (300)
    鼠标.左键单击(10)
    辅助.等待 (100)
    否则
        A=学习.K()
如果结束
//查找再次确定按钮
辅助.等待 (300)
dm.MoveTo (463, 383)
辅助.等待 (300)
dm.FindStr(396,347,539,818,"再次确定","000000-000000",1.0,X,Y)
辅助.等待 (300)
如果(X>0)
    辅助.等待 (300)
    dm.MoveTo (X+15,Y+15)
    辅助.等待 (300)
    鼠标.左键单击(10)
    辅助.等待 (100)
    A=学习.F()
    否则
        A=学习.K()
如果结束
返回 真
功能结束
//添加答案D
功能 逻辑型 F()
辅助.等待 (100)
dm.FindStr(396,347,499,634,"D","000000-000000|d49b00-000000|72009b-000000|d4ffff-000000|baeaff-000000|720000-000000|ffeaba-000000|0072ba-000000",1.0,X,Y)
辅助.等待 (300)
如果(X>0)
    辅助.等待 (300)

    dm.MoveTo (X-13,Y+5)
    辅助.等待 (300)
    鼠标.左键单击(10)
    辅助.等待 (100)
    A=学习.Y()   
如果结束
返回 真
功能结束
//单选题选择答案A
功能 逻辑型 P()
辅助.等待 (300)
dm.MoveTo (463, 383)
辅助.等待 (300)
dm.FindStr(396,347,499,634,"A","000000-000000|d49b00-000000|72009b-000000|d4ffff-000000|baeaff-000000|720000-000000|ffeaba-000000|0072ba-000000",1.0,X,Y)
辅助.等待 (300)
如果(X>0)
    辅助.等待 (300)

     dm.MoveTo (X-13,Y+5)
    辅助.等待 (300)
    鼠标.左键单击(10)
    辅助.等待 (100)
如果结束
//找到下一题
辅助.等待 (100)
dm.MoveTo (463, 383)
辅助.等待 (300)
dm.FindStr(391,426,510,845,"下一题","000000-000000",1.0,X,Y)
辅助.等待 (300)
如果(X>0)
    辅助.等待 (300)
    dm.MoveTo (X+15,Y+15)
    辅助.等待 (300)
    鼠标.左键单击(10)
    A=学习.C()
    辅助.等待 (100)   
如果结束
//点击确定按钮
辅助.等待 (100)
dm.MoveTo (463, 383)
辅助.等待 (300)
dm.FindStr(396,347,539,818,"确定","000000-000000",1.0,X,Y)
辅助.等待 (300)
如果(X>0)
    辅助.等待 (300)
    dm.MoveTo (X+10,Y+10)
    辅助.等待 (300)
    鼠标.左键单击(10)
    辅助.等待 (1000)
    A=学习.H()
    否则
        A=学习.C()
如果结束
返回 真
功能结束
//找到题库练习
功能 逻辑型 B()
dm.FindStr(468,266,1040,290,"题库练习","ffffff-000000",1.0,X,Y)
如果(X>0)  
    辅助.等待 (30000)
    dm.MoveTo (X+20,Y+10)
    辅助.等待 (600)
    鼠标.左键单击(10)
    辅助.等待 (300)
    dm.MoveTo (359, 316)
    A=学习.L()
    否则
        A=学习.B()
    辅助.等待 (100)
如果结束
返回 真
功能结束
//找到题库
功能 逻辑型 L()
辅助.等待 (3000)
dm.FindStr(235,270,350,571,"2012年2月","000000-000000",1.0,X,Y)
如果(X>0)
    dm.MoveTo (X+10,Y+10)
    鼠标.左键单击(10)
    辅助.等待 (100)
    否则
        A=学习.L()
    辅助.等待 (100)
如果结束
返回 真
功能结束
//点击开始练习
功能 逻辑型 R()
dm.MoveTo (940, 341)
辅助.等待 (3000)
dm.FindStr(807,270,969,307,"开始练习","000000-000000",1.0,X,Y)
如果(X>0)
    辅助.等待 (300)
    dm.MoveTo (X+15,Y+15)
    辅助.等待 (300)
    鼠标.左键单击(10)
    辅助.等待 (1000)
    A=学习.C()
如果结束
返回 真
功能结束
功能 逻辑型 跳过()
    辅助.等待 (300)
   dm.FindStr(396,347,966,840,"跳过此题","000000-000000",1.0,X,Y)
    如果(X>0)
      dm.MoveTo (X+10,Y+10)
        鼠标.左键单击(10)
        辅助.等待 (300)
        否则
            A=学习.C()
        辅助.等待 (300)
    如果结束

    返回 真
功能结束
功能 逻辑型 做完()
   dm.FindStr(396, 350, 824, 849, "你已经做完", "ff0000-000000", 1.0,X,Y)
    如果(X>0)
        A=学习.L()
        辅助.等待 (100)
    否则
        A=学习.题库()
        辅助.等待 (100)
    如果结束
    返回 真
功能结束

功能 逻辑型 开始_点击()
//这里添加你要执行的代码

dm.UnBindWindow()
线程.关闭(线程句柄)

辅助.等待(300)
线程句柄 = 线程.开启("学习.线程开启","")
返回 真
//函数返回语句
功能结束


功能 逻辑型 退出_点击()
//这里添加你要执行的代码
辅助.退出()

返回 真
//函数返回语句
功能结束

空间结束
//空间结束语句

作者: 落幕    时间: 2012-5-7 22:08
没解绑大漠。
功能 逻辑型 退出_点击()
//这里添加你要执行的代码
dm.UnBindWindow()
线程.关闭(线程句柄)
辅助.退出()
作者: 麦兜兄弟    时间: 2012-5-7 22:15
我没绑定窗口,不用解绑吧?
作者: hdw1980    时间: 2012-5-7 22:16
点击开始里让人迷糊

解绑大漠,关闭线程后,又开启线程??
作者: TC    时间: 2012-5-7 23:20
建议可以单步调试,或者自己加入日志文件,这样可以分析到在哪里挂的,这样找错误会更容易
作者: 麦兜兄弟    时间: 2012-5-8 08:44
单步调试,有点不好用,当鼠标点击时单步调试就不起作用了。所以单步调试还需要改进一下
作者: tyuyan    时间: 2012-5-8 08:59
功能 逻辑型 开始_点击()
//这里添加你要执行的代码
dm.UnBindWindow()
线程.关闭(线程句柄)
辅助.等待(300)
线程句柄 = 线程.开启("学习.线程开启","")
返回 真
//函数返回语句
功能结束      
  你开始里面怎么先是解绑大漠啊!  还有关闭线程,, 之前有绑定大漠和开启线程吗?
      怎么解绑大漠 关闭线程 之后还开启线程。
作者: 麦兜兄弟    时间: 2012-5-8 09:18
我没绑定,我重改了一下,还是这问题
作者: 麦兜兄弟    时间: 2012-5-8 09:25
怎么加入日志文件
作者: 落叶归根    时间: 2012-5-8 09:56
日志文件就是自己写文件操作。  把脚本运行的每一步,写到一个txt里面,运行之后,自己查看日志的内容。寻找错误。
作者: 麦兜兄弟    时间: 2012-5-8 09:59
我不知道怎么写,给个思路。




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1