Global 定义全局变量

文章目录
  1. 1. 功能
  2. 2. 语法
  3. 3. 参数
  4. 4. 返回值
  5. 5. 示例
  6. 6. 备注

功能

定义全局变量, 作用范围是同个脚本内多条线程有效, 停止脚本后清除.

语法

Global 变量名

参数

参数 数据类型 解释
变量名 标识符 任意有效标识符

返回值

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Dim a
Global env_a, env_b(1)
a = "普通变量"
env_a = "环境变量"
env_b(0) = "环境数组0"
env_b(1) = "环境数组1"

TracePrint "主线程中a = " & a
TracePrint "主线程中env_a = " & env_a
TracePrint "主线程中env_b(0) = " & env_b(0)
TracePrint "主线程中env_b(1) = " & env_b(1)

BeginThread 线程取值
Delay 1000
TracePrint "修改后主线程中a = " & a
TracePrint "修改后主线程中env_a = " & env_a
TracePrint "修改后主线程中env_b(0) = " & env_b(0)
TracePrint "修改后主线程中env_b(1) = " & env_b(1)


Sub 线程取值()
TracePrint "子线程中a = " & a
TracePrint "子线程中env_a = " & env_a
TracePrint "子线程中env_b(0) = " & env_b(0)
TracePrint "子线程中env_b(1) = " & env_b(1)

TracePrint "子线程修改值"
a = "修改后a"
env_a = "修改后环境a"
env_b(0) = "修改后环境数组0"
env_b(1) = "修改后环境数组1"

TracePrint "修改后子线程中a = " & a
TracePrint "修改后子线程中env_a = " & env_a
TracePrint "修改后子线程中env_b(0) = " & env_b(0)
TracePrint "修改后子线程中env_b(1) = " & env_b(1)
End Sub

备注

  • Global 定义全局变量DimEnv 定义环境变量Dim 定义变量 和 `省略定义的变量` 的区别如下
    • Dim 作用域最小, 仅对当前子程序或当前线程有效, 省略定义的变量 作用域对当前线程有效, Global 作用域为当前脚本所有线程, DimEnv 作用域最大, 对按键精灵所有脚本有效
    • 省略定义的变量DimGlobal 在停止脚本后数据会被清除, 但 DimEnv 只有彻底关闭按键精灵软件后数据才会被清除
    • 作用域越小的变量, 访问数据速度越快, 所以尽量使用合适的作用域定义变量