频道栏目
首页 > 资讯 > Vb > 正文

VB常数

22-07-13        来源:[db:作者]  
收藏   我要投稿

在某特定的时候,虽然声明了一个变量,但却不希望这个数值被修改,这种永不会被修改的变量,统称为常量或常数。

基本信息

中文名称

VB常数

声明

变量

VisualBasic

对象浏览器

 QQ截图20220713132448.jpg

提供

应用程序和控件

范围

避免循环引用

目录

1常数

2创建属于自己的常数

3设定用户自定义常数的范围

4避免循环引用

5VB常用常数

折叠编辑本段常数

经常会发现代码包含一些常数值,它们一次又一次地反复出现。还可发现,代码要用到很难记住的数字- 而那些数字没有明确意义。

在这些情况下,可用常数大幅度地改进代码的可读性和可维护性。常数是有意义的名字,取代永远不变的数值或字符串。尽管常数有点象变量,但不能象对变量那样修改常数,也不能对常数赋以新值。常数有两种来源:

内部的或系统定义的常数是应用程序和控件提供的。在"对象浏览器"中的 Visual Basic ( VB ) 、和 Visual Basic for applications ( VBA ) 对象库中列举了 Visual Basic 的常数。其它提供对象库的应用程序,如 Microsoft Excel 和 Microsoft Project,也提供了常数列表,这些常数可与应用程序的对象、方法和属性一起使用。在每个 ActiveX 控件的对象库中也定义了常数 关于使用"对象浏览器"的详细信息,请参阅"用对象编程"。

符号的或用户定义的常数是用 Const 语句来声明的。下节"创建属于自己的常数"中将说明用户定义的常数。

在 Visual Basic 中,常数名采用大小写混合的格式,其前缀表示定义常数的对象库名。来自 Visual Basic 和 Visual Basic for applications 对象库的常数以 "vb" 开头- 例如vbTileHorizontal。

设计前缀时应尽力防止发生意外冲突,不能出现常数名称相同但表示不同数值的情况。即使使用了前缀,两个对象库也仍可能包含表示不同值的相同常数。在这种情况下,引用哪个常数取决于哪个对象库具有更高的优先级。关于改变对象库优先级的信息,请参阅 "引用对话框"部分。

为了绝对确保不发生常数名字冲突,可用以下语法来限定对常数的引用:

[libname.][modulename.]constname

Libname 通常是控件或库的类名。Modulename 是定义常数的模块的名字。Constname 是常数名。在对象库中定义了每个元素,并能在"对象浏览器"中查看元素。

折叠编辑本段创建属于自己的常数

声明常数的语法是:

[Public|Private] Const constantname[As type] = expression

参数 constantname 是有效的符号名(其规则与建立变量名的规则一样),expression 由数值常数或字符串常数以及运算符组成;但在 expression 中不能使用函数调用。

Const 语句可以表示数量或 Date / Time 量:

Const conPi = 3.14159265358979

Public Const conMaxPlanets As Integer = 9

Const conReleaseDate = #1/1/95#

也可用 Const 语句定义字符串常数:

Public Const conVersion = "07.10.A"

Const conCodeName = "Enigma"

如果用逗号进行分隔,则在一行中可放置多个常数声明:

Public Const conPi = 3.14, conMaxPlanets = 9, _

conWorldPop = 6E+09

等号 ( = ) 右边的表达式往往是数字或文字串,但也可以是其结果为数或字符串的表达式(尽管表达式不能包含函数调用)。甚至可用先前定义过的常数定义新常数。

Const conPi2 = conPi * 2

一旦已定义常数,就可将其放置在代码中,使代码更可读。例如:

Static SolarSystem (1 To conMaxPlanets)

If numPeople > conWorldPop Then Exit Sub

折叠编辑本段设定用户自定义常数的范围

和变量声明一样, Const 语句也有范围,也使用相同的规则:

为创建仅存在于过程中的常数,请在这个过程内部声明常数。

为创建一常数,它对模块中所有过程都有效,但对模块之外任何代码都无效,请在模块的声明段中声明常数。

为创建在整个应用程序中有效的常数,请在标准模块的声明段中进行声明,并在 Const 前面放置 Public 关键字。在窗体模块或类模块中不能声明 Public 常数。

详细信息 关于范围的更详细信息,请参阅本章前面的"理解变量的范围"一节。

折叠编辑本段避免循环引用

由于常数可以用其它常数定义,因此必须小心,在两个以上常数之间不要出现循环或循环引用。当程序中有两个以上的公用常数,而且每个公用常数都用另一个去定义时就会出现循环。

例如:

'在 Module1 中:

Public Const conA = conB * 2 '在整个应用程序

'中有效。

'在 Module 2:

Public Const conB = conA / 2 '在整个应用程序

'中有效。

如果出现循环,在试图运行此应用程序时,Visual Basic 就会产生错误信息。不解决循环引用就不能运行程序。为避免出现循环,可将公共常数限制在单一模块内,或最多只存在于少数几个模块内。

折叠编辑本段VB常用常数

成员

常数

等效

说明

CrLf

vbCrLf

Chr(13) + Chr(10)

回车/换行组合符。

Cr

vbCr

Chr(13)

回车符。

Lf

vbLf

Chr(10)

换行符。

NewLine

vbNewLine

Chr(13) + Chr(10)

换行符。

NullChar

vbNullChar

Chr(0)

值为 0 的字符。

n/a

vbNullString

值为 0 的字符串

与零长度字符串 ("") 不同;用于调用外部过程。

n/a

vbObjectError

-2147221504

错误号。用户定义的错误号应当大于该值。例如:

Err.Raise(Number) = vbObjectError + 1000

Tab

vbTab

Chr(9)

Tab 字符。

Back

vbBack

Chr(8)

退格字符。

FormFeed

vbFormFeed

Chr(12)

在 Microsoft Windows 中无用。

VerticalTab

vbVerticalTab

Chr(11)

在 Microsoft Windows 中无用。

相关TAG标签
上一篇:全国计算机等级考试二级VB
下一篇:vb.net
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站