TC官方合作论坛

 找回密码
 立即注册
查看: 295|回复: 4
打印 上一主题 下一主题

[已解决] 脚本完成-拖泥带水~求完美!

[复制链接]
跳转到指定楼层
楼主
发表于 2015-2-12 10:06:07 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上加入TC

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

x
经过几天的学习完成了自己构思制作的第一个可运行脚本!说实话没啥成就感~原因是以下脚本虽可正常运行 可自我感觉并不良好!但还是要感谢在论坛中给予我帮助的朋友们~
问题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:39 | 只看该作者
  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功能.插件起到扩展功能的作用.
回复 支持 反对

使用道具 举报

地板
发表于 2015-2-12 11:41:06 | 只看该作者
第一个问题,我给精简了下,如下。
第二个问题,我没明白你的意思
第三个问题,插件只是附加的功能,是在原有的基础上添加的,主体当然能用了
  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. 空间结束
复制代码
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2015-2-12 11:40:34 | 只看该作者
龍飛 发表于 2015-2-12 10:48
问题1.自己封装函数可以精简重复的代码.
问题2.最简单的方法就是多放2个热键,一个控制暂停,一个控制恢复.
...

答案资源完成!回答问题简洁明了!直接采纳~
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

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

GMT+8, 2025-9-22 11:37 , Processed in 0.168350 second(s), 26 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

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