• 新浪微博:
  • 腾讯微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.05
软件大小:76.8M
更新时间:2-21

按键精灵安卓版
立即下载

软件版本:3.2.5
软件大小:62.5M
更新时间:06-06

按键精灵iOS版
立即下载

软件版本:1.2.7
软件大小:29.2M
更新时间:06-19

按键精灵Mac版
立即下载

软件版本:1.1.0
软件大小:12.3M
更新时间:12-29

快捷导航

登录 后使用快捷导航
没有帐号? 注册

登录 注册
返回列表 12345678» / 39
发新话题 回复该主题

[技术交流] 【院刊】-【201506期】简单、实用挂机日志生成法 [复制链接]

1#
本帖最后由 66球 于 2015-6-2 09:59 编辑

常用调试技巧系列进阶篇

学会记录脚本运行信息


本文按键学院提供技术支持



按键学院交流①群(1群已满):376122403

按键学院交流②群(2群):372671254

按键学院交流③群(3群):170084238


上一期小编跟大家分享了利用调试里填写关键变量名直接查看输出变量与利用输出语句直接输出相应的调试信息来判断脚本执行到哪一环节出现问题,这种方法简单易用并且主要是用于自己亲自调试脚本,但是如果是脚本长时间运行出错或者是在用户的电脑上出错或者我们希望知道我们不在的时候脚本具体操作了什么,前面的方法肯定是无法适用的,这个时候我们多希望能记录脚本整个的一个输出信息,以供我们查看后进行针对性的纠错~


[backcolor=rgb(249, 249, 249)]那有问题来了,有没有方法能记录脚本大概的运行过程,也就是我们平常所说的生成脚本挂机日志呢?方法肯定是有的,今天小编就给大家分享三种记录脚本输出信息以供之后查看脚本运行状态的方法


[tr=rgb(154, 205, 50)]
方法1—WriteFileEx(写入文本文件)


命令名称WriteFileEx 写入文件
命令功能向目标文本文件写入文本内容(注:文本文件是指文件后缀名为.txt的文件)
命令参数参数1 字符串型,目标文件路径
参数2 字符串型,写入文本内容
返 回 值


使用WriteFileEx向某文档写入日志信息的小代码例子

  1. FileName = "C:\脚本日志.txt"//路径和日志名字可自定义
  2. Call 输出日志("这是第一条测试用的脚本日志")
  3. Delay 1000
  4. Call 输出日志("这是第二条测试用的脚本日志")
  5. Sub 输出日志(内容)
  6. Call Plugin.File.WriteFileEx(FileName, Now()& ": "&内容)//这边有加上执行该命令相应的系统时间
  7. End Sub
复制代码



[tr=rgb(154, 205, 50)]
方法2—WriteINI(写入键值)


命令名称WriteINI 写入键值
命令功能向配置文件里写一个键值(注:配置文件是指文件后缀名为.INI的文件)
命令参数参数1 字符串型,小节名
参数2 字符串型,键值
参数3 字符串型,写入内容
参数4 字符串型,INI文件路径
返 回 值


怎么理解命令中的参数:小节名、键值 呢?
小节名用于分类,例如:要记录很多帐号和密码,那么帐号可以算作一类,密码是一类:
[帐号]
[密码]

键值是类中的成员,例如:第一个帐号,第二个帐号 第一个密码,第二个密码:
[帐号]
第一个帐号=123456
第二个帐号=345678
[密码]
第一个密码=111111
第二个密码=111111

也不是强制这么分类,小节名和键值的主要作用是为了标识你存放的信息,只要你知道你写入ini文件的时候,把你的信息写到什么位置,下次读取的时候知道在什么位置读取就可以了。


使用WriteINI向某配置文件写入日志信息的小代码例子
  1. FileName = "C:\脚本日志2.ini"//路径和日志名字可自定义
  2. Call 输出日志("这是第一条测试用的脚本日志")
  3. Delay 1000
  4. Call 输出日志("这是第二条测试用的脚本日志")
  5. Sub 输出日志(内容)
  6. Call Plugin.File.WriteINI("日志", now, 内容, FileName)
  7. End Sub
复制代码
[tr=rgb(154, 205, 50)]
方法3—创建FileSystemObject 对象

对于FileSystemObject 对象不大了解的童鞋可参考【院刊】-【201505期】都速度进来找个对象吧~~

使用FileSystemObject 对象向某文件写入日志信息的小代码例子
  1. FileName = "C:\脚本日志3.txt"//路径和名字可自定义
  2. Set File = CreateObject("Scripting.FileSystemObject")
  3. Set F1 =File.CreateTextFile(FileName,True)
  4. Call 输出日志("这是第一条测试用的脚本日志")
  5. Delay 1000
  6. Call 输出日志("这是第二条测试用的脚本日志")
  7. Sub 输出日志(内容)
  8. F1.WriteLine (now() & " " & 内容)
  9. End Sub
复制代码
[tr=rgb(154, 205, 50)]
分享与拓展


其实按键logstrat命令自带记录日志功能,但是这个命令记录的只能是脚本里的traceprint语句输出的信息,并且受线程的影响,这边就不具体介绍了,有兴趣的童鞋可以参考按键自带的命令帮助,上面写的已经比较清楚了
下面分享一个在qui界面列表框里显示脚本日志,并可以点击按钮保存脚本日志的代码(可能有的童鞋之前已经看过了)


  1. Dimenv 日志_最大数量
  2. Dimenv 日志_当前内容
  3. Dimenv 日志_全部内容
  4. Sub 初始化日志(max)
  5. 日志_最大数量 = max - 1
  6. 日志_当前内容 = ""
  7. 日志_全部内容 = ""
  8. End Sub
  9. Sub 添加日志(text)
  10. 日志_全部内容 = 日志_全部内容 & text & VBCRLF
  11. If 日志_当前内容 = "" Then
  12. 日志_当前内容 = text
  13. Else
  14. 日志_当前内容 = 日志_当前内容 & "|" & text
  15. End If
  16. 日志_临时数组 = Split(日志_当前内容, "|")
  17. 日志_当前内容 = ""
  18. For i = UBound(日志_临时数组) To UBound(日志_临时数组) - 日志_最大数量 Step - 1
  19. If i >= 0 Then
  20. 日志_当前内容 = 日志_临时数组(i) & "|" & 日志_当前内容
  21. End If
  22. Next
  23. 日志_当前内容 = Left(日志_当前内容, Len(日志_当前内容) - 1)
  24. End Sub
  25. Sub 保存日志(path)
  26. Dim fso, fobj
  27. Set fso = CreateObject("scripting.FileSystemObject")
  28. Set fobj = fso.OpenTextFile(path, 2, True)
  29. fobj.Write 日志_全部内容
  30. fobj.Close
  31. Set fobj = Nothing
  32. Set fso = Nothing
  33. End Sub
复制代码

具体是如何运用的呢?大家可以根据自己的需求进行调用啦,

小编这边拉几个控件、写几个控件事件稍微演示下

控件事件

  1. //添加控件进行测试
  2. Event Form2.Button1.Click
  3. 累加 = 累加 + 1
  4. 添加日志 "这是一条日志," & 累加
  5. Form2.ListBox1.List = 日志_当前内容
  6. End Event
  7. Event Form2.Load
  8. Call 初始化日志(5)//这边可以设置显示日志的条数
  9. End Event
  10. Event Form2.Button2.Click
  11. 保存日志 "c:\123.txt"//保存路径及名称可自定义
  12. End Event
复制代码
演示

您所在的用户组无法下载或查看附件


[tr=rgb(154, 205, 50)]
后记

今天这期跟大家介绍了把脚本输出信息记录到文档里的几个小方法,下期可能跟大家讲一下如何用大漠写屏命令显示脚本运行信息,新人发帖不容易,望大家多多关照,多回复支持下哈~

另外调试时常出现的几种错误可以参考

【院刊】-【201408期】调试三天,气到吐血的【代码常见错误】

【院刊】-【201505期】常用调试技巧系列初级篇
关于ini写入、读取文件的拓展
【院刊】-【201412期】游戏掉线重连-ini写入读取帐号密码

院刊总目录


 



谢谢大家阅读,既来之则请回复顺手点个


[tr=rgb(143, 188, 143)]

按键精灵免费公开课

实战班:回合制通用教学火热报名

【听课对象】:对按键精灵感兴趣的同学们都可以来~
【上课地点】:零基础学按键精灵群(372671254)
【上课时间】:周天晚上19:30-21:00
【上课内容】:按键精灵脚本基础经验谈——图色命令

本期重点:回合制游戏--神武
学习时效:终生有效
上课时间:周2、周4、周6的 20:00--22:00
导师:工程师07
技术支持:果儿(院刊编辑)
点我进入按键学院报名啦 招生细节进群咨询招生办主任:2群-372671254(优先加入) 1群-376122403


    已有7评分我要评分查看所有评分

    2#

    看看

      已有1评分我要评分查看所有评分

      承接脚本定制
      出售模拟器半自动注册淘宝与1688账号,详情点击下方咨询


      最新作品:
      【星辰出品】阴阳师自动日常(仅限模拟器使用-2017/5/24更)
      【星辰出品】透明图快速制作工具(QUI-2017/1/28更)
      3#

      感谢分享

        已有1评分我要评分查看所有评分

        4#


        5#

        再支持下

          已有1评分我要评分查看所有评分

          6#


          7#

          学习!谢谢分享!
          书山有路勤为径,学海无涯苦做舟。
          活到老学到老。

          8#

          看看学习下

          为了庆祝按键精灵安卓版v3.0的发布,特开展分享得好礼活动哦!http://bbs.anjian.com/showtopic-600038-1.aspx
          9#

          盼星星,盼月亮的,你总算出现了,哪些培训班都把这个藏的那么深,找不出来,谢谢了

          10#


          11#

          赞赞,学习一下

          12#


          13#


          14#

          11111111111111

          15#

          那么多总有适合自己的

          16#

          绝对要看看

          17#

          看看

          01.[url=http://bbs.a
          18#

          xuexixuexi

          19#

          学习学习

          20#

          这个一直想看看

          发新话题 回复该主题