vb6.0语句大全_第1页
vb6.0语句大全_第2页
vb6.0语句大全_第3页
vb6.0语句大全_第4页
vb6.0语句大全_第5页
已阅读5页,还剩117页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Vb6.0语句大全1、AppActivate 语句       激活一应用程序窗口。语法AppActivate title, waitAppActivate 语句的语法具有以下几个命名参数:部分描述title必需的。字符串表达式,所要激活的应用程序窗口的标题。可以使用 Shell 函数返回的任务识别码来替换 title,以激活应用程序。wait可选的。Boolean 值,说明在激活另一个应用程序之前调用的应用程序是否有焦点。如果为 False(缺省),那么,即使调用的应用程序没有焦点,也直接激活指定的应用程序。如果为 True,则调用

2、的应用程序会等到有焦点后,才激活指定的应用程序。说明AppActivate 语句将焦点移动到命名的应用程序或窗口,但并不影响焦点是否最大化或最小化。当用户采取行动改变焦点或将窗口关闭时,就会将焦点从活动的应用程序窗口移动出去。可用 Shell 函数启动一个应用程序并设置窗口样式。在决定激活哪个应用程序时,请将 title 与每一个运行中的应用程序的标题字符串进行比较。如果没有完全匹配,就激活任何这样的应用程序,其标题字符串以 title 开头。如果以 title 命名的应用程序有很多实例,则激活任何一个实例。AppActivate 语句示例本示例说明使用 AppActivate 语句来激活应用

3、程序的各种用法。示例中用到的 Shell 语句均假定该应用程序已经存在指定的路径中。Dim MyAppID, ReturnValueAppActivate "Microsoft Word" ' 激活 Microsoft Word。' AppActivate 也可利用 Shell 函数的返回值。MyAppID = Shell("C:WORDWINWORD.EXE", 1) ' 运行 Microsoft Word。AppActivate MyAppID ' 激活 Microsoft Word。' 您也可使用 Shell

4、 函数的返回值。ReturnValue = Shell("c:EXCELEXCEL.EXE",1) ' 运行 Microsoft Excel。AppActivate ReturnValue ' 激活 Microsoft Excel。2、Beep 语句      通过计算机喇叭发出一个声调。语法Beep说明呼叫的频率与时间长短取决于硬件和系统软件,并随电脑不同而不同。.Beep 语句示例本示例使用 Beep 语句让计算机连续响三声。Dim IFor I = 1 To 3 ' 循环 3 次。 B

5、eep ' 发出一声。Next I3、Call 语句       将控制权转移到一个 Sub 过程,Function 过程,或动态连接库 (DLL)过程。语法Call name argumentlistCall 语句的语法具有以下几个部分:部分描述Call可选参数;关键字。如果指定了这个关键字,则 argumentlist 必须加上括号,例如: Call MyProc(0)name必要参数,要调用的过程名称。argumentlist 说明调用一个过程时,并不一定要使用 Call 关键字。如果使用 Call

6、关键字来调用一个需要参数的过程,argumentlist 就必须要加上括号。如果省略了 Call 关键字,那么也必须要省略 argumentlis 外面的括号。如果使用 Call 语法来调用内建函数或用户定义函数,则函数的返回值将被丢弃。若要将整个数组传给一个过程,使用数组名,然后在数组名后加上空括号。Call 语句示例下列示例示范如何使用 Call 语句来将控制转移到子过程、内在函数、和动态链接库(DLL)过程,' 调用一个子过程。Call PrintToDebugWindow("Hello World") ' 上面的语句将控制转移到下面的子过程。Sub

7、PrintToDebugWindow(AnyString) Debug.Print AnyString ' 在“立即”窗口中显示。End Sub' 调用一个内在函数,函数的返回值被忽略不处理。Call Shell(AppName, 1) ' AppName 包含可执行文件的路径。' 调用 Microsoft Windows DLL 过程。该声明语句必需是类模块中的私有的,而不是标准模块中的。Private Declare Sub MessageBeep Lib "User" (ByVal N As Integer)Sub CallMyDll(

8、) Call MessageBeep(0) ' 调用 Windows DLL 过程。 MessageBeep 0 ' 再次调用,但不用“调用”这个关键字。End Sub4、ChDir 语句      改变当前的目录或文件夹。语法ChDir path必要的 path 参数是一个字符串表达式,它指明哪个目录或文件夹将成为新的缺省目录或文件夹。path 可能会包含驱动器。如果没有指定驱动器,则 ChDir 在当前的驱动器上改变缺省目录或文件夹。说明 ChDir 语句改变缺省目录位置,但不会改变缺省驱动器位置。例如,如果缺省的

9、驱动器是 C,则下面的语句将会改变驱动器 D 上的缺省目录,但是 C 仍然是缺省的驱动器:ChDir "D:TMP" ChDir 语句示例本示例使用 ChDir 语句来改变当前目录或文件夹。' 将当前目录或文件夹改为“MYDIR”。ChDir "MYDIR"' 假设当前的驱动器是“C:”,下列语句将把' 缺省目录改至“D:”,而“C:”仍旧是当前驱动器。ChDir "D:WINDOWSSYSTEM"5、ChDrive 语句      改变当前的驱动器。

10、语法ChDrive drive必要的 drive 参数是一个字符串表达式,它指定一个存在的驱动器。如果使用零长度的字符串 (""),则当前的驱动器将不会改变。如果 drive 参数中有多个字符,则 ChDrive 只会使用首字母。ChDrive 语句示例本示例使用 ChDrive 语句来改变当前的驱动器。ChDrive "D" ' 使“D”成为当前驱动器。6、Close 语句      关闭 Open 语句所打开的输入/输出 (I/O) 文件。语法Close filenumberlist

11、可选的 filenumberlist 参数为一个或多个文件号,其中 filenumber 为任何有效的文件号,语法如下:#filenumber , #filenumber . . .说明若省略 filenumberlist,则将关闭 Open 语句打开的所有活动文件。当关闭 Output 或 Append 打开的文件时,将属于此文件的最终输出缓冲区写入操作系统缓冲区。所有与该文件相关联的缓冲区空间都被释放。在执行 Close 语句时,文件与其文件号之间的关联将终结。Close 语句示例本示例使用 Close 语句来关闭所有为 Output 而打开的三个文件。Dim I, FileNameFor

12、 I = 1 To 3 ' 循环三次。 FileName = "TEST" & I ' 创建文件名。 Open FileName For Output As #I ' 打开文件。 Print #I, "This is a test." ' 将字符串写入文件。Next IClose ' 将三个已打开的文件全部关闭。7、Const 语句       声明用于代替文字量的常数。语法Public | Private Const constname As t

13、ype = expressionConst 语句的语法包含下面部分:部分描述Public可选的。该关键字用于在模块级别中声明在所有模块中对所有过程都可以使用的常数。在过程中不能使用。Private可选的。该关键字用于在模块级声明只能在包含该声明的模块中使用的常数。不能在过程中使用。constname必需的。常数的名称;遵循标准的变量命名约定。type可选的。常数的数据类型;可以是 Byte、布尔、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String 或 Variant。所声明的每个变量都要使用一个单独的 As 类型子句。

14、expression必需的。文字,其它常数,或由除 Is 之外的任意的算术操作符和逻辑操作符所构成的任意组合。说明在缺省情况下常数是私有的。过程中的常数总是私有的;它们的可见性无法改变。在标准模块中,可以用 Public 关键字来改变模块级常数可见性的缺省值。不过,在类模块中,常数只能是私有的,而且用 Public 关键字也不能改变其可见性。为了在一行中声明若干个常数,可以使用逗号将每个常数赋值分开。用这种方法声明常数时,如果使用了 Public 或 Private 关键字,则该关键字对该行中所有常数都有效。在给常量赋值的表达式中,不能使用变量,用户自定义的函数,或 Visual Basic

15、的内部函数(如 Chr)。注意 常数可以使程序更具可读性,以及易于修改。在程序运行时,常数不会象变量那样无意中被改变。如果在声明常数时没有显式地使用 As type 子句,则该常数的数据类型是最适合其表达式的数据类型。在 Sub、Function 或 Property 过程中声明的常数都是该过程的局部常数。在过程外声明的常数,在包含该声明的模块中被定义。在可以使用表达式的地方,都可以使用常数。Const 语句示例该示例使用 Const 语句来声明用于代替文字值的常数。Public 常数在标准模块的通用部分声明,而不是在类模块中声明。Private 常数可以在任何模块类型的通用部分声明。'

16、;缺省情况下常数是私有的。Const MyVar = 459'声明公用常数。Public Const MyString = "HELP"'声明私有的整数常数。Private Const MyInt As Integer = 5'在一行中声明多个常数。Const MyStr = "Hello", MyDouble As Double = 3.4567 8、Date 语句      设置当前系统日期。语法Date = date对于运行 Microsoft Windows 95

17、 的系统,要设置的 date 必须介于 1980 年 1月 1 日与 2099 年 12 月 31 日之间。对于运行 Microsoft Windows NT 的系统,date 必须介于公元 1980 年 1 月 1 日到 2079 年 12 月 31 日之间。Date 语句示例本示例使用 Date 语句来设置系统日期。在开发环境中,日期原义会根据系统的地区设置,以短式日期格式显示。Dim MyDateMyDate = #February 12, 1985# ' 指定某个日期。Date = MyDate ' 改变系统日期。9、Declare 语句  

18、0;    用于在模块级别中声明对动态链接库 (DLL) 中外部过程的引用。语法 1Public | Private Declare Sub name Lib "libname" Alias "aliasname" (arglist)语法 2Public | Private Declare Function name Lib "libname" Alias "aliasname" (arglist) As typeDeclare 语句的语法包含下面部分:部分描述Public可选的。用于

19、声明对所有模块中的所有其它过程都可以使用的过程。Private可选的。用于声明只能在包含该声明的模块中使用的过程。Sub可选的(但 Sub 或 Function 二者需选其一)。表示该过程没有返回值。Function可选的(但 Sub 或 Function 二者需选其一)。表示该过程会返回一个可用于表达式的值。name必需的。任何合法的过程名。注意动态链接库的入口处(entry points)区分大小写。Lib必需的。指明包含所声明过程的动态链接库或代码资源。所有声明都需要 Lib 子句。libname必需的。包含所声明的过程动态链接库名或代码资源名。Alias可选的。表示将被调用的过程在动态

20、链接库 (DLL) 中还有另外的名称。当外部过程名与某个关键字重名时,就可以使用这个参数。当动态链接库的过程与同一范围内的公用变量、常数或任何其它过程的名称相同时,也可以使用 Alias。如果该动态链接库过程中的某个字符不符合动态链接库的命名约定时,也可以使用 Alias。aliasname可选的。动态链接库或代码资源中的过程名。如果首字符不是数字符号 (#),则 aliasname 是动态链接库中该过程的入口处的名称。如果首字符是 (#),则随后的字符必须指定该过程的入口处的顺序号。arglist可选的。代表调用该过程时需要传递的参数的变量表。type可选的。Function 过程返回值的数

21、据类型;可以是 Byte、布尔、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(只支持变长)或 Variant,用户定义类型,或对象类型。arglist 参数的语法以及语法各个部分如下:Optional ByVal | ByRef ParamArray varname( ) As type部分描述Optional可选的。表示参数不是必需的。如果使用该选项,则 arglist 中的后续参数都必需是可选的,而且必须都使用 Optional 关键字声明。如果使用了 ParamArray,则任何参数都不能使用 Option

22、al。ByVal可选的。表示该参数按值传递。ByRef表示该参数按地址传递。 ByRef 是 Visual Basic 的缺省选项。 ParamArray可选的。只用于 arglist 的最后一个参数,表示最后的参数是一个 Variant 元素的 Optional 的数组。使用 ParamArray 关键字可以提供任意数目的参数。ParamArray 关键字不能与 ByVal、ByRef或 Optional 一起使用。varname必需的。代表传给该过程的参数的变量名;遵循标准的变量命名约定。( )对数组变量是必需的。指明 varname 是一个数组。type可选的。传递给该过程的参数的数据类

23、型;可以是 Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(只支持变长)、Object、Variant、用户自定义的类型或对象类型。说明对Function 过程而言,过程的数据类型决定其返回值的数据类型。可以在 arglist 之后使用 As 子句来指定函数返回值的数据类型。在 arglist 中,可以使用 As 子句来指定任何传给该过程的参数的数据类型。不单可以指定为任何标准数据类型,还可以在 arglist 中指定 As Any 来禁止类型检查,从而允许将任意数据类型传递给该过程。空圆

24、括号表示该 Sub 或 Function 过程没有参数,且 Visual Basic 应确保不会传递任何参数。在下面的示例中,First 不带任何参数。如果对 First 的调用中使用了参数,就会产生错误:Declare Sub First Lib "MyLib" ()如果带参数表,则每次调用该过程时都要检查参数的个数和类型。在下面的示例中,First 有一个 Long 参数:Declare Sub First Lib "MyLib" (X As Long)注意 在 Declare 语句的参数表中不能有定长的字符串;只有变长的字符串才能传给过程。定长的字

25、符串可以作为过程参数使用,但在传递前都要被转换为变长的字符串。注意 当所调用的外部过程需要一个值为 0 的字符串时,就要使用 vbNullString 常数。该常数与零长度字符串 ("") 是不相同的。Declare 语句示例该示例演示如何在标准模块的模块级使用 Declare 语句来声明对动态链接库 (DLL) 中的一个外部过程的引用。如果是 Private 的 Declare 语句,则可以用于类模块。'在 Microsoft Windows(16 位)中:Declare Sub MessageBeep Lib "User" (ByVal N

26、As Integer)'假设 SomeBeep 是该过程名的别名。Declare Sub MessageBeep Lib "User" Alias "SomeBeep"(ByVal N As Integer)'在 Alias 子句使用顺序号来调用 GetWinFlags。Declare Function GetWinFlags Lib "Kernel" Alias "#132"() As Long'在 32 位 Microsoft Windows 系统中,指定的库应是 USER32.DLL,

27、'而不是 USER.DLL。可以使用条件编译来编写'既可在 Win32 又可在 Win16 环境运行的代码。#If Win32 Then Declare Sub MessageBeep Lib "User32" (ByVal N As Long)#Else Declare Sub MessageBeep Lib "User" (ByVal N As Integer)#End If10、Deftype 语句      在模块级别上,为变量和传给过程的参数,设置缺省数据类型,以及为其

28、名称以指定的字符开头的 Function 和 Property Get 过程,设置返回值类型。语法DefBool letterrange, letterrange . . .DefByte letterrange, letterrange . . .DefInt letterrange, letterrange . . .DefLng letterrange, letterrange . . .DefCur letterrange, letterrange . . .DefSng letterrange, letterrange . . .DefDbl letterrange, letterr

29、ange . . .DefDec letterrange, letterrange . . .DefDate letterrange, letterrange . . .DefStr letterrange, letterrange . . .DefObj letterrange, letterrange . . .DefVar letterrange, letterrange . . .所需的 letterrange 参数遵循下述语法:letter1-letter2letter1 和 letter2 参数指定设置缺省数据类型的名称范围。每个参数都是指变量,参数和 Function 过程,或

30、Property Get 过程名称的首字母,且参数可以是字母表中的任意字母。letterrange 中不区分字母的大小写。说明语句的名字就确定相应的数据类型:语句数据类型DefBool布尔DefByteByteDefIntIntegerDefLngLongDefCurCurrencyDefSngSingleDefDblDoubleDefDecDecimal(目前尚不支持)DefDateDateDefStrStringDefObjObjectDefVarVariant例如,在下面的程序段中,Message 就是一个字符串变量:DefStr A-Q. . .Message = "Out

31、of stack space."Deftype 语句只在使用该语句的模块中有效。例如,一个模块中的 DefInt 语句只对在该模块中声明的变量和传给过程的参数的缺省数据类型,以及 Function 和 Property Get 过程的返回值的类型有效;而其它模块中的变量、参数、以及返回值的缺省数据类型就不受影响。如果不用 Deftype 语句显式地声明,则所有变量、参数、Function 过程、以及 Property Get 过程的缺省数据类型都是 Variant。当指定字符范围时,通常为以字符集的前 128 个字符中的字符开始的变量定义数据类型。不过,如果指定的字符范围是AZ,则将

32、所有的变量,包括以字符集的扩展部分(128255) 中的国际字符开始的变量的缺省类型都设为指定的类型。在指定了AZ 范围之后,就不能再使用 Deftype 语句来重新定义任何子范围的变量了。在指定一个范围后,如果另一个 Deftype 语句定义的范围中含有前面已定义的字符,就会产生错误。不过,不管变量是否已定义,都可以使用带 As type 子句的 Dim 语句来显式指定其数据类型。例如,可以在模块级使用如下代码将一个缺省数据类型为 Integer 的变量定义为 Double:DefInt A-ZDim TaxRate As DoubleDeftype 语句对用户定义类型中的元素无影响,因为这

33、些元素必须显式声明。Deftype 语句示例该示例演示了 Deftype 语句的多种用法,来设置那些名称是以指定字符开头的变量和函数过程的缺省数据类型。只有使用 Dim 语句的显式赋值,才可以覆盖这种缺省数据类型。Deftype 语句只能在模块级使用(即不能在过程内使用)。'将名称以 A 至 K 开头变量的缺省数据类型设为 Integer 类型。DefInt A-K'将名称以 L 至 Z 开头变量的缺省数据类型设为 String 类型。DefStr L-ZCalcVar = 4 '初始化为 Integer。StringVar = "Hello there&qu

34、ot; '初始化为 String。AnyVar = "Hello" '导致 "Type mismatch" 错误。Dim Calc As Double '赋给一个 Double 类型。Calc = 2.3455 '允许指定为一个 Double 数。'Deftype 语句也可以应用于函数过程。CalcNum = ATestFunction(4) '调用用户自定义的函数。'ATestFunction 函数过程的定义。Function ATestFunction(INumber) ATestFunctio

35、n = INumber * 2 '返回值是一个 Integer。End Function11、DeleteSetting 语句       在 Windows 注册表中,从应用程序项目里删除区域或注册表项设置。语法 DeleteSetting appname, section, keyDeleteSetting 语句的语法具有下列命名参数:部分描述appname必需的。字符串表达式,包含应用程序或工程的名称,区域或注册表项用于这些应用程序或工程。section必要。字符串表达式,包含要删除注册表项设置的区域名称。如果只有 ap

36、pname 和 section,则将指定的区域连同所有有关的注册表项设置都删除。key可选。字符串表达式,包含要删除的注册表项设置。说明如果提供了所有参数,则删除指定的注册表项设置。如果试图使用不存在的区域或注册表项设置上的 DeleteSetting 语句,则发生一个运行时错误。DeleteSetting 语句示例下列示例先使用 SaveSetting 语句,来建立Windows注册区(或 16位 Windows 平台的 ini 文件)里 MyApp应用程序的项目,然后使用 DeleteSetting 语句将之删除。因为没有指定 key参数,整个区段都会被删除掉,包括区段名称及其所有的机码(

37、key)。' 在注册区中添加一些设置值。SaveSetting appname := "MyApp", section := "Startup", _ key := "Top", setting := 75 SaveSetting "MyApp","Startup", "Left", 50 ' 删除区段及所有的设置值。DeleteSetting "MyApp", "Startup" 12、Dim 语句 

38、0;    声明变量并分配存储空间。语法Dim WithEvents varname(subscripts) As New type , WithEvents varname(subscripts) As New type . . .Dim 语句的语法包含下面部分:部分描述WithEvents可选的。关键字,说明 varname 是一个用来响应由 ActiveX 对象触发的事件的对象变量。只有在类模块中才是合法的。使用 WithEvents,可以声明任意个所需的单变量,但不能使用 WithEvents 创建数组。New 和 WithEvents 不能一起

39、使用。varname必需的。变量的名称;遵循标准的变量命名约定。subscripts可选的。数组变量的维数;最多可以定义 60 维的多维数组。subscripts 参数使用下面的语法: lower To upper , lower To upper . . . 如果不显式指定 lower,则数组的下界由 Option Base 语句控制。如果没有使用 Option Base 语句,则下界为 0。New可选的。可隐式地创建对象的关键字。如果使用 New 来声明对象变量,则在第一次引用该变量时将新建该对象的实例,因此不必使用 Set 语句来给该对象引用赋值。New 关键字不能声

40、明任何内部数据类型的变量,以及从属对象的实例,也不能与 WithEvents 一起使用。type可选的。变量的数据类型;可以是 Byte、布尔、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(对变长的字符串)、String * length (对定长的字符串)、Object、Variant、用户定义类型、或对象类型。所声明的每个变量都要一个单独的 As type 子句。说明在模块级别中用 Dim 声明的变量,对该模块中的所有过程都是可用的。在过程级别中声明的变量,只在过程内是可用的。可以使用 Dim 语句在模块级或

41、过程级中声明变量的数据类型。例如,下面的语句声明了 Integer 类型的变量。Dim NumberOfEmployees As Integer也可以使用 Dim 语句来声明变量的对象类型。下面的语句为工作表的新建实例声明了一个变量。Dim X As New Worksheet如果定义对象变量时没有使用 New 关键字,则在使用该变量之前,必须使用 Set 语句将该引用对象的变量赋值为一个已有对象。在该变量被赋值之前,所声明的对象变量有一个特定值 Nothing,这个值表示该变量没有指向任一个对象实例。也可以使用带空圆括号的 Dim 语句来定义动态数组。在定义动态数组后,可以在过程内使用 Re

42、Dim 语句来定义该数组的维数和元素。如果试图在 Private,Public 或 Dim 语句中重新定义一个已显式定义了大小的数组的维数时,就会发生错误。如果不指定数据类型或对象类型,且在模块中没有 Deftype 语句,则该变量按缺省设置是 Variant 类型。当初始化变量时,数值变量被初始化为 0,变长的字符串被初始化为一个零长度的字符串 (""),而定长的字符串则用 0 填充。Variant 变量被初始化为 Empty。用户自定义类型的变量的每个元素作为各自独立的变量进行初始化。注意 当在过程中使用 Dim 语句时,通常将 Dim 语句放在过程的开始处。Dim 语

43、句示例该示例演示使用 Dim 语句来声明变量,也演示了用 Dim 语句来声明数组。数组的缺省下界为 0,可以在模块级使用 Option Base 语句来取代数组的缺省下界。'AnyValue 和 MyValue 按缺省情况被声明为 Variant,'同时值被设为 Empty。Dim AnyValue, MyValue'显式声明一个 Integer 类型的变量。Dim Number As Integer'在一行中声明多个变量。AnotherVar 为 Variant 类型,'因为它的类型被省略了。Dim AnotherVar, Choice As Bool

44、ean, BirthDate As Date'DayArray 是一个有 51 个索引(从 0 到 50)元素的 Variant 数组,'假设在当前模块中 Option Base 被设为 0(缺省设置)。Dim DayArray(50)'Matrix 是一个二维 Integer 数组。Dim Matrix(3, 4) As Integer'MyMatrix 是一个显式指定了上下界'的三维 double 数组。Dim MyMatrix(1 To 5, 4 To 9, 3 To 5) As Double'BirthDay 是一个索引从 1 到 10

45、的 date 数组。Dim BirthDay(1 To 10) As Date 'MyArray 是一个 variant 动态数组。Dim MyArray()13、Do.Loop 语句       当条件为 True 时,或直到条件变为 True 时,重复执行一个语句块中的命令。语法Do While | Until conditionstatementsExit DostatementsLoop或者可以使用下面这种语法:DostatementsExit DostatementsLoop While | Until condit

46、ionDo Loop 语句的语法具有以下几个部分:部分描述condition可选参数。数值表达式或字符串表达式,其值为 True 或 False。如果 condition 是 Null,则 condition 会被当作 False。statements一条或多条命令,它们将被重复当或直到 condition 为 True。说明在DoLoop 中可以在任何位置放置任意个数的 Exit Do 语句,随时跳出Do匧oop 循环。Exit Do 通常用于条件判断之后,例如If匱hen,在这种情况下,Exit Do 语句将控制权转移到紧接在 Loop 命令之后的语句。如果 Exit Do 使用在嵌套的D

47、oLoop 语句中,则 Exit Do 会将控制权转移到 Exit Do 所在位置的外层循环。Do.Loop 语句示例本示例示范如何使用 Do.Loop 语句。内层的 Do.Loop 语句循环到第 10 次时将标志值设置为 False,并用 Exit Do 语句强制退出内层循环。外层循环则在检查到标志值为 False 时,马上退出。Dim Check, CounterCheck = True: Counter = 0 ' 设置变量初始值。Do ' 外层循环。 Do While Counter < 20 ' 内层循环。 Counter = Counter + 1 &

48、#39; 计数器加一。 If Counter = 10 Then ' 如果条件成立。 Check = False ' 将标志值设成 False。 Exit Do ' 退出内层循环。 End If LoopLoop Until Check = False ' 退出外层循环。14、End 语句       结束一个过程或块。语法EndEnd Function End IfEnd Property End SelectEnd SubEnd TypeEnd WithEnd 语句的语法有以下几种形式:语句描述En

49、d停止执行。不是必要的,可以放在过程中的任何位置关闭代码执行、关闭以 Open 语句打开的文件并清除变量。End Function必要的,用于结束一个 Function 语句。End If必要的,用于结束一个IfThenElse 语句块。End Property必要的,用于结束一个Property Let、Property Get、或 Property Set 过程。End Select必要的,用于结束一个 Select Case 语句。End Sub必要的,用于结束一个 Sub 语句。End Type必要的,用于结束一个用户定义类型的定义(Type 语句)。End With必要的,用于结束一

50、个 With 语句。说明在执行时,End 语句会重置所有模块级别变量和所有模块的静态局部变量。若要保留这些变量的值,改为使用 Stop 语句,则可以在保留这些变量值的基础上恢复执行。注意   End 语句不调用 Unload、QueryUnload、或 Terminate 事件或任何其它 Visual Basic 代码,只是生硬地终止代码执行。窗体和类模块中的 Unload、QueryUnload、和 Terminate 事件代码未被执行。类模块创建的对象被破坏,由 Open 语句打开的文件被关闭,并且释放程序所占用的内存。其它程序的对象引用无效。End 语句提供了一种强迫中止程序的

51、方法。Visual Basic 程序正常结束应该卸载所有的窗体。只要没有其它程序引用该程序公共类模块创建的对象并无代码执行,程序将立即关闭。End 语句示例本示例使用 End 语句,在用户输入错误密码时结束代码执行。Sub Form_Load Dim Password, Pword PassWord = "Swordfish" Pword = InputBox("Type in your password") If Pword <> PassWord Then MsgBox "Sorry, incorrect password&qu

52、ot; End End IfEnd Sub15、Enum 语句      定义枚举类型。语法 Public | Private Enum namemembername = constantexpressionmembername = constantexpression. . .End EnumEnum 语句包含下面部分:部分描述Public可选的。表示该 Enum 类型在整个工程中都是可见的。Enum 类型的缺省情况是 Public。Private可选的。表示该 Enum 类型只在所声明的模块中是可见的。name必需的。该

53、 Enum 类型的名称。name 必须是一个合法的 Visual Basic 标识符,在定义该 Enum 类型的变量或参数时用该名称来指定类型。membername必需的。用于指定该 Enum 类型的组成元素名称的合法 Visual Basic 标识符。constantexpression可选的。元素的值(为 Long 类型)。可以是别的 Enum 类型。如果没有指定 constantexpression,则所赋给的值或者是 0(如果该元素是第一个 membername),或者比其直接前驱的值大 1。说明所谓枚举变量,就是指用 Enum 类型定义的变量。变量和参数都可以定义为 Enum 类型。

54、Enum 类型中的元素被初始化为 Enum 语句中指定的常数值。所赋给的值可以包括正数和负数,且在运行时不能改变。例如:Enum SecurityLevel IllegalEntry = -1 SecurityLevel1 = 0 SecurityLevel2 = 1End EnumEnum 语句只能在模块级别中出现。定义 Enum 类型后,就可以用它来定义变量,参数或返回该类型的过程。不能用模块名来限定 Enum 类型。类模块中的 Public Enum 类型并不是该类的成员;只不过它们也被写入到类型库中。在标准模块中定义的 Enum 类型则不写到类型库中。具有相同名字的 Public En

55、um 类型不能既在标准模块中定义,又在类模块中定义,因为它们共享相同的命名空间。若不同的类型库中有两个 Enum 类型的名字相同,但成员不同,则对这种类型的变量的引用,将取决于哪一个类型库具有更高的引用优先级。不能在 With 块中使用 Enum 类型作为目标。Enum 语句示例下面的示例演示用 Enum 语句定义一个命名常数的集合。在本例中是一些可以选择的颜色常数用于设计数据库的数据输入窗体。Public Enum InterfaceColors icMistyRose = &HE1E4FF& icSlateGray = &H908070& icDodgerB

56、lue = &HFF901E& icDeepSkyBlue = &HFFBF00& icSpringGreen = &H7FFF00& icForestGreen = &H228B22& icGoldenrod = &H20A5DA& icFirebrick = &H2222B2&End Enum16、Erase 语句       重新初始化大小固定的数组的元素,以及释放动态数组的存储空间。语法Erase arraylist所需的 arra

57、ylist 参数是一个或多个用逗号隔开的需要清除的数组变量。说明Erase 根据是固定大小(常规的)数组还是动态数组,来采取完全不同的行为。Erase 无需为固定大小的数组恢复内存。Erase 按下表来设置固定数组的元素:数组类型Erase 对固定数组元素的影响固定数值数组将每个元素设为 0。固定字符串数组(长度可变)将每个元素设为零长度字符串 ("")。固定字符串数组(长度固定)将每个元素设为 0。固定 Variant 数组将每个元素设为 Empty。用户定义类型的数组将每个元素作为单独的变量来设置。对象数组将每个元素设为特定值 Nothing。Erase 释放动态数组所

58、使用的内存。在下次引用该动态数组之前,程序必须使用 ReDim 语句来重新定义该数组变量的维数。Erase 语句示例该示例使用 Erase 语句重新初始化固定大小的数组中的元素,以及释放动态数组存储空间。'声明数组变量。Dim NumArray(10) As Integer ' Integer 数组。Dim StrVarArray(10) As String '变长的 String 数组。Dim StrFixArray(10) As String * 10 '定长的 String 数组。Dim VarArray(10) As Variant 'Varia

59、nt 数组。Dim DynamicArray() As Integer '动态数组。ReDim DynamicArray(10) '分配存储空间。Erase NumArray '将每个元素设为 0。Erase StrVarArray '将每个元素设为 '零长度字符串 ("")。Erase StrFixArray '将每个元素设为 0。Erase VarArray '将每个元素设为 Empty。Erase DynamicArray '释放数组所用内存。17、Error 语句       模拟错误的发生。语法Error errornumber必要的 errornumber 可以是任何有效的错误号。说明Error 语句获得

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论