• 新浪微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.05
软件大小:21.6M
更新时间:07-04

按键精灵安卓版
立即下载

软件版本:3.3.0
软件大小:62.5M
更新时间:5-24

按键精灵iOS版
立即下载

软件版本:1.3.3
软件大小:29.2M
更新时间:06-14

按键精灵Mac版
立即下载

软件版本:1.1.0
软件大小:12.3M
更新时间:12-29

快捷导航

登录 后使用快捷导航
没有帐号? 注册

登录 注册
返回列表 12345678» / 38
发新话题 回复该主题

[教程心得] 【山海教程】【零基础学按键】学会函数的封装 [复制链接]

1#


零基础,轻松学习安卓按键,大家好,我是山海师~~~

前两篇教程我们学习了触控和判断循环命令,这次我们就来学习下重要的知识:封装函数--function , sub 函数的使用在脚本编写中非常频繁, 可以通过函数编写的好坏来鉴定一个脚本的效率. 这篇教程就给大家介绍下函数的封装,以及调用函数的方法

>>>>总目录贴入口<<<<

用于封装的命令主要有两个: FunctionSub
两个命令的功能基本上相同, 只是Function 除了包含Sub的功能外,还可以额外的附带函数返回值, 所以基本上在实际应用中更多的会选择使用Function 命令封装函数.


封装函数的功能就相当于把一段需要重复使用的代码, 装在一个盒子里, 在其他地方需要使用这段代码的时候, 就把这个盒子里的代码拿出来用. 这样就可以避免了一段代码重复的编写.可以缩短代码的长度. 并且适当的时候调用函数可以让代码整体看上去非常的简洁明了.

就和宠物小精灵一样~~平时放在精灵球里,需要的时候再把精灵球一丢~~~~~

命令名称Function
命令功能定义、封装一个函数
命令参数函数名:任意有效标识符。
执行语句:任意有效代码语句。
自定义参数:可选参数,允许多个,任意有效标识符
返回值可选,自定义返回值


在封装和使用函数时需要注意几点
1、函数中不能直接再次封装函数
2、使用Call调用函数的时候,不管函数是否有参数,都需要加上括号
3、可以直接使用函数名称来调用函数,直接使用名称调用函数的时候可以不加括号
4、要返回值的函数必须要在函数名后加上括号
5、函数返回值只有在函数结束退出时才会返回

简单的范例:
  1. Call 加法计算(1,5)
  2. Function 加法计算(v, v1)
  3. TracePrint v+v1
  4. End Function
复制代码
这段代码就是很简单的一个能够用来计算两个参数之和的函数。用function 把代码封装起来之后, 可以使用call + 函数名 来调用这个函数。

上面的这段范例是不带返回值的函数, 那下面就再说下函数返回值。


什么是函数返回值?
简单的说就是当调用这个函数之后,函数在结束后本身会返回一个值给你。返回的可以是一个字符串或者整数型数据甚至可以是数组。你可以使用这个返回值进行下一步操作。


带返回值的函数:
  1. TracePrint "1+5=" & 加法计算(1,5)
  2. Function 加法计算(v, v1)
  3. 加法计算 = v+v1
  4. End Function
复制代码
上面代码就是附带函数返回值的用法,函数中把参数v和参数v1两个相加的值作为函数的返回值。

赋值返回值的时候也很简单,只要把函数的名称当成是变量名来用就行了。




命令名称Sub
命令功能定义、封装一个子程序
命令参数子程序名:任意有效标识符
执行语句:任意有效代码语句
自定义参数:可选参数,允许多个,任意有效标识符
返回值


sub的用法和Function一致。唯一的区别就是sub函数不能有返回值。只能直接被调用。
  1. Call 加法计算(1,5)
  2. Sub 加法计算(v, v1)
  3. TracePrint v+v1
  4. End Sub
复制代码



什么情况下我们需要把代码封装成函数进行调用呢?
1、需要重复调用的代码
2、独立的功能模块

把需要重复调用的代码封装起来,这样可以极大的减少了代码行数,并且在使用的时候方便。比如我们时常会遇到需要滑屏的操作,需要使用touchdown命令来进行滑屏,但是一整套命令写下来太麻烦了,如果每次滑屏都需要好几行代码来实现,那就太累了。这种情况我们就可以把这滑屏的功能封装成函数,之后只要调用函数就可以实现滑屏。
  1. Function SwipeEx(x, y, x1, y1, t)
  2. TouchDown x, y, 1
  3. TouchMove x1, y1, 1, t
  4. Delay 300
  5. TouchUp 1
  6. End Function
  7. //用1000毫秒的时间从200, 100滑动到500, 100
  8. Call SwipeEx(200, 100, 500, 100, 1000)
  9. //用2000毫秒的时间从100, 562滑动到966,582
  10. Call SwipeEx(100, 562, 966, 582, 2000)
复制代码
这样就可以大大的缩短代码长度

把独立的功能模块封装成函数进行调用,这样做的最大的好处就是可以让代码看上去简洁有序,提升代码的可读性和逻辑结构稳定性,同时也方便了之后代码的后期维护。

我们来用两端同样功能的代码对比下
  1. Tap 520, 663
  2. Delay 500
  3. InputText 账号
  4. Delay 1000
  5. Tap 200, 600
  6. InputText 密码
  7. Delay 3000
  8. Tap 500, 900
  9. Tap 486, 695
  10. Delay 3000
  11. Do
  12. Tap 500, 980
  13. Delay 1000
  14. Loop
复制代码
  1. Call 输入账号(账号, 密码)
  2. Delay 1000
  3. Call 登录()
  4. Call 执行任务()

  5. Function 输入账号(账号,密码)
  6. Tap 520, 663
  7. Delay 500
  8. InputText 账号
  9. Delay 1000
  10. Tap 200, 600
  11. InputText 密码
  12. End Function
  13. Function 登录
  14. Tap 500, 900
  15. Delay 5000
  16. End Function
  17. Function 执行任务
  18. Tap 486, 695
  19. Delay 3000
  20. Do
  21. Tap 500, 980
  22. Delay 1000
  23. Loop
  24. End Function
复制代码
大家对比下这两端代码,哪段看着更易懂?上面的代码把所有功能步骤全部写在一起,如果不加注释的话很可能过段时间自己都忘了哪部分是什么功能了(并且不加注释是新手很容易犯的小错误)。而第二段代码,把每个单独的部分封装成函数,代码主体只需要分别调用这些函数就够了,简单明确。后期也好维护,哪段有问题就改哪段,不用动其他的部分。


赠人玫瑰手有余香~~~你的一个顺手回复也许就可以让这个帖子给更多的人看到,就能帮助更多的人~~~

    已有2评分我要评分查看所有评分

    本主题由 管理员 青黛 于 2018/3/1 17:27:10 执行 审核帖子 操作
    2#

    11111111111111111111111111111111

    3#

    好好干干活干活该不会

    4#

    支持~

    承接各类脚本开发

    有偿解决按键基础问题(可远程讲解)

    寻6级作者分摊单子,无需任何押金,开发全程不经我手!


    QQ:517216542

    《征途2S》和《千军》全部功能完全免费的脚本 ↓


    正式版》》
    经典版》》
    5#

    看看~~~~~~~~~~~

    6#

    基础学按键】学会函数的

    [url=http://bbs.anji
    7#

    谢谢分享

    8#

    好东西,这个 必须学习

    新人,望点拨.,,...一下拨不动,请多拨两下....
    9#

    fffffff

    10#

    学会函数的封装

    11#

    666666666666666666

    12#

    我支持你!我支持你!

    13#

    大家对比下这两端代码,哪段看着更易懂?上面的代码把所有功能步骤全部写在一起,如果不加注释的话很可能过段时间自己都忘了哪部分是什么功能了(并且不加注释是新手很容易犯的小错误)。而第二段代码,把每个单独的部分封装成函数,代码主体只需要分别调用这些函数就够了,简单明确。后期也好维护,哪段有问题就改哪段,不用动其他的部分。

    14#

    梵蒂冈梵蒂冈的费

    15#


    16#

    一定要学会它@@#

    17#

    学习学习

    18#

    继续支持

    19#

    什么东西

    20#

    来学习学习

    发新话题 回复该主题