admin管理员组文章数量:1530518
2024年6月18日发(作者:)
程序结构介绍
此文为小妖首发于按键精灵论坛。借百度平台转发,希望能够帮到学按键的朋友。
当然,我自己也是一个新手,只不过,我能看一点代码,做点帮助自己的减少工作量
的脚本。也达不到那些大神们,对API、dos(貌似有更多东西,可惜我只知道这些)等等
理解深刻理解的大神那样,做到自己写代码优化脚本。我只能站在这些大神们做好的东西
上,去做一些自己喜欢做的事。
估计很多人和我当初一样迷茫。看着按键的教程,学按键教程里面录制、跳转标记、
找色、找图、找字。然后弄出个满是goto。。。的脚本。最后自己都不知道脚本写的是什么。
一开始就学补血、补篮、找图打怪。不仅弄出来的脚本,自己糊涂,给别人看,别人
都糊涂。
那怎么徐徐渐进呢?
个人理解来说,我们应该从小到大。
实际上,按键是基于VBS开发出来的(不知道这句话对不对,反正就是类似VB。。。)。
一个脚本,基本上都遵循着程序结构来写的。
这儿介绍3种基本的程序结构:
1. 顺序结构。 顺序结构就是按照运行顺序决定。
比如:
1. TracePrint "第一次" //调试显示 “第一次”
2. TracePrint "第二次" //调试显示 “第二次”
3. TracePrint "第三次" //调试显示 “第三次”
这段代码,就是依次显示 第一次 第二次 第三次。
一条一条的运行,一条一条的显示。当然,这儿你完全可以单步调试来查看运行顺序。
2.选择结构。 选择结构是判断一个值,是否为真,为真的话怎么样,为假的话
怎么样。
比如:
1. If 1 = 1 Then //判断 1=1 是否成立
2. TracePrint "真的相等" //成立则调试显示 真的相等
3. Else //如果不成立
4. TracePrint "不相等" //不成立则显示 不相等
5. End if //判断语句结束
这段代码,第一句的时候,就在做判断,是否相等,相等就执行紧接着的那条,不相
等的话,就执行Else 后面的那条。 双斜杠 // 后面的字是注释,不会直接运行。这儿是
用来给大家解释语句的。可以删除,不影响脚本运行。
3.循环结构。 循环结构有很多。比如,do … loop 循环 While … wend 循
环 for … Next循环等等。我这儿不是教程,也就不一一介绍,大家可以去找相关教程。
比如:
1. For i = 0 to 3 //循环3次,循环变量为 i 每次自加1(默认)
2. TracePrint"循环" //调试输出
3. Next // 循环结束
这段代码,我用了一个变量i ,变量通俗点就是我们用于存放一些可变动的数值、
字符串等等的名称。这儿的i 相当于一个盒子,可以装我们想装的东西,比如值 1。变量
可以用来相加运算等等等。具体的需要学习变量相关教程。需要学习的包括变量命名规则、
变量定义、变量作用域、变量使用等等。当然,变量中还有数组变量、环境变量等等。
把以上的学习,那么我们就可以开始做一些小脚本了。
比如,做一个计算 1加到 100 显示结果的脚本。
先要分析,1加到100,就是累加。我们需要一个变量来装这个累加的结果。
比如,定义一个sum来装结果。
1. Dim sum
这样,我们就有了一个变量,用来装累加得到的值。
比如,1+2的值装在sum里面。那就是: sum=1+2
这儿,我们称为赋值。就是把 1+2 这个值赋值到 sum 里面。
所以,想得到1加到10可以这么写:
1. Dim sum //定义 sum
2. Sum=1+2+3+4+5+6+7+8+9+10 // 给sum 赋值,值是1加到10
3. TracePrint sum // 调试输出 sum 的值
比较偷懒,因为写到100 你看着也累,我写着也累。估计很多懂点的人都知道,这
方法太笨了。对,要是每个代码都这么写,那么我们加到一万、十万、百万怎么办。光写
这个都累死人了。
如果学过数学,那么,你就知道,这个是个等差数列。
也就是说,1到2相差1,2到3呢,也是相差1。
如果我们用一个变量来装1,那么只要他本身再加1,就会变成2,再加1就会变成
3。
啊,不懂啊?我们定义这个变量i 那么就有如下:
1. Dim i //定义
2. i = 1 //给i一个初始值
3. TracePrint i //调试下,这儿的i结果是什么
4. i=i+1 // i在自己的值的基础上加1
5. TracePrint i //再次显示i的值
这样的话, i 就会在自己的基础上增加 1。
如果我们用for 来让 i 一直从1变成100,那就是:
1. Dim i // 不要忘记了定义,大家最好去看看定义相关的。比如
全局变量与局部变量的作用域
2. i = 1 // 给i一个初始值
3. TracePrint i //显示i的值
4. For 99 //循环99次
5. i = i + 1 //i 等于它自己加1
6. TracePrint i //显示i的每运行一次之后的值
7. Next //循环结束
是不是i从1变成100了?
然后呢?Sum 是不是应该每一次i变动之后,都要加到sum里面就行了呢?
也就是:
1. Dim i , sum // 多定义了一个sum,因为要用到它。
2. i = 1 // 给i一个初始值
3. sum = 0 //同样的,要给sum一个初始值。Sum刚开始的时候应该
是0,因为还没开始加。
4. For 100 //循环100次
5. Sum = sum + i //每循环一次,sum值就等于上一次的sum值加上i。
6. i = i + 1 //i 等于它自己加1
7. Next //循环结束
8. TracePrint sum //显示sum最后的结果
估计有人会问,为什么是循环100次呢?不是循环99次,i的值就是100了吗?
我得告诉你,因为这儿有两个结构,一个是顺序结构,一个呢?是循环结构。
程序是这样运行的,
第一、定义
第二、给i赋值1,给sum赋值0。
第三、进入循环体for 100里面。先执行sum=sum+i 这句,也就是说,先把1
累加到sum里面。
第四、i 在自己的基础上加1,变成2。
最后循环下一次。下一次照样是sum=sum+i,也就是sum=1+2。
这样,一直到最后一次,这时候,循环体(循环体就是循环结构里面的那些个语句,
这儿有sum=sum+i,i=i+1)循环执行了99次,i的值为100(前面我们调试 for99次
的时候,我已经调试输出了i的值给大家看了)。但是这时候,因为i=i+1在sum=sum+i
的下面。安装顺序结构来说,i=100的时候,并没有加到sum里面。如果这个时候结束了,
那么,sum里面只加到了99。所以,我们要再加一次,把100加进去。
这就是顺序结构与循环结构结合,实现了1加到100的值。
其实,如果你进一步了解 for,那么你会知道,可以这么写。
1. Dim i, sum
2. For i = 1 to 100 //重点在这儿,i这儿作为一个变量,默认的情况下,这
样写会初始值为1每次循环的时候,自己加1,一直循环到i变成100(到100的时候还
会执行一次循环体,与上面的有点差异)。
3. Sum = sum + i
4. Next
5. TracePrint sum
本章结束。
版权声明:本文标题:零基础学按键精灵(第一章) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1718703433a714193.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论