当前位置:首页 > 经验 >

qq怎么多次发同样的消息(qq怎么能发很多条信息给同一个人)

来源:原点资讯(www.yd166.com)时间:2024-02-28 23:09:13作者:YD166手机阅读>>

大家好,我是公众号3分钟学堂的郭立员

前言

写脚本的时候会遇到这种问题,就是界面上有重复(相似)的内容,需要循环执行,不过不能重复,比如以下的例子。

qq怎么多次发同样的消息,qq怎么能发很多条信息给同一个人(1)

上面这几个例子在写脚本的时候,如果不做排除重复的处理,就会针对一个内容反反复复做无效操作。

为了避免这种情况的发生,会用文本记录已经操作的内容,然后执行未操作的部分。

一、原理讲解

无论是自动聊天还是数据采集,都是要把得到数据进行一个是否重复的判断。

这里的数据通常来说是字符串,那么我选用文本作为容器存储这些数据,当有新的数据时,先和文本中的原有数据进行逐个比较,看看是否有一样的,如果全部比较之后都没有一样的,就把新数据存入到文本当中。

二、操作思路

(1)存储形式

①按行存储,就是每一个数据放一行,有新数据就新增一行

qq怎么多次发同样的消息,qq怎么能发很多条信息给同一个人(2)

②使用分隔符把每一个数据分开

qq怎么多次发同样的消息,qq怎么能发很多条信息给同一个人(3)

③、使用json格式存储

qq怎么多次发同样的消息,qq怎么能发很多条信息给同一个人(4)

实际应用时每种形式都可以的,看自己的喜好。

(2)不同形式数据的读取

①、按行存储形式的读取

Dim arr = file.readlines("/sdcard/pictures/记录.txt") For i = 1 To Len(arr) TracePrint arr[i] Next

②、分隔符存储形式的读取

Dim path = "/sdcard/pictures/记录.txt" Dim str = file.read(path) Dim arr = split(str,"----") For i = 1 To Len(arr) TracePrint arr[i] Next

③、json存储格式的读取

Dim path = "/sdcard/pictures/记录.txt" Dim str = file.read(path) TracePrint str Dim arr = encode.JsonToTable(str) For i = 1 To Len(arr) TracePrint arr[i] Next

上面几种形式本质上就是两种形式,文中的一行和多行数据形式,读取之后经过处理会把数据变成数组,然后就可以遍历数据了。

后续基本就是对于数组内容的比较,当然也有一种方式就是从文本里面一行一行的读取,相较于一次性读取,这种方法比较耗时。

(3)数据比较

由于从文本读取的数据,最后都会变成数组形式,那么我们做数据比较基本就是看新的数据在数组里面是否存储。

以下例子为了方便,直接定义了一个数组

Dim data = "郭立员" Dim arr = {"3分钟学堂","郭立员","微信xiaomu86119"} For i = 1 To Len(arr) If arr[i] = data Then TracePrint "存在这个数据" End If Next

遍历数据进行判断的过程中,如果出现一样的数据, 就可以结束跳出循环了,如果循环结束后,还没有执行跳出循环,那说明新的数据在数组中没有一样的。

Dim data = "QQ:453485278" Dim arr = {"3分钟学堂","郭立员","微信xiaomu86119"} For i = 1 To Len(arr) If arr[i] = data Then TracePrint "存在这个数据" exit for End If If i = Len(arr) Then TracePrint "这是一个新的数据,没有重复的" End If Next

比较部分数据,比如比较数组的前3个数据或者比较数组的后3个数据。

这种方式的应用场景:比如只想比较最近增加的几个数据是否有重复。

前3个比较方法,这个数量可以自己设置。

Dim data = "QQ:453485278" Dim arr = {"3分钟学堂","郭立员","微信xiaomu86119"} Dim n If len(arr) >= 3 Then n = 3 Else n = len(arr) End If For i = 1 To n If arr[i] = data Then TracePrint "存在这个数据" End If If i = Len(arr) Then TracePrint "这是一个新的数据,没有重复的" End If Next

后3个比较的方法:

Dim data = "QQ:453485278" Dim arr = {"3分钟学堂","郭立员","微信xiaomu86119"} Dim n If len(arr) >= 3 Then n = len(arr)-2 Else n = 1 End If For i = n To len(arr) If arr[i] = data Then TracePrint "存在这个数据" End If If i = Len(arr) Then TracePrint "这是一个新的数据,没有重复的" End If Next

上面两段代码中都做了数组下标范围的判断,防止超出范围引起脚本报错。

(4)新数据的写入

当判断出是新数据后,需要把它写入到文本当中,这里我只以文本多行存储为例写一下代码。

第一步先判断用来当做记录的文本是否存在,如果文本不存在的话,新建一个文本,把数据直接写入到文本中,由于是要写多行,这里我会在数据后面拼接一个换行符 \n ,目的是后续使用追加命令写入文本。

Dim path = "/sdcard/pictures/记录.txt" Dim data = "QQ:453485278" If Dir.Exist(path) = 0 Then file.Write(path,data&"\n") End If

接下来把上面的判断重复代码写上,并在确认是新数据后使用追加命令写入到文本中。

Dim path = "/sdcard/pictures/记录.txt" Dim data = "QQ:453485278" If Dir.Exist(path) = 0 Then file.Write(path,data&"\n") End If Dim arr = file.readlines(path) For i = 1 To Len(arr) If arr[i] = data Then TracePrint "存在这个数据" Exit For End If If i = Len(arr) Then TracePrint "这是一个新的数据,没有重复的" file.Append(path,data&"\n") End If Next

最后封装成函数:

函数的参数:

①、要写入的数据 data [必需参数]

②、文本路径 [非必需参数]

函数的返回值:

写入成功是True,重复数据写入失败是False

Dim data = "微信xiaomu86119" TracePrint 写入文本(data) Function 写入文本(data) Dim path = "/sdcard/pictures/记录.txt" If Dir.Exist(path) = 0 Then file.Write(path,data&"\n") End If Dim arr = file.readlines(path) For i = 1 To Len(arr) If arr[i] = data Then TracePrint "存在这个数据" 写入文本 = False Exit For End If If i = Len(arr) Then TracePrint "这是一个新的数据,没有重复的" file.Append path, data & "\n" 写入文本 = True End If Next End Function,

栏目热文

手机qq怎么连续不停地发消息(手机qq如何连续发100条消息)

手机qq怎么连续不停地发消息(手机qq如何连续发100条消息)

大家注意了,手机烦人的消息通知,是可以选择性关闭的,如果你也和我一样,也正在饱受响个不停消息通知的骚扰,就赶紧跟我来设...

2024-02-28 23:03:29查看全文 >>

qq怎么重复发一条信息(qq怎么重复发同一条消息)

qq怎么重复发一条信息(qq怎么重复发同一条消息)

相信不少小伙伴遇到过,老板在群里发布一条消息,随后员工纷纷回复“收到”。刷屏后,后面的人还要往上翻才能看到消息内容,非常...

2024-02-28 23:10:45查看全文 >>

qq怎么无限重复发消息(qq每天自动发消息怎么设置)

qq怎么无限重复发消息(qq每天自动发消息怎么设置)

日常学习工作中,我们大部分人习惯了用电脑编辑文档,但电脑便携性太差,不会随时带在身边,所以为了在不同设备上查看和编辑文件...

2024-02-28 23:12:09查看全文 >>

qq飞车占运行内存多大(qq飞车占用硬盘是多大)

qq飞车占运行内存多大(qq飞车占用硬盘是多大)

在先后获得GPU Turbo和AIS手持超级夜景技术推送之后,荣耀10GT 8GB版本终于也在不久前正式开卖。作为荣耀...

2024-02-28 23:17:46查看全文 >>

qq飞车怎么缩小内存(qq飞车界面缩小了怎么调)

qq飞车怎么缩小内存(qq飞车界面缩小了怎么调)

realme中文名真我,是一家专注提供优质智能手机的品牌, realme真我创立于2018年5月4日,专为消费者带来全新...

2024-02-28 23:37:12查看全文 >>

肺大泡不治疗的后果(肺大泡不治疗能自愈吗)

肺大泡不治疗的后果(肺大泡不治疗能自愈吗)

肺大疱是指由于各种原因导致肺泡腔内高度膨胀,肺泡壁破裂后互相融合而形成的病理性含气囊腔。多是由小支气管的活瓣性阻塞引起,...

2024-02-28 23:31:27查看全文 >>

肺泡外面包绕着什么(肺泡外表面缠绕着丰富的什么)

肺泡外面包绕着什么(肺泡外表面缠绕着丰富的什么)

3.2.2肺泡与血液的气体交换一.肺泡与血液的气体交换1. 肺泡利于气体交换的特点:肺泡数目多,增大气体交换的面积;肺泡...

2024-02-28 23:33:22查看全文 >>

肺泡中的什么透过肺泡壁进入血液(肺泡和肺泡细胞之间的关系图解)

肺泡中的什么透过肺泡壁进入血液(肺泡和肺泡细胞之间的关系图解)

第三节 合理营养与食品安全1.全面 平衡2.A.肉类和蛋类——主要提供蛋白质。B.谷类——主要提供糖类(或能量)。 C....

2024-02-28 23:27:13查看全文 >>

肺泡的特点有哪四条(肺泡具有哪三个结构特点)

肺泡的特点有哪四条(肺泡具有哪三个结构特点)

听诊---方法和内容患者可坐位或平卧位。病情不允许时可侧卧位听诊。双耳戴上听诊器耳件,右手拇指与中指握住听诊器胸体件 的...

2024-02-28 22:57:29查看全文 >>

肺泡壁上有丰富的什么(肺泡内壁主要由什么构成)

肺泡壁上有丰富的什么(肺泡内壁主要由什么构成)

一、危险化学品的概述现在全世界化学品有500--800多万种,每年新产生1000多种新化学品;市场上有150—200种被...

2024-02-28 23:38:06查看全文 >>

文档排行