Var 变量

Public变量的定义和使用都很简单,也能很好地完成在不同事件代码中传递和共享数据的任务。
Foxtable提供了另一种类型的全局变量:Var变量。
Var变量在定义和使用上,都不如Public变量简洁,但是Var变量有自己的优势:

1、可以在Excel报表中引用
2、可以绑定到窗口的控件
3、可以通过事件跟踪其值的变化

除非有上述三点的需要,否则应该使用Public变量,而不是Var变量。
有关如何在Excel报表中引用Var变量,以及如何在窗口中将控件绑定到Var变量,我们会在相关章节介绍。

管理Var变量

在菜单的管理项目功能区,单击下图所示的按钮:

可以管理Var变量:

通过代码增加Var变量

也可以在运行过程中,通过代码增加Var变量。

语法

Vars.Add(VarName,GetType(Type))
Vars.Add(VarName,GetType(Type),Value)

参数

VarName: 变量名称
Type:   
变量类型,需要配合GetType关键字来获得数据类型,例如GetType(String)表示字符型,GetType(Boolean)表示逻辑型。
Value:  
可选参数,用于设置变量的初始值。

例如:

Vars.Add("Mark1",GetType(Boolean),False)

表示增加一个逻辑型Var变量Mark1,初始值为False

Vars.Add("起始日期",GetType(Date),#12/31/2007#)

表示增加一个日期型Var变量,名称为“起始日期”,初始值为#12/31/2007#

引用Var变量

通过上述方法定义Var变量后, 就可以在代码中引用var变量了。

引用Var变量的语法为:

Vars(VarName)

VarName:变量名称。

例如:

If Vars("Mark1") = False Then
    Vars(
"Mark1") = True
    Vars(
"StartDate") = #8/21/2002#
   
Output.Show(Vars("StartDate"))
End
If

并非一定要事先定义

在默认情况下,Var变量并非一定要事先定义,当我们向一个Var变量赋值的时候,系统会检查此Var变量是否已经定义,如果没有定义,会根据值的类型,自动增加一个同类型的变量。

例如执行下面的代码:

Vars("abc") = 99

如果我们事先并没有通过菜单定义abc变量,那么系统会自动增加一个名为abc的整数型变量,并将其值设置为99。

变量一旦增加,就不能再改变其类型,例如我们可以改变abc变量的值:

Vars("abc") = 100
Output
.Show(Vars("abc"))

但是如果将其他类型,例如一个字符型的数据写入变量abc,则会出错:

Vars
("abc") = "Foxtable" '会出错

需要注意的是,如果要将某个Var绑定到窗口控件,则必须事先通过菜单定义此变量。

强行要求Var变量必须事先定义

Var无需定义,可以直接使用,在编码方面更灵活,但是如果代码中出现了变量名称拼写错误,将没有办法自动给予提示。
如果要求Var变量必须事先定义才能使用,可以在项目属性中,将"Var变量必须提前定义"设置为True:


本页地址:http://www.foxtable.com/webhelp/topics/0325.htm