按键精灵吧 关注:499,729贴子:1,015,398
  • 6回复贴,共1

[神梦]【分享】按键精灵中的奇技淫巧代码

只看楼主收藏回复

《一、多行代码合并一行》
1、用英文冒号 “:” 把换行符替换就行
==================【代码】=================
// 变量赋值
a = 1 : b = 2 : c = 3
// For循环
For i = 0 To 10 : TracePrint i : Next
==========================================
2、If 语句可以不用 “:” 符号,也能变单行
==================【代码】=================
// 注:按键精灵的代码检测有点问题,如果项目代码复杂可能会报错,实际上这样的语法是正确的
// 不带否则语句
If True Then TracePrint "条件成立!"
// 带有否则语句
If False Then TracePrint "条件成立!" Else TracePrint "条件不成立!"
// 两层If语句
If True Then If True Then TracePrint "条件成立!"
==========================================


IP属地:广东来自Android客户端1楼2022-11-06 23:19回复
    《二、单行代码拆分多行》
    1、用下划线 “_” 在一行代码中的空处进行拆分
    2、注:下划线前面最好加个空格,还有下划线后面不能有任何字符(包括空格)
    ===============【代码】===========
    // 拆分字符串
    字符串 = _
    " 作者:神梦无痕" & _
    " QQ:1042207232" & _
    " Q群:584781753"
    TracePrint 字符串
    // 拆分数组
    数组 = Array( _
    "a", _
    "b", _
    "c" _
    )
    // 拆分API声明
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
    ByVal lpClassName As String, _
    ByVal lpWindowName As String _
    ) As Long
    TracePrint FindWindow(vbNullString, "按键精灵")
    // 拆分If语句
    If 条件A = True _
    And 条件B = True _
    Or 条件C = False Then
    TracePrint "成功!"
    End If
    =================================


    IP属地:广东2楼2022-11-06 23:23
    回复
      《三、表示十六进制数》
      1、用 “&H” 前缀表示十六进制数,返回的是一个整数
      2、注:十六进制只能用 0~9、A~F 表示
      ==============【代码】=========
      // 可以用大写
      粉色 = &HFF00FF
      TracePrint 粉色
      // 可以用小写
      绿色 = &hff00ff
      TracePrint 绿色
      // 在 &H8000 ~ &HFFFF 范围会返回负数
      // 需要在尾部加 & 符号
      负数 = &H8000
      正数 = &H8000&
      TracePrint 负数
      TracePrint 正数
      // &H 与变量结合使用
      变量 = "800080"
      紫色 = CLng("&H" & 变量)
      TracePrint 紫色
      ==============================


      IP属地:广东3楼2022-11-06 23:24
      回复
        《四、直接表示日期时间的符号》
        1、用 “#” 来表示日期时间类型
        ============【代码】===========
        // 日期用斜杠分割
        日期时间 = #2022/11/06 22:04:00#
        TracePrint TypeName(日期时间)
        // 日期用横杠分割
        日期时间 = #2022-11-06 22:04:00#
        TracePrint TypeName(日期时间)
        // 只显示日期
        日期时间 = #2022-11-06#
        TracePrint TypeName(日期时间)
        // 只显示时间
        日期时间 = #22:04:00#
        TracePrint TypeName(日期时间)
        // 判断日期时间
        If Now() > #2022-11-06 22:04:00# Then
        TracePrint "时间过期了!"
        End If
        // 只判断时间
        If #06:00:00# <= Time() And Time() < #12:00:00# Then
        TracePrint "上午"
        ElseIf #12:00:00# <= Time() And Time() < #18:00:00# Then
        TracePrint "下午"
        Else
        TracePrint "晚上"
        End If
        ==============================


        IP属地:广东4楼2022-11-06 23:26
        回复
          《五、中括号的特殊用法》
          1、在 “VBSBegin ... VBSEnd” 块中无法使用中文作为变量
          2、需要用中括号 “[]” 进行包裹,否则报错
          ============【代码】===========
          // 包裹中文变量
          VBSBegin
          [中文变量] = "神梦无痕"
          TracePrint [中文变量]
          VBSEnd
          // 当对象某个属性名和按键精灵关键字冲突,
          // 也需要用中括号 `[]` 进行包裹,否则报错
          Set re = New RegExp
          re.Pattern = "\d+" '匹配所有数字
          re.[Global] = True
          Set Matches = re.Execute("QQ:1042207232;Q群:584781753")
          For Each Match in Matches ' Iterate Matches collection.
          匹配结果 = 匹配结果 & Match.Value & "|"
          Next
          TracePrint 匹配结果
          ==============================


          IP属地:广东5楼2022-11-06 23:27
          回复
            《按键论坛原帖》
            http://bbs.anjian.com/showtopic-703086-1.aspx


            IP属地:广东6楼2022-11-06 23:28
            回复
              😃


              IP属地:北京来自iPhone客户端7楼2022-11-07 00:27
              回复