TC官方合作论坛

标题: 脚本完成-拖泥带水~求完美! [打印本页]

作者: yuetianxuan    时间: 2015-2-12 10:06
标题: 脚本完成-拖泥带水~求完美!
经过几天的学习完成了自己构思制作的第一个可运行脚本!说实话没啥成就感~原因是以下脚本虽可正常运行 可自我感觉并不良好!但还是要感谢在论坛中给予我帮助的朋友们~
问题1:短短几秒中的脚本我写的代码是不是太长了,,,,是否可精简(个人感觉涉及到了我的命门:变量)
问题2:以下脚本该如何添加热键暂停与恢复~
问题3:为什么启用大漠命令后还可以运用TC里的命令:如 dm.MoveTo(124,84)辅助.等待(500)(我原以为启用了大漠就必须要用它的命令,,,)




   
空间 名启测试

变量 dm,线程句柄
dm=com("dm.dmsoft")

功能 运行开始()
    变量 hwnd
    hwnd = dm.FindWindowEx(0,"","名启年终汇总")
    dm.BindWindow(hwnd,"dx","dx","dx",0)
    dm.Delay(500)
    dm.MoveTo(124,84)
    辅助.等待(500)
    dm.LeftClick()
    辅助.等待(500)
    dm.MoveTo(305,694)
    辅助.等待(500)
    dm.LeftClick()
    辅助.等待(500)
    dm.MoveTo(540,157)
    辅助.等待(500)
    dm.LeftClick()
    辅助.等待(500)
    dm.SendString(hwnd,"a2295111022")
    辅助.等待(500)
    dm.MoveTo(317,370)
    辅助.等待(500)
    dm.LeftClick()
    辅助.等待(5000)
    dm.MoveTo(423,553)
    辅助.等待(500)
    dm.LeftClick()
    辅助.等待(500)
    dm.MoveTo(84,262)
    辅助.等待(500)
    dm.LeftClick()
    dm.SendString(hwnd,"a2295661655")
    辅助.等待(500)
    dm.MoveTo(317,370)
    辅助.等待(500)
    dm.LeftClick()
    辅助.等待(5000)
    dm.MoveTo(423,553)
    辅助.等待(500)
    dm.LeftClick()
    辅助.等待(500)
    dm.MoveTo(84,262)
    辅助.等待(500)
    dm.LeftClick()
    dm.SendString(hwnd,"a1007870969")
    辅助.等待(500)
    dm.MoveTo(317,370)
    辅助.等待(500)
    dm.LeftClick()
    辅助.等待(5000)
    dm.MoveTo(423,553)
    辅助.等待(500)
    dm.LeftClick()
    辅助.等待(500)
    dm.MoveTo(84,262)
    辅助.等待(500)
    dm.LeftClick()
功能结束

功能 开始_点击()
    线程句柄=线程.开启("名启测试.运行开始","")
功能结束

功能 退出_点击()
    辅助.退出()
功能结束

功能 热键0_热键()
    名启测试.开始_点击()
功能结束

功能 热键1_热键()
    线程.关闭(线程句柄)
功能结束

空间结束


作者: 龍飛    时间: 2015-2-12 10:48
  1. 空间 名启测试

  2. 变量 dm,线程句柄

  3. 功能 运行开始()
  4.     变量 hwnd
  5.     dm=com("dm.dmsoft")
  6.     hwnd = dm.FindWindowEx(0,"","名启年终汇总")
  7.     dm.BindWindow(hwnd,"dx","dx","dx",0)
  8.     名启测试.移动点击(124,84,305,694,450,157)
  9.     dm.SendString(hwnd,"a2295111022")
  10.     名启测试.移动点击(317,370,423,553,84,262)
  11.     dm.SendString(hwnd,"a2295661655")
  12.     名启测试.移动点击(317,370,423,553,84,262)
  13.     dm.SendString(hwnd,"a1007870969")
  14.     名启测试.移动点击(317,370,423,553,84,262)
  15. 功能结束

  16. 功能 移动点击(x,y,x1,y1,x2,y2)
  17.     dm.Delay(500)
  18.     dm.MoveTo(x,y)
  19.     辅助.等待(500)
  20.     dm.LeftClick()
  21.     辅助.等待(500)
  22.     dm.MoveTo(x1,y1)
  23.     辅助.等待(500)
  24.     dm.LeftClick()
  25.     辅助.等待(500)
  26.     dm.MoveTo(x2,y2)
  27.     辅助.等待(500)
  28.     dm.LeftClick()
  29.     辅助.等待(500)
  30. 功能结束

  31. 功能 开始_点击()
  32.     线程句柄 = 线程.开启("名启测试.运行开始","")
  33. 功能结束

  34. 功能 退出_点击()
  35.     辅助.退出()
  36. 功能结束

  37. 功能 热键0_热键()
  38.     名启测试.开始_点击()
  39. 功能结束

  40. 功能 热键1_热键()
  41.     线程.关闭(线程句柄)
  42. 功能结束

  43. 功能 热键2_热键()
  44.     线程.暂停(线程句柄)
  45. 功能结束

  46. 功能 热键3_热键()
  47.     线程.恢复(线程句柄)
  48. 功能结束
  49. 空间结束
复制代码

问题1.自己封装函数可以精简重复的代码.
问题2.最简单的方法就是多放2个热键,一个控制暂停,一个控制恢复.
问题3.用插件不会剥夺TC自带的API功能.插件起到扩展功能的作用.
作者: yuetianxuan    时间: 2015-2-12 11:40
龍飛 发表于 2015-2-12 10:48
问题1.自己封装函数可以精简重复的代码.
问题2.最简单的方法就是多放2个热键,一个控制暂停,一个控制恢复.
...

答案资源完成!回答问题简洁明了!直接采纳~
作者: 言术    时间: 2015-2-12 11:41
第一个问题,我给精简了下,如下。
第二个问题,我没明白你的意思
第三个问题,插件只是附加的功能,是在原有的基础上添加的,主体当然能用了
  1. 空间 名启测试
  2. 变量 dm=com("dm.dmsoft"),线程句柄
  3. 功能 运行开始()
  4.     变量 hwnd,内容=数组[3]
  5.     内容[0]="a2295111022",内容[1]="a2295661655",内容[2]="a1007870969"
  6.     hwnd = dm.FindWindowEx(0,"","名启年终汇总")
  7.     dm.BindWindow(hwnd,"dx","dx","dx",0)
  8.     dm.Delay(500)
  9.     名启测试.运行开始封装("移动加左键单击",500,124,84)
  10.     名启测试.运行开始封装("移动加左键单击",500,305,694)
  11.     名启测试.运行开始封装("移动加左键单击",500,540,157)
  12.     遍历(i=0;i<3;i++)
  13.         名启测试.运行开始封装("发送字符串",500,-1,-1,内容[i],hwnd)
  14.         名启测试.运行开始封装("移动加左键单击",5000,317,370)
  15.         名启测试.运行开始封装("移动加左键单击",500,423,553)
  16.         名启测试.运行开始封装("移动加左键单击",0,84,262)
  17.     遍历结束
  18. 功能结束
  19. 功能 运行开始封装(什么操作,等待多长时间,移动x=-1,移动y=-1,字符串内容="",句柄="")
  20.     选择(什么操作)
  21.         条件 "发送字符串":
  22.         dm.SendString(句柄,字符串内容)
  23.         条件 "移动加左键单击":
  24.         dm.MoveTo(移动x,移动y)
  25.         辅助.等待(500)
  26.         dm.LeftClick()
  27.     选择结束
  28.     辅助.等待(等待多长时间)
  29. 功能结束
  30. 功能 开始_点击()
  31.     线程句柄=线程.开启("名启测试.运行开始","")
  32. 功能结束
  33. 功能 退出_点击()
  34.     辅助.退出()
  35. 功能结束
  36. 功能 热键0_热键()
  37.     名启测试.开始_点击()
  38. 功能结束
  39. 功能 热键1_热键()
  40.     线程.关闭(线程句柄)
  41. 功能结束
  42. 空间结束
复制代码





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