• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

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

返回列表 12345678» / 13
发新话题 回复该主题

[技术交流] 【院刊】-【201408期】调试三天,气到吐血的【代码常见错误】 [复制链接]

1#
按键精灵代码常见错误
作者:兄弟工程师07 (按键学院实战班导师) 编辑:果果。。
还记不记得,那些天,急着交脚本的时候出bug了。通宵了三天三夜,调试出错。逻辑检查了一边又一边,万行代码反反复复翻来覆去推敲了无数遍。结果……

不要告诉我是中英文符号写错了,变量定义出错了,我保证不打死我自己……

在兄弟工程师07大大的帮助下,整理罗列了一些让各位脚本大大们气到吐血的按键精灵常见错误,希望大大们早日康复,重新燃起绳命的斗志



1:定义变量时直接赋值

[backcolor=rgb(247, 247, 247)]
报错提示:没有找到合法的符号

  1. //(错误代码0)没有找到合法的符号
  2. Dim a = 1
复制代码
[backcolor=rgb(247, 247, 247)]

正确代码:定义变量时不能直接赋值哦~
  1. Dim a
  2. a = 1
复制代码
[backcolor=rgb(247, 247, 247)]




2:循环语句未设置循环次数

[backcolor=rgb(247, 247, 247)]报错提示:没有找到合法的符号
  1. //第0行:无法计算取值。错误附加码=775:0
  2. For '(错误码0)没有找到合法的符号。
  3. MessageBox a
  4. Next
复制代码
正确代码:循环语句,需要在for循环后面,加上循环次数哦~不然电脑那么笨……
  1. For 5
  2. MessageBox a
  3. Next
复制代码



3:语句书写不全

[backcolor=rgb(247, 247, 247)]报错提示:无法计算取值。错误附加码=775:0
  1. //语句书写不全
  2. For i = 0 To 10 step
  3. Next
复制代码
正确代码:循环语句,在步径step后,需要指定具体的数值:如step 2 ,每次循环结束的时候变量+2;step 1,每次循环结束变量+1。
  1. For i = 0 To 10 step 1
  2. Next
复制代码



4:未设置循环条件

[backcolor=rgb(247, 247, 247)]报错提示:[backcolor=rgb(255, 255, 255)]无法计算取值。错误附加码=775:0

  1. //语法错误:脚本 11-12 ,第21行,第7个字符:(错误码0)没有找到合法的符号。
  2. //语义错误:脚本 11-12 ,第0行:无法计算取值。错误附加码=775:0
  3. While

  4. Wend
复制代码
正确代码:亲,没有定义变量,也没有设置while的循环条件哦(while后面加一个参数:循环条件)
  1. Dim a
  2. a = 1

  3. While a = 1

  4. Wend
复制代码




5:变量名与子程序、子函数重名

[backcolor=rgb(247, 247, 247)]报错提示:名称有重复。错误附加码=3102:0
  1. //语义错误:脚本 11-12 ,第60行:名称有重复。错误附加码=3102:0
  2. Dim 找字
  3. Sub 找字()

  4. End Sub
复制代码
正确代码:定义的变量名称,不能与已有的子程序或者子函数重名哦~不然按键无法判断你想调用的是谁~



6:取数组元素下标超出范围

报错提示:下标越界: '[number: 11]'
  1. //脚本 **.Q ,第**行:下标越界: '[number: 11]',
  2. Dim a(9)
  3. MessageBox a(11)
复制代码
正确代码:在按键精灵中,定义数组时dim a(9),意味着数组a的最大下限是a(9)。而在调用的时候,记得千万不能超过定义的数组下限哦·~~



7:错误类型作大小比较
[backcolor=rgb(247, 247, 247)]报错提示:类型不匹配: 'A'
  1. //脚本 11-12.Q ,第37行:类型不匹配: 'A',
  2. Dim a
  3. a = "a"
  4. If a > 1 Then
  5. MessageBox "a大于1"
  6. End If
复制代码
正确代码:“If a > 1”,左边是字符串,右边是数值,无法进行比较~若需要将其作比较可先将字符串转换成ANSI代码后比较
  1. Dim a
  2. a = "a"
  3. //得到"a"的ANSI字符代码后作大小比较
  4. If Asc(a) > 1 Then
  5. MessageBox "a大于1"
  6. End If
复制代码



8:使用数组未先定义

[backcolor=rgb(247, 247, 247)]报错提示:类型不匹配:

  1. //脚本 11-12.Q ,第52行:类型不匹配: 'MYARRAY',
  2. //脚本 11-12.Q ,第53行:类型不匹配: 'A',
  3. W1 = Clng(MyArray(0))
  4. w1=clng(a(1))
复制代码
正确代码:又是一个调用变量的时候,没有好好定义的忧桑错误:
  1. Dim MyArray(5)
  2. Dim a(5)
  3. W1 = Clng(MyArray(0))
  4. w1=clng(a(1))
复制代码



9:延时命令不合理
  1. Delay 6000
  2. //上面语句可用下面的限定次数循环语句取代,可解决按停止键停不下来的情况。
  3. For 60
  4. Delay 100
  5. Next
复制代码

报错提示:根本停不下来啊啊啊……

10:子程序使用错误

[backcolor=rgb(247, 247, 247)][backcolor=rgb(255, 255, 255)]报错提示无法计算取值。


  1. //脚本 常见脚本错误 ,第66行:无法计算取值。错误附加码=775:120
  2. TracePrint prints("ss")
  3. Sub prints(str1)
  4. prints = str1
  5. End Sub
复制代码
正确代码:sub子程序无返回值,若想输出返回值使用Function函数哦~
  1. TracePrint prints("ss")
  2. Function prints(str1)
  3. prints = str1
  4. End Function
复制代码

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

    本主题由 超级版主 瑞祥幽冥狼 于 2023/9/9 9:06:49 执行 审核帖子 操作
    <strong>按键学院交流群(开放中):376122403<br />
    <br />
    <a href="http://bbs.anjian.com/thread-548439-1-1.html" target="_blank">按键学院开班<strong> <font color="Red">【安卓导师】+【实战导师】招聘导师</font></strong>啦~~<font color="Red"><strong>待遇特别好,有钱,就是任性。</strong> </font></a><br />
    <br />
    <br />
    <a href="http://bbs.anjian.com/t
    2#

    看看 学习下

    3#

    相当给力 很好很强大

    4#

    对方

    5#

    dddddddddddddddddddddddddddddddddddddddddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

    6#

    功夫

    7#

    谢谢 很有用

    8#


    9#

    看看

    10#

    vmhm,hj,jh

    11#

    cool~~~

    12#


    13#

    和哈哈哈哈哈哈

    14#

    sdfsfsd

    15#

    mmmm

    16#

    进来试试

    17#

    啊啊啊

    18#

    1111111111111111111111111111

    19#


    20#

    顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

    发新话题 回复该主题