2024-01-15 17:06:03
全新文章组合工具,支持对词组、字句进行原创随机组合,SEO必备站长工具,内置全新加强的近二十款辅助工具
原型来自原创文章生成器,但更简单好用,基本一样的操作,功能更强,操作更简,老手无需重复学习就可直接使用,新手也很容易上手。新软件是在遵循老软件原理基础上,全新设计和优化的,高效又易于使用。
核心功能:编写模板,模板中引用元素,任意位置引用任意个元素。元素可以是文本分块调用,可以是随机汉字、数字、字母,或编号序列、随机数值、随机时间。全自由原创组合模式。
特殊技能:元素套用元素(两种模式:元素组合其他元素和动态元素名嵌套调用),实现了复杂上下文构造,使得最终组合出的句子千变万化
当前软件已去除授权更新,已测试可正常使用,可能存在部分细节功能失效情况,具体功能自行分辨测试,小白介意的请勿下单!
设备需求:电脑(建议win10系统使用)win7和win11未做测试,如有需求,建议自己测试。
金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想学习按键精灵的朋友可以添加金猪脚本粉丝交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长 .
我是为了让新手知道有这些东西,吸引他们的注意。第二呢,也介绍了有这么个东西,大家需要了解。实际上,这一章需要了解的东西非常多,与前3章的关系也非常紧密。比如说,选择结构中,牵扯了式子。需要判断式子的返回值。所以,大家学习前面几章之后,小妖再次把数据结构做详解。然后在用实例,让大家具体的了解程序结构。前面我们已经介绍了程序结构的3种基本类型。这儿,就不再重复。先来说说按键的语句。(PS:因为是个人整理,难免有不全,误差,希望大家回帖提醒,小妖帖子很多不足,还有漏说的地方。因为原创,而且是一个人,在所难免。希望大家看的同时,能指出小妖的不足,帮助小妖的同时,也能帮助新手朋友,更好的了解按键)
按键控制语句大概有那么几类:
1、 顺序控制语句。(套其他语言的说法,大家按自己的理解来,我会用实例说明)
2、 选择控制语句。
3、 循环控制语句。
一、顺序控制语句
表达式语句。z=x+y如上,就是把一个表达式(x+y)的值赋值给z。
函数调用语句。
- MsgBox i
复制代码
估计你会问,这不是弹出对话框么?对,这儿调用的是标准VBS命令里面的MsgBox 函数。参数是i 。也就是弹出对话框,显示i的值。这儿需要说明一下,调用外部函数的话,需要加需要加 call 调用。如我自己写的一个函数:
- Call 测试() //这就是函数调用方式。
- Sub 测试()
- MsgBox "这是一个测试函数"
- End Sub
复制代码
当然,如果函数变成:
- Dim t
- t = 测试() //这儿其实是一个表达式语句。
- MsgBox t
- Function 测试()
- 测试= "这是一个测试函数"
- End Function
复制代码
这样的话,这个函数过程,是带有返回值的。一般的,我们会用表达式语句,这样才能把函数返回值赋值给变量。 转向语句Goto 语句,这儿需要结合rem 使用 //小妖不推荐这个,所以不仔细讲了。功能就是直接跳转rem 标记的位置。例子:
- Dim i
- i = 0
- Rem 开始
- TracePrint "第" & i & "次开始了"
- Delay 1000
- i = i + 1
- Goto 开始 //跳转到标记为 “开始” 的标签
复制代码
二、选择控制语句
选择控制语句有 if…else语句、Select语句
if…else语句
If 表达式
Then //如果 表达式为真,则 代码
ElseIf 表达式 Then //否则如果 表达式为真,则。这句如果不用可以忽略。 代码
Else //如果 表达式为真,则。这句如果不用可以忽略。 代码
End If //if控制语句结束
我们来写具体例子分析。比如,我们现在需要判断一个数,这个数是否等于2。我们只需要得到两个判断结果,1、等于2。2、不等于2。如果变量定义为i,表达式应该是:i=2。
- Dim i
- i = 2
- If i = 2 Then //表达式放在if then 中间。
- TracePrint "i等于2" //这儿是调试输出 "i等于2"
- Else // 不等于的情况(否则运行下面的代码)
- TracePrint "i不等于2"
- End If
复制代码
这样,我们就把i是否等于2写出来了。当然了,如果我们写成这样:
- Dim i
- i = 2
- If i = 2 Then //表达式放在if then 中间。
- TracePrint "i等于2" //这儿是调试输出 "i等于2"
- End If
复制代码
那么,只有i等于2的时候,if 。。。 end if 里面的代码。不等于2的时候,什么都没有。如果现在判断等于2,还是等于3,或者是都不等于这两个值。应该怎么做呢?这就用到了elseif 了。只要把等于3的情况写到elseif的条件里面就行了。因为一个值不可能又等于2、又等于3(目前按键上是这样的,什么那些高端的理论,我就不知道了)。代码如下:
- Dim i
- i=3
- If i = 2 Then
- TracePrint "i等于2"
- ElseIf i = 3 Then
- TracePrint "i等于3"
- Else
- TracePrint "i不等于2,也不等于3"
- End If
复制代码
If 就介绍到这儿了。其实都比较简单。大家多试试,灵活运用没问题。
Select语句
Select Case 选择条件
Case 0 //情况1
Case 1 //情况2
Case Else //否则
End Select
很多新手在判断各种情况的时候,使劲用elseif。这样让代码可读性非常差。而且自己也很容易弄错。Select语句就是用于多种情况选择的。如上格式。选择条件和if的选择条件一样。如果我们用来做刚才做的判断i是2还是3。那么:
- Dim i
- i=2
- Select Case i //选择条件是i的值
- Case 2 //值为 2 的时候
- TracePrint "i等于2"
- Case 3 //值为3的时候
- TracePrint "i等于3"
- Case Else
- TracePrint "i不等于2,也不等于3"
- End Select
复制代码
当然了,这儿看不出 Select语句的优势。因为值太少了。Select 的优势是把i 和 值 这两个条件分离开来。比较直观的让人看选择条件和与之匹配的值。而if 每一次elseif 都会写一个表达式。比较麻烦,也不易读,容易出错。特别是写大段代码的时候。
比如,我们写身份证号前面6位数地址返回的时候。这个数据判断有几千种情况。
- Dim 身份证前6位
- 身份证前6位 = "110001"
- Select Case 身份证前6位
- Case "110001"
- TracePrint "110001" //我这儿没有地址 直接用编码代替了 用于测试
- Case "110002"
- TracePrint "110002"
- Case "110003"
- TracePrint "110003"
- Case "110004"
- TracePrint "110004"
- Case "110005"
- TracePrint "110005"
- Case "120001"
- TracePrint "120001"
- Case "120002"
- TracePrint "120002"
- Case "120003"
- TracePrint "120003"
- Case "120004"
- TracePrint "120004”
- Case "120005"
- TracePrint "120005"
- Case Else
- //否则
- End Select
复制代码
情况如上,有几千条。如果我们用Select 就直接看到各种情况了,很直观。但是,这还不是主要原因。因为我们需要判断几千条数据,要是直接这样判断的话,时间复杂度非常高(关于什么是时间复杂度,大家可以百度。
那该怎么优化呢?我们看,如果我们身份证前6位的值为"120005",那么我们需要判断10次。如果我们把"120005"分为,”12”和”0005”两段。那么,我们分两次判断,第一次是判断前面等于”11”还是”12”,然后再判断等于”0001”、”0002”、 ”0003”、”0004”还是”0005”。那么最大的判断次数就是(如果要判断最后一个"120005")2+5=7次。其实,就是10次分为2*5,而分开之后最大为2+5。基数越大,分的越多,就越简单。当然,考虑到程序可读性,分2次就差不多了。除非有特殊情况。那估计也特殊方式去做了。具体代码如下:
- Dim 身份证前6位
- 身份证前6位 = "110001"
- 前2位 = left(身份证前6位, 2)
- 后4位 = Right(身份证前6位, 4)
- Select Case 前2位
- Case "11"
- Select Case 后4位
- Case "0005"
- TracePrint "110005"
- Case "0001"
- TracePrint "120001"
- Case "0002"
- TracePrint "120002"
- Case "0003"
- TracePrint "120003"
- Case "0004"
- TracePrint "120004"
- Case "0005"
- TracePrint "120005"
- Case Else
- End Select
- Case "12"
- Select Case 后4位
- Case "0001"
- TracePrint "120001"
- Case "0002"
- TracePrint "120002"
- Case "0003"
- TracePrint "120003"
- Case "120004"
- TracePrint "120004"
- Case "0005"
- TracePrint "120005"
- Case Else
- End Select
- Case Else
- //否则
- End Select
复制代码