首页 理论教育测量平差程序设计中的动态变量和静态变量

测量平差程序设计中的动态变量和静态变量

【摘要】:因此通常把由Dim定义的变量称为动态变量,而把Static定义的变量称为静态变量。②执行“工具”菜单中的“选项”命令,系统弹出如图1.10所示的“选项”对话框,单击该对话框中的“编辑器”选项卡,选中“要求变量声明”复选框。图1.10选项对话框

1.变量的命名规则

(1)名字只能由字母、数字、下划线组成。

(2)名字的第一个字母必须是英文字母,最后一个字符可以是类型说明符。

(3)名字的有效字符是255个。

(4)不能用VB的保留字作为变量名,但可以把保留字嵌入变量中;同时变量名也不能是末尾带有类型说明符的保留字。

(5)VB不区分字母的大小写,习惯上用小写字母。

2.单变量声明

(1)用类型说明符来标示。

(2)在声明变量时指定其类型,语句格式为:

Declare变量名As类型

Declare可以是Dim、Public、Static等关键字,“类型”可以是基本数据类型或用户自定义数据类型。

Dim:最常用的变量声明关键字,用于声明动态变量。当在一个Dim语句中定义多个变量时,每个变量都要用As子句声明其类型,否则该变量被看作是变体类型。

Static:用于声明静态变量。用Static定义的变量,若在某一过程中被赋值,过程执行结束后对其赋的值会继续保留。而用Dim定义的变量,再次调用该过程时,变量值会被重新设置(数值变量重新设置为0,字符变量被设置为空)。因此通常把由Dim定义的变量称为动态变量,而把Static定义的变量称为静态变量。

Public:用来在标准模块中定义全局变量。

VB允许以符号定义变量数据类型,例如整型可以用“%”定义,长整型可以用“&”定义,实型可以用“!”定义,双精度实型可以用“#”定义。即Dim Inde x%等价于Dim Index As Integer。

3.数组变量声明

(1)静态数组。

数组变量的声明类似于单变量声明,所不同的是数组变量需要指定数组中的元素个数,例如:

Dim IntegerArray(99) As Integer

这个数组中包含100个元素,下标从0到99。

也可以指定下标的起始值,例如:

Dim IntegerArray(2 to 10) As Integer(www.chuimin.cn)

这个数组含有9个元素,下标从2到10。

还可以定义多维数组,例如:

Dim ThreeD(4,2 to 5,3 to 6) As Integer

这条语句声明了一个三维数组(4×4×4)。

数组类型为Variant时,数组中各元素可以为不同类型的数据(对象、字符串、数值等)。

(2)动态数组。

在程序开始运行时,不能确定数组容量,在运行过程中才能获知数组容量,则可以设置动态数组。动态数组可在使用过程中重新声明数组的大小,操作步骤如下:

①声明一个未指明大小及维数的数组。

Public∣Private∣Dim∣Static数组名()As类型

②用ReDim语句分配实际的元素个数。

ReDim[Private] 数组名(〈维数定义〉)[As〈类型〉]

ReDim语句将清除数组变量内容,因而可以利用这一功能来清空数组。若想改变数组大小而又不丢失数组中数据,则应使用Private关键字。但注意只能改变多维数组中最后一维的上界。

4.Option Explicit语句

Option Explicit语句的作用是强制所有变量必须声明才能引用。使用 Option Explicit 一方面可避免拼错现有变量或函数名,或避免在变量范围不清楚的代码中产生混淆;另一方面,VB将未声明的变量都视为“Variant”变量,“Variant”变量虽然可以存放各种数据类型,但也是运算速度最慢的变量类型,因而应用强制声明语句,可以节省动态分配变量存储空间和运算寻址时间。

为确保在使用变量前已经进行了变量说明,只需要在模块中加入 Option Explicit语句。当模块中使用了Option Explicit语句后,系统在编译程序时,将检查模块中所有的变量,一旦发现有变量未声明,将产生一个出错信息,提示用户改正错误。

Option Explicit语句可以通过以下两种方法输入:

①在代码编辑栏中输入Option Explicit。

②执行“工具”菜单中的“选项”命令,系统弹出如图1.10所示的“选项”对话框,单击该对话框中的“编辑器选项卡,选中“要求变量声明”复选框。这样VB就会在任何新模块中自动插入Option Explicit语句。

图1.10 选项对话框