脚本精灵教程(让脚本具有记忆)
脚本精灵教程(让脚本具有记忆)
2024-11-06 05:07:27  作者:情义多棱镜  网址:https://m.xinb2b.cn/tech/zgw489354.html


说到记忆这个词我们肯定会想到人本身,一个人通过感官获取到外部信息以后,就会存储到大脑当中,形成了长期或者短期记忆。比如看到的、听到的、闻到的、触碰到的都能存储到大脑当中。

对于脚本来说,就没有这么复杂了,主要就是看到的,包括图片、文字。那么我们怎么去记忆以及怎么提取记忆使用,就是这篇文章要讲的主要内容了。

我们先来看看“文字的记忆“,很多软件都有配置文件,那个其实就具有记忆功能,对于按键精灵安卓版来说,最简单的方式就是通过文本记录,常用到的命令就是写入命令。我们先来看一段代码:

dim a="我要记忆的内容"dim path="/sdcard/pictures/1.txt" //"我要存储的位置是雷电模拟器的共享文件夹当中的1.txt这个文本当中"file.write(path,a)

当我运行这段代码之后,在共享文件夹里面会出现一个1.txt文本,文本内容为"我要记忆的内容",这就实现了“记忆”功能。


对于记忆来说,我们简单分成了短期记忆和长期记忆。

短期记忆是上面代码中的file.write命令,之所以叫它短期记忆,是因为只要二次运行这个命令,原来的内容就会被新的内容覆盖,多次运行以后,就只保留了最后一次运行的内容,所以叫它短期记忆。

当然不是说用了file.write命令就一定是短期记忆,如果每次存储的文件名不同,它也可以变成长期记忆。我们看一下代码:

dim arr=array("我要记忆的内容1","我要记忆的内容2","我要记忆的内容3")dim path="/sdcard/pictures/" //"我要存储的位置是雷电模拟器的共享文件夹"For i = 1 To 3file.write(path&i&".txt",arr(i-1))Next

运行这段代码以后,就会在文件夹里面生成3个文本,因为名字不同,所以它们不会互相干扰,避免了被覆盖的可能,从而形成了长期记忆。


我们再说一下另外一种长期记忆,就是在同一个文本里面插入内容,并且保留原始内容,常用命令是file.writeline。这个命令可以执行在文本的某一个行里面添加内容,不会覆盖掉原来的内容。

我们来看一下代码:

dim arr=array("我要记忆的内容1","我要记忆的内容2","我要记忆的内容3")dim path="/sdcard/pictures/1.txt" //"我要存储的位置是雷电模拟器的共享文件夹1.txt"For i = 1 To 3file.writeline(path,1,arr(i-1))Next

通过运行代码我们可以看到1.txt这个文本里面有3行内容(看下图),就是我们要记录的内容,这个命令需要特别注意,必须要在运行代码前,文件夹里面一定要有对应的文本文件,命令不会新建文件,如果没有对应的文件,就会报错。


当然上图当中,我们可能会看到文本内容是3、2、1这个顺序,这是因为每次存储的时候都会插入第一行,所以后插入的内容,就会在第一行,如果我们想要在最后一行插入,就需要每次获取当前文本中一共有多少行,然后再去指定的最后一行插入内容。

还是看一下代码:

dim arr=array("我要记忆的内容1","我要记忆的内容2","我要记忆的内容3")dim path="/sdcard/pictures/1.txt" //"我要存储的位置是雷电模拟器的共享文件夹1.txt"Dim line //行号For i = 1 To 3line = file.LinesNumber(path)file.writeline(path,line,arr(i-1))Next


写到这里是不是有人觉得长期记忆要比短期记忆好,以后如果用到“记忆”这个功能的时候,就用长期记忆,其实这么想是不对的,这个要根据具体的需要,对于短期记忆来说操作更简便,因为只有一个内容,也避免了干扰项,使用的时候不容易出错。至于使用哪种方式没有固定的,有的时候甚至是长期和短期记忆同时使用。

说到使用了,那么我就来看看怎么提取这个“记忆”,在命令库里面我们是有file.read、file.readline、file.readlines命令,它们都是读取命令,关于命令的介绍,大家可以直接看命令库,我来说一下,提取的思路。

Dim m=file.read("/sdcard/pictures/1.txt")If m = null Then TracePrint "因为文本是空的,这是首次记忆内容"Else TracePrint "读取的内容是:"&mEnd If

这段代码除了有读取功能外,还有判断功能,这个就是提取的思路,不是简单的读取。

分析一下这段代码,我主要写了读取1.txt这个文本,然后对读取的内容进行判断是不是空白的,如果是空白的,说明之前没有“记忆”过内容,脚本是首次使用,如果有内容,我就把内容输出来,可以清楚的看到内容是什么,之后脚本就可以根据内容来执行下一步具体的功能。

如果想要实现更复杂的功能,可以把文本内容赋予特定的意义,比方说,读取到的文本是1,就让脚本执行第一个功能,读取到的文本是2,就让脚本执行第二个功能,以此类推,可以给脚本赋予无限多的可能性。

关于文字记忆功能差不多就是这些内容,但是在实际应用的过程中,很可能是多次存储以及多次提取的混合使用,对于提取的内容二次处理也是非常重要的,还有涉及到大量的判读处理,我们在学习过程中要不断练习,培养自己的编程思维。

下面说一下图片记忆功能:

对于“记忆”这个功能,其实就是两个操作——存储和提取。

图片的存储我们用snapshot命令,提取我们就用找图命令。

先来看一个例子


我想要截取“账户”这个位置的图片。

SnapShot "/sdcard/pictures/1.png",70,388,111,416


生成了一个叫做1.png的图片,这个图片就是我刚刚截图保存的。如果你想要“长期记忆”那么每一次截图的文件名都要不同,否则就会被覆盖变成了“短期记忆”。

在提取记忆的时候我们是用找图命令,我们通常找图命令是这样写的


图片先要手动放到按键精灵的附件里面,之后在代码当中填写图片路径"Attachment:1.png",这样才能找到指定的图片。我们这篇文章讲的是脚本自己记忆,肯定不能用手动添加附件的方式,那么我就要修改找图命令的图片路径了,其实找图命令是支持手机(模拟器)文件路径的,也就是说上面的代码我们在不添加附件的情况下,可以写成这样:

Dim intX, intYFindPic 0, 0, 0, 0, "/sdcard/pictures/1.png", "000000", 0, 0.9, intX, intYIf intX > -1 And intY > -1 Then TracePrint "找到图了"End If

这里的图片路径是"/sdcard/pictures/1.png",和我之前截图的路径是完全一样的了。那么我们就可以把存储和提取结合在一起,形成完整的记忆了。

Dim intX, intYDoFindPic 0, 0, 0, 0, "/sdcard/pictures/1.png", "000000", 0, 0.9, intX, intYIf intX > -1 And intY > -1 Then TracePrint "找到图了,记录一下当前的位置"Delay 500SnapShot "/sdcard/pictures/1.png",70,388,111,416Exit DoElse TracePrint "没有找到图,要往上滑动了"Delay 500Swipe 200,600,200,500,1000End IfDelay 1000Loop

这段代码完成的功能是每次找到图以后,记录一下当前指定位置的图片,保存到指定路径,这样当脚本出现错误,或者手动关闭,再次开启的时候,就可以知道上次脚本运行到哪个“画面”了。

我的代码是把截图命令放到找图命令里面,实际脚本可能会放在完成某个具体的功能后面,比如聊天软件当中和某个人对话后,截取对方头像保存下来,下次在进入聊天窗口以后,可以通过判断画面中有没有截图存储的头像,来判读是不是之前进行过对话。

最后我想说,关于记忆功能在实际应用当中,不同场景的应用代码是不同的,所以大家不要单纯的套用上面我写的代码,要学会举一反三。

  • 公务员考试国考和省考的区别(公务员国考VS省考有何区别)
  • 2024-11-06公务员国考VS省考有何区别文/香妈导语:现在大学生就业局势非常严峻,很多大学生都害怕“毕业即失业”,所以他们早早地就为考公务员做准备了公务员是所有人眼里的“铁饭碗”,因为它工作稳定并且薪资待遇也很好,所以很多家长都会让学生在毕。
  • 描写快的句子(描写快的句子精选)
  • 2024-11-06描写快的句子精选于是,大伙跑得更快了,脚下像生了风似的,一溜烟儿地跑回家他就像火箭一样向我冲来你瞧,他像一头健壮的小鹿,一股气的冲向终点他像雷电一般,霎时消失地无影无踪他像兔子一般,一溜烟没了身影他风一般速度,我一眨。
  • 感冒了吃什么菜好(吃什么有利于感冒好)
  • 2024-11-06吃什么有利于感冒好首先建议多吃富含维生素C的新鲜水果和蔬菜,对于感冒的康复有帮助这时候可以喝一些西红柿鸡蛋汤,或者吃西红柿炒鸡蛋,西红柿的维生素C含量特别多,可以帮助人体抵御外来的感冒病毒,促进感冒的康复其次还可以吃芹。
  • 解读卡夫卡变形记(为什么是一只虫子)
  • 2024-11-06为什么是一只虫子最近入手了两套卡夫卡小说全集,又重读了一遍《变形记》卡夫卡在《变形记》通过写人的异化,来揭示人与人之间的隔阂,冷漠以及世界的荒诞既然是人要异化,那么异化成什么都行了,一只猫,一条狗,甚至一条金鱼或者乌。
  • 老年人是越瘦越好吗(老年人的身体是不是越瘦越好)
  • 2024-11-06老年人的身体是不是越瘦越好老年人不是越瘦越好对于无严重疾病的老年人来说,越瘦未必越好如果老年人过度消瘦,一方面反映出机体可能存在某些消耗性疾病另一方面,如果营养素摄入不足,机体营养不良,免疫力下降,也会增加患上其他疾病的风险。
  • 什么的和谐填四字词语
  • 2024-11-06什么的和谐填四字词语只要是成语就行呗家庭和谐,关系和谐,颜色和谐,搭配和谐,穿着和谐,上下和谐,气色和谐,琴瑟和谐(鸣),万事和谐,天地和谐,统一和谐,家庭和谐,关系和谐,颜色和谐,搭配和谐,穿着和谐,上下和谐我知道的就。
  • 中秋节高速公路免费时间表(中秋出行安排上了吗)
  • 2024-11-06中秋出行安排上了吗中秋节,是中国传统节日之一,为每年的农历八月十五,也是我国仅次于春节的第二大传统节日一、放假及免费政策2018年节日放假安排:9月22日—24日放假,其中,9月22、23日为周末,9月24日(星期一)。
  • 喜迎二十大邯山区(喜迎二十大邯山区)
  • 2024-11-06喜迎二十大邯山区来源:【邯郸日报-邯郸新闻网】金大智能科技、百度邯郸风控基地、邯郸制药三期等一批重量级项目加快建设,今年1—8月份省市重点项目总量和投资总额位居全市前列;冶金辅料分装出口项目等46个项目成功签约,总投。
  • 陶虹小欢喜10年复出(陶虹当初不愿接小欢喜)
  • 2024-11-06陶虹当初不愿接小欢喜闹闹腾腾的电视剧《小欢喜》正在热播,这可是一部宝藏剧作,其中不仅有多位实力派演员同台飙戏,而且剧作题材更是聚焦当下许多热点话题亲子关系、家庭教育,以及高考问题等,通通都被投射在荧屏中,因为这些焦点矛盾。
  • 配音文字转语音(原来这样可以文本转语音)
  • 2024-11-06原来这样可以文本转语音随着短视频的日益全民化,视频制作几乎成为了必备技能;还记得之前洗脑的神曲”冰墩墩“,自此AI配音开始走入大众视野,只要简单输入文字就能智能生成语音;那有什么好用的文字转语音的工具呢?今天就来推荐一款—。
  • 十月十五下元节是什么(阴历十月十五下元节)
  • 2024-11-06阴历十月十五下元节今天是2022年11月8日,什么日子?这几年因为影视作品和汉服运动影响,“上元安康”已经成为常用的元宵节祝福语,也让大众重新想起了正月十五又称“上元节”而七月十五中元鬼节,虽然至今未列入法定节假日,但。
  • 韩妆粉色化妆教程(韩国学生妆怎么画妆)
  • 2024-11-06韩国学生妆怎么画妆爱美之心,人皆有之对于女性来说,一个清新自然的妆容能够为个人形象加分不少当下流行的韩国学生妆更是受到了很多女性的偏爱,只需要以下几步轻松打造自然妆容!大多数女生都有化妆的习惯,同时,一个自然清爽的妆容。