- 初中三年级
- 2220985
- 396
- 0
- 532 朵
- 2506 个
- 334 个
- 480
- 2013-10-27
|
1#
t
T
发表于 2014-10-08 14:38
|
|只看楼主
记事本风云之游戏批量登录账号
记事本是个好东西,我们写脚本的时候,时常会用到它。拿它记录数据,存放结果等等。这么重要的东西, 忍不住想多了解下 |
热身准备
首先,把编辑好的记事本放到按键精灵附件里,以便后面释放使用。 记事本里面的原始内容,是账号密码的设置格式,账号和密码之间要设置分隔符,方便之后读取。
如图:
- 您所在的用户组无法下载或查看附件
释放附件代码:- PutAttachment "G:\test", "游戏账号.txt"
复制代码 例子中,将游戏账号文本释放到G盘下的test文件夹中。
读取账号密码
- 您所在的用户组无法下载或查看附件
需要用到ReadFileEx读取文件命令, 先将文本里的所有内容读取存入到变量text中 代码:- Text = Plugin.File.ReadFileEx("G:\test\游戏账号.txt")
- Msgbox "向目标文件读出文本内容为:"& Text
复制代码 输出:
- 您所在的用户组无法下载或查看附件
我们看到的是变量text中存放的文本内容,文本中的回车换行符是被当做 竖线读取的。
这些竖线是至关重要的,有了它,我们才能将文本里每行的内容分割出来,用split函数分割,分割之后的内容存放到数组my中: 数组中存放的数据: my(0): 账号格式:账号,密码 例如:zhanghao,mima123 my(1): zhanghao1,mima123 my(2): zhanghao2,mima123 my(3): zhanghao3,mima123 my(4): zhanghao4,mima123
问题来了,例如数组 my(1)中,存放的是账号和密码,账号和密码直接用逗号隔开,所以说,我们还需要分割一次,才能获取到账号和密码。 分割之后,数组two里有两个元素,two(0)存放的是账号,two(1)中存放的是密码。 全部代码:- Text = Plugin.File.ReadFileEx("G:\test\游戏账号.txt") //读取文本内容
- my = split(Text, "|") //分割每行文本内容
- j = UBound(my) //计算数组元素几个
- For i= 1 to j-1 //数组my(0)里存放的是提示信息,所以这里从my(1)开始
- two = split(my(i), ",") //分割账号和密码
- TracePrint "账号" & i & ":" & two(0)
- //把读取的账号输入到游戏账号框
- TracePrint "密码:" & two(1)
- //把读取的密码输入到游戏密码框
- Next
复制代码
删除账号密码
想登录好一个账号就删除一个账号怎么实现呢? 我们可以使用命令库中的删除指定行文本内容,在读取输入好一行账号密码之后马上删除当前行
- 您所在的用户组无法下载或查看附件
全部命令——>我的命令库——>文件——>删除指定行文本内容(文本路径,行数)
代码:- Text = Plugin.File.ReadFileEx("G:\test\游戏账号.txt") //读取文本内容
- my = split(Text, "|") //分割每行文本内容
- j = UBound(my) //计算数组元素几个
- For i= 1 to j-1 //数组my(0)里存放的是提示信息,所以这里从my(1)开始
- two = split(my(i), ",") //分割账号和密码
- TracePrint "账号" & i & ":" & two(0)
- //把读取的账号输入到游戏账号框
- TracePrint "密码:" & two(1)
- //把读取的密码输入到游戏密码框
- Call Lib.文件.删除指定行文本内容("G:\test\游戏账号.txt", 2)
- //删除指定行文本内容
- Next
复制代码 注意:[backcolor=rgb(247, 247, 247)]Call Lib.文件.删除指定行文本内容("G:\test\游戏账号.txt", 2) 为什么是设置删除第二行呢?因为小编的文本里,第一行是作为提示信息的,所以从第二行开始删除,第二行删除之后,第三行进到第二行,所以每次都是删除第二行。
插入新的内容
【插入内容1】 例如,我一个账号登录过了,我想要在账号后面备注下,已登录,要如何实现?
- 您所在的用户组无法下载或查看附件
我们需要使用到命令库里的替换指定行内容的命令:
- 您所在的用户组无法下载或查看附件
步骤:
1、用join函数把被我们分割多的two数组在用分隔符逗号连接起来,还原他原来的样子,然后再&上“—已登录”这一字符串一起存放到变量m中。 2、用替换指定行内容命令,将原先的账号内容替换成变量m里的内容 ( * [backcolor=rgb(247, 247, 247)]我们要修改一行里的文本内容时,也可以运用替换指定行内容来实现,获取不需要修改的文本&上要修改的部分,然后替换掉原来的文本内容即可)
代码:- Text = Plugin.File.ReadFileEx("G:\test\游戏账号.txt") //读取文本内容
- my = split(Text, "|") //分割每行文本内容
- j = UBound(my) //计算数组元素几个
- For i= 1 to j-1 //数组my(0)里存放的是提示信息,所以这里从my(1)开始
- two = split(my(i), ",") //分割账号和密码
- TracePrint "账号" & i & ":" & two(0)
- //把读取的账号输入到游戏账号框
- TracePrint "密码:" & two(1)
- //把读取的密码输入到游戏密码框
-
- m = Join(two,",")&"—已登录"
- Call Lib.文件.替换指定行文本内容("G:\test\游戏账号.txt",m,i+1)
- Next
复制代码 注意:[backcolor=rgb(247, 247, 247)]Call Lib.文件.替换指定行文本内容("G:\test\游戏账号.txt",m,i+1) 这里为什么是从i+1行开始呢?因为数组的下标是从0开始,而替换指定行内容的命令库里的行数是从1开始,所以要加上1
【插入内容2】
这种插入内容的方式,是在一行文本后面添加新的内容,如果我们要实现新起一行添加内容呢? 比如,我们设置一个按钮,用户点击添加之后,账号和密码就添加到我们的账号文本里 这里我们要用到命令库里的插入内容到指定行的命令 |
- 您所在的用户组无法下载或查看附件
步骤:
1、画两个输入框,[backcolor=rgb(247, 247, 247)]InputBox1用于输入账号,[backcolor=rgb(247, 247, 247)]InputBox2用于输入密码 2、画一个命令按钮,点击之后,将两个输入框里的账号密码插入到文本最末行
参考代码:- Event Form1.Button1.Click
- Text = Plugin.File.ReadFileEx("G:\test\游戏账号.txt") //读取文本内容
- my = split(Text, "|") //分割每行文本内容
- j = UBound(my)//计算数组元素几个
- m=Form1.InputBox1.Text &","& Form1.InputBox2.Text
- Call Lib.文件.插入文本内容到指定行("G:\test\游戏账号.txt", m, j)
- //数组共有五个元素,j=5 将内容插入到第五行后面,即在第六行写入 "新添加的账号"
- End Event
复制代码 结果:
- 您所在的用户组无法下载或查看附件
如果童鞋们对于本帖里的内容有疑问或者有其它的思路,欢迎跟帖讨论~~
本文由按键学院提供技术支持
按键学院实战班(入驻最终幻想)火热招生
按键学院基础视频抢先观看
点评
times701
这才是实力教学
发表于 2016/10/19 22:08:46
|