End If End Property End Select End Sub End Type End With 必要的,用于结束一个If…Then…Else语句块 必要的,用于结束一个PropertyLet、PropertyGet、或PropertySet过程 必要的,用于结束一个SelectCase语句 必要的,用于结束一个Sub过程 必要的,用于结束一个用户定义类型的定义(Type语句) 必要的,用于结束一个With语句 二、说明:
End语句提供了一种强迫中止程序的方法,它不调用窗体和类模块中的Unload、QueryUnload、Terminate事件或任何其它VisualBasic代码,只是生硬地终止代码执行。 三、应用举例:
本示例使用End语句,在用户输入错误密码时结束代码执行。建立一个标准工程,在窗体上添加一个命令按钮和一个文本框,将下面的程序粘贴过去。 Private Sub Command1_Click() Static I As Integer
If Trim(Text1.Text) = \ MsgBox \密码正确\ Else
MsgBox \密码错误\ I = I + 1
If I = 3 Then End End If End Sub
在文本框键入password,单击命令按钮,MsgBox显示“密码正确”;在文本框键入其他字符,单击命令按钮,MsgBox显示“密码错误”,当第三次键入错误字符,将退出程序。
Enum语句
描述:定义枚举类型。 一、语法:
[Public|Private]Enum Name
Membername[=Constantexpression] Membername[=Constantexpression] ...
End Enum
Enum语句的语法包含下面部分: 部分 Public 描述 可选的。表示该Enum类型是全局的(公用的),在整个工程中都是可见的。Enum类型的缺省情况是Public。 private 可选的。表示该Enum类型是局部的,只在所声明的模块或窗体中是可见。 必需的。该Enum类型的名称。Name必须是一个合法的VisualBasic标识符,在定义该Enum类型的变量或参数时用该名称来指定类型。 必需的。用于指定该Enum类型的组成元素名称的合法VisualBasic标识符。 Name Membername 可选的。元素的值为Long类型,也/可以是别的Enum类型。如果没有Constantexpression 指定Constantexpression,则第一个Membername的值为0,其余Membername的值为序列数,后一个总比其前一个的值大1。 二、说明:
用Enum类型定义的变量叫枚举变量,枚举变量只能在模块或窗体中定义,其中的元素被初始化为Enum语句中指定的常数值。所赋给的值可以包括正数和负数,且在运行时不能改变。
在编程时,经常遇到一些数据,即不直观也不容易记忆,如果采用枚举变量可以使编程简单化。例如颜色,为六位十六进制数,为了使用方便,VB将常用颜色定义成枚举变量,在各个颜色的英文单词前面冠以vb,用以代替六位十六进制数,红色为vbRed,绿色为vbGreen,蓝色为vbBlue等。
注意:不能在With块中使用Enum类型作为目标。 三、应用举例:
下面的示例显示用Enum语句定义一个颜色常数的集合。建立一标准工程,在窗体上添加两个命令按钮和两个文本框,将下面的程序粘贴过去。 Private Enum MyColors Color1 = &HFF6347 Color2 = &HFC870E Color3 = &HF9F400 Color4 = &H9400FA Color5 = &H8B3EE3 Color6 = &H8B69F0 End Enum
Private Sub Command1_Click() Text1.BackColor = Color1 Text2.BackColor = Color2 Form1.BackColor = Color3 End Sub
Private Sub Command2_Click() Text1.BackColor = Color4 Text2.BackColor = Color5 Form1.BackColor = Color6 End Sub
分别单击两个命令按钮,你可以看到窗体和两个文本框的背景色发生变化。
Erase
语句
描述:重新初始化大小固定的数组的元素,以及释放动态数组的存储空间。 一、语法: Erase arraylist
所需的arraylist参数是一个或多个用逗号隔开的需要清除的数组变量。 二、说明:
Erase根据是固定数组还是动态数组,来采取完全不同的行为。对于固定数组恢复内存。Erase按下表来设置固定数组的元素 数组类型 固定数值数组 固定字符串数组(长度可变) 固定字符串数组(长度固定) 固定Variant数组 用户定义类型的数组 对象数组 Erase对固定数组元素的影响 将每个元素设为0 将每个元素设为零长度字符串(\将每个元素设为0 将每个元素设为Empty 将每个元素作为单独的变量来设置 将每个元素设为特定值Nothing 对于动态数组,Erase释放动态数组所使用的内存。
其实对于我们来讲,不必知道Erase采取的行为。只需知道某一动态数组使用了Erase语句后,如果再次引用该动态数组之前,程序必须使用ReDim语句来重新定义该数组变量的维数。
三、应用举例:
该示例使用Erase语句释放动态数组存储空间,然后重新分配存储空间。 Dim DynamicArray() As Integer '声明动态数组。
ReDim DynamicArray(10) '定义动态数组的维数,并为其分配存储空间。 Erase DynamicArray '释放数组所用内存。
ReDim DynamicArray(5) '重新分配存储空间。
Error语句
描述:模拟错误的发生。 一、语法:
Error errornumber
必需的errornumber可以是任何有效的错误号。 二、说明:
在VB自带的函数里,也有一条Error函数。其含义是返回对应于已知错误号的错误信息,语法是Error[(errornumber)],errornumber为可选的。Error语句和Error函数在语法上的区别是:Error语句中的错误号是必需的,且不带小扩号;而Error函数中的错误号是可选的,且必须用小扩号扩起来。其结果也是不同的,用Error语句可以人为的产生一个错误;而调用Error函数则返回错误信息。
三、应用举例:
本示例使用Error语句来模拟发生错误代号11的状况。建立一标准工程,在窗体上添加一命令按钮,将下面的程序粘贴过去。 Private Sub Command1_Click()
On Error Resume Next '发生错误后继续下一步 Error 11 '模拟\除以零\的错误
Debug.Print Err.Description '显示错误信息 End Sub
运行程序并单击按钮,我们可以在立即窗口如下的错误信息: Division by zero
Event语句
描述:定义用户自定义的事件。 一、语法:
[Public]Event procedurename[(arglist)] Event语句的语法包含下面部分: 部分 public 描述 可选的。指定该Event是全局的(公用的),在整个工程中都是可见的。缺省情况下Events类型是Public。应注意,事件只能在所声明的模块中产生。 procedurename 必需的。事件的名称;遵循标准的变量命名约定。 arglist参数的语法及语法的各个部分如下:
[ByVal|ByRef]varname[()][As type] 部分 byVal byRef 描述 可选的。表示该参数是按值传递的。 可选的,为缺省值。表示该参数是按地址传递的。 varname 必需的。代表要传递给过程的参数变量的名称;遵循标准的变量命名约定。 type 可选的。指传递给过程的参数的数据类型,可以是VB变量的各种类型、用户定义类型或对象类型,不支持定长的String。 二、说明:
这是一个高级话题,因为它涉及到了类模块的概念,而且由类模块产生事件,如果你不熟悉类的概念,就不要理它,因为这种情况不多见。
事件被声明之后,必须使用RaiseEvent语句才能激活该事件。 注意:
可以象声明过程的参数一样来声明事件的参数,但有以下不同:事件不能有带命名参数、Optional参数、或者ParamArray参数。事件没有返回值。 三、应用举例:
下面的示例是用事件来计算时间。建立一标准工程,在窗体(Form1)上添加一个命令按
钮(Command1),两个标签(Label1)和(Label2)。第一个标签显示秒,第二个标签显示分。将下面的程序粘贴过去。 Option Explicit
Dim WithEvents TMR As TimerState '声明事件 Private Sub Command1_Click()
If Command1.Caption = \启动\ Command1.Caption = \停止\ TMR.StartCounting Else
Command1.Caption = \启动\ TMR.StopCounting End If End Sub
Private Sub Form_Load()
Set TMR = New TimerState Command1.Caption = \启动\ Label2.Caption = 0 Label1.Caption = 0 End Sub
Private Sub TMR_Sec(ByVal TimJump As Double) Label1.Caption = Str(Format(TimJump, \ DoEvents End Sub
Private Sub TMR_Minute() Label1.Caption = 0
Label2.Caption = Val(Label2.Caption) + 1 TMR.TimerTask (60) End Sub
建立一个类模块,改名为TimerState,将下面的程序粘贴过去。 Option Explicit
Dim Counting As Boolean
Event Sec(ByVal dblJump As Double) Event Minute()
Public Sub StartCounting() Counting = True TimerTask (60) End Sub
Public Sub StopCounting() Counting = False TimerTask (0) End Sub
Public Sub TimerTask(ByVal Duration As Double) Dim TimStart As Double Dim TimSecond As Double
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库VB6.0快速入门与精通(含100例)(7)在线全文阅读。
相关推荐: