变量的区分:
- [不定义]类Global,变量修改互相影响
 - [Dim]局部变量(在子程序、函数中声明,作用域为当前过程,变量修改互不影响)
 - [Global]全局变量(在主程序中声明,作用域为当前脚本的主、子程序、函数,但不包含多线程)
 - [DimEnv]环境变量(在主程序中声明,作用域为多个脚本的界面过程,主、子程序、函数,及多线程)
 
如何定义变量注:主程序以下简称主、子程序以下简称子、函数[Function]以下简称函、多线程[BeginThread]以下简称多不定义:- Var = 1'多无法读取;主、子、函可读取
 
- TracePrint Var'主可读取
 
- Call 子程序()
 
- TracePrint 函数()
 
- 线程ID = BeginThread(多线程)
 
- Sub 多线程()
 
-     TracePrint Var'多无法读取        
 
- End Sub
 
- Sub 子程序()
 
-     TracePrint Var'子可读取
 
- End Sub
 
- Function 函数()
 
-     TracePrint Var'函可读取
 
- End Function
 
 复制代码 Dim[主程序声明、Sub、Function内不声明][变量重新赋值互相影响]:- Dim 线程ID
 
- Dim Var
 
- Var = 1'多无法读取;主、子、函可读取
 
- TracePrint Var'主可读取
 
- Call 子程序()
 
- TracePrint 函数()
 
- 线程ID = BeginThread(多线程)
 
- Sub 多线程()
 
-     TracePrint Var'多无法读取        
 
- End Sub
 
- Sub 子程序()
 
-     TracePrint Var'子可读取
 
- End Sub
 
- Function 函数()
 
-     TracePrint Var'函可读取
 
- End Function
 
- Dim Var1,Var2'在一行定义多个常量。
 
- Var2 = 2
 
- TracePrint Var2
 
 复制代码 Dim[主程序声明或不声明;Sub、Function内声明[变量赋值互不影响]]- Dim Var
 
- Var = 1'不Dim主、子、函可读取,如果Dim 只有主可读取
 
- TracePrint Var
 
- Call 子程序()
 
- TracePrint 函数()
 
- TracePrint Var
 
- Sub 子程序()
 
-     TracePrint Var
 
-     Dim Var
 
-     Var = 2
 
-     TracePrint Var'Sub 内独立存在 Sub结束变量清空
 
- End Sub
 
- Function 函数()
 
-     TracePrint Var
 
-     Dim Var
 
-     Var =3
 
-     TracePrint Var'Function内独立存在 Sub结束变量清空
 
- End Function
 
 复制代码 定义多个变量- Dim Var1, Var2'一行定义多少个变量
 
- Var2 = 1
 
- TracePrint Var2
 
 复制代码 GlobalDimEnv[变量]- DimEnv Var'设置为环境变量,所有位置均可读取到
 
- Var = 1
 
- TracePrint Var'主可读取
 
- Call 子程序()
 
- TracePrint 函数()
 
- 线程ID = BeginThread(多线程)
 
- Sub 多线程()
 
-     TracePrint Var'多可读取        
 
- End Sub
 
- Sub 子程序()
 
-     TracePrint Var'子可读取
 
- End Sub
 
- Function 函数()
 
-     TracePrint Var'函可读取
 
- End Function
 
 复制代码 DimEnv[数组]- DimEnv Var(3)
 
- Var(0) = 1
 
- TracePrint Var(0)'主可读取
 
- Call 子程序()
 
- TracePrint 函数()
 
- 线程ID = BeginThread(多线程)
 
- Sub 多线程()
 
-     TracePrint Var(0)'多可读取        
 
- End Sub
 
- Sub 子程序()
 
-     TracePrint Var(0)'子可读取
 
- End Sub
 
- Function 函数()
 
-     TracePrint Var(0)'函可读取
 
- End Function
 
 复制代码 Const 常数- Const MyVar = 459
 
- TracePrint MyVar
 
- MyVar=1'将提示非法赋值: 'MYVAR', 常数不会象变量那样无意中被改变
 
 复制代码 Set-  Set dm = createobject("dm.dmsoft")'将对象引用赋给变量或属性
 
 复制代码 Redim Preserve 动态数组- Dim arr(), i
 
- For i = 0 To 9
 
-     Redim Preserve arr(i)
 
-     arr(i) = 0
 
-     TracePrint UBound(arr)
 
- Next
 
- TracePrint Join(arr, "|")
 
 复制代码 特殊环境变量设置'对环境变量赋值 返回true表示成功 等同于BianLiangMing = 1000
TracePrint SetEnv("BianLiangMing", 1000)
BeginThread 多线程
Sub 多线程()
    '读取环境变量的值 返回读取到的值 等同于 tmp = BianLiangMing : TracePrint tmp 
    TracePrint GetEnv("BianLiangMing")
End Sub
注意事项: QUI界面控件禁止频繁写入、读取,环境变量可能引起界面崩溃(可采用ini、txt等方式进行值传递)