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

本章结束。

本文标签: 变量结构脚本循环教程