VB基本语法学习

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

VB基本语法学习转高级语言2008-08-1812:45阅读639评论0字号:大大中中小小1常量与变量1.1VB的数据类型数据类型是数据的表示和存储形式。VB定义的基本数据类型如表5-1所示。表5-1VB的基本数据类型数据类型类型描述类型说明后缀数据范围所占字节数Integer整型%-32768~327672Long长整型&-2147483648~21474836474Single单精度浮点型!-3.402823E38~-1.401298E-451.401298E-45~3.402823E384Double双精度浮点型#-1.79769313486232E308~-4.9406564584124E3244.9406564584124E324~1.79769313486232E3088Currency货币型@8String字符串型$每字符占一字节Byte字节型0~2551Boolean布尔数据型-1(True)、(False)Date日期型Object对象型4Variant变体为上述任一种Integer(整型)、Long(长整型)、Single(单精度浮点型)、Double(双精度长整型)及Currency(货币型)均为Numeric数据类型。其中整型是16位的整数,长整型是32位的整数。单精度及双精度浮点型就表示实数,常被用于数量较大的数字。Currency数据类型支持小数点右面15位,是定点数据类型,适用于货币计算。String(字符串变量)的数据类型只存放文本,是一个字符序列,它的每一个字符用ASCII编码表示。不包含任何字符的串称为空串。Byte数据类型表示0到255之间的数,常用于访问二进制文件、图形和声音文件等。当需要把数据存放成字节,必须访问各字节时可采用Byte类型。取值仅为True/False的类型称为Boolean(布尔)型,缺省值为False。Date数据类型用于以特殊方式存放日期和时间。Object变量可引用应用程序中或某些其他应用程序中的对象。VB缺省规定,如果在生命中没有说明数据类型,则变量的数据类型为Variant(变体)。Variant数据类型还包含三种特定值:Empty、Null、Error。Empty值用于确定是否已将一个值赋予所创建的变量。赋值之前,Variant变量具有值Empty。Null常用于数据库应用程序,表示未知或丢失为空的数据。Error值是指已发出的过程中的错误状态。Variant数据类型是最为灵活的数据类型,可以依据不同的需要进行各种数据类型的转换。它实际上包含两部分信息,一部分是数据类型的信息,一部分是表示数据值的信息。但正是由于它的灵活性,又使得它存在着一个明显的缺点,Variant数据类型比其他类型的数据占有更多的内存空间。2数组VB中数组的定义类似于变量定义,所不同的是数组需要指定数组中的元素个数,例如:DimArray(9)AsInteger数组中包含10个元素,脚标从0到9。也可以指定脚标的起始值,例如:DimIntegerArray(2to10)AsInteger这个数组含有九个元素,脚标从2到10。还可以定义多维数组:DimThreeD(4,2to5,3to6)AsInteger定义一个三维数组(4×4×4)。数组数组是一组拥有相同名称同类元素。定义数组后,即创建了数组。数组中单个的数据项称为数组元素,用于访问数组元素的编号称为数组索引号,最小索引号和最大索引号称为边界。在VBA中,根据数组元素是否变化,分为固定大小的数组和动态数组,根据数组的维数又可分为一维数组和多维数组。1、创建数组用Dim语句来定义固定大小的数组,即声明一个数组。如DimmyArray(9)AsInteger上面的代码创建一个名为myArray含有10个数组元素的一维数组。注意,所有VBA数组的下界均从0开始,因此上面的代码所创建的数组元素从myArray(0)到myArray(9)。在Dim语句中不指明数组元素的个数来声明动态数组,如DimmyDynamicArray()AsInteger使用ReDim关键字重新定义数组的大小:ReDimmyDynamicArray(10)也可以用ReDim关键字同时声明一个动态数组并指定该数组的元素个数:ReDimmyDynamicArray(5)AsIntegerVBA没有限制重新定义动态数组大小的次数,但在重新定义数组大小时,原有的数组数据就会丢失。如果需要保留原来的数据,可以使用Preserve关键字:ReDimPreservemyDynamicArray(5)需要注意的是,如果重新定义数组时减小了数组的大小,则会丢失被缩减了的那部分元素的数据。当然,与声明变量一样,也可以用Public语句声明公共数组。2、确定数组的边界可以使用UBound函数和LBound函数分别获取数组的最大边界和最小边界。默认情况下,VBA的数组的下界是从0开始的,可以在模块的声明部分使用OptionBase语句来改变模块中数组的起始边界。如OptionBase1该语句使数组元素的索引号从1开始。也可以在定义数组时指定数组的上界和下界,如Dim数组名(下界to上界)As数据类型3、多维数组多维数组可以在每个数组元素中存储一组数据,因此,多维数组的每个数组元素都包含一个数组。与一维数组相同,可以使用下面的两种方法创建多维数组:(1)Dim数组名(数组元素数1,数组元素数2,……)As数据类型(2)Dim数组名(下界to上界,下界to上界,……)As数据类型与一维数组相似,多维数组也可以是动态的。4、引用数组中的元素可以使用数组名称和一个索引号来引用数组中的某个特定的元素。变量与常量:1)VB允许使用未定义的变量,默认是变体变量Variant。2)在模块通用说明部份,加入OptionExplicit语句可以强迫用户进行变量定义。3)变量定义语句及变量作用域Dim变量as类型'定义为局部变量,如DimxyzasintegerPrivate变量as类型'定义为私有变量,如PrivatexyzasbytePublic变量as类型'定义为公有变量,如PublicxyzassingleGlobal变量as类型'定义为全局变量,如GloblalxyzasdateStatic变量as类型'定义为静态变量,如Staticxyzasdouble一般变量作用域的原则是,那部份定义就在那部份起作用,模块中定义则在该模块那作用。4)常量为变量的一种特例,用Const定义,且定义时赋值,程序中不能改变值,作用域也如同变量作用域。如下定义:ConstPi=3.1415926assingle5,数组:是包含相同数据类型的一组变量的集合,对数组中的单个变量引用通过数组索引下标进行。在内存中表现为一个连续的内存块,必须用Global或Dim语句来定义。定义规则如下:Dim数组名([lowerto]upper[,[lowerto]upper,….])astype;Lower缺省值为0。二维数组是按行列排列,如XYZ(行,列)。除了以上固定数组外,VBA还有一种功能强大的动态数组,定义时无大小维数声明;在程序中再利用Redim语句来重新改变数组大小,原来数组内容可以通过加preserve关键字来保留。如下例:Dimarray1()asdouble:Redimarray1(5):array1(3)=250:Redimpreservearray1(5,10)6,注释和赋值语句1)注释语句是用来说明程序中某些语句的功能和作用;VB中有两种方法标识为注释语句。单引号’;如:’定义全局变量;可以位于别的语句之尾,也可单独一行Rem;如:Rem定义全局变量;只能单独一行2)赋值语句是进行对变量或对象属性赋值的语句,采用赋值号=,如X=123:Form1.caption=”我的窗口”。对对象的赋值采用:setmyobject=object或myobject:=object7,书写规范:1)VBA不区分标识符的字母大小写,一律认为是小写字母;2)一行可以书写多条语句,各语句之间以冒号:分开;3)一条语句可以多行书写,以空格加下划线_来标识下行为续行;4)标识符最好能简洁明了,不造成歧义。运算符VB具有丰富的运算符集,大体上分为三类,算术运算符、关系运算符和逻辑运算符。5.3.1算术运算符VB中的算术运算符有如下几种:^幂运算-负号*乘/除整除Mod取模+加-减以下列出几个算术运算的表达式:X=Y^2‘X等于Y的平方X=Y^-2‘X等于Y的负二次方X=Y*Z‘X等于Y乘以ZX=Y/Z‘X等于Y除以ZX=5/2‘X等于5除以2,值为2.5X=52‘X等于5用2整除,值为2X=5Mod2‘X等于5模2,值为15.3.2关系运算符=等于大于小于不等于=小于等于=大于等于如:X=Y32……关系运算符与数学运算符的用法一致,只是表达方式有所不同而已。5.3.3逻辑运算符VB中的逻辑运算符有:NOT非AND与OR或XOR异或EQU逻辑等IMP隐含以下分别介绍这几种运算符:NOT:逻辑非。对逻辑值取反,如:35‘表达式值为真NOT35‘取反,表达式值为假AND:逻辑与。两个表达式的值均为真,则结果为真,如果有任一个表达式值为假,则结果为假。其运算规则如表5-2。表5-2AND运算规则表第一操作符第二操作符操作结果TrueTrueTrueTrueFalseFalseFalseTrueFalseFalseFalseFalse例如:35AND43‘两个表达式结果均为真,则AND操作结果为真。35AND43‘第一个表达式结果为真,第二个表达式结果为假,则AND操作结果为假。OR:逻辑或。当两个表达式中至少一个为真时,结果为真。运算规则如表5-3。表5-3OR运算规则表第一操作符第二操作符操作结果TrueTrueTrueTrueFalseTrueFalseTrueTrueFalseFalseFalse例如:35OR43‘第一个表达式结果为真,第二个表达式结果为假,则OR操作结果为真。XOR:逻辑异或。当两个表达式值相反时,结果为真。运算规则如表5-4。表5-4XOR运算规则表第一操作符第二操作符操作结果TrueTrueFalseTrueFalseTrueFalseTrueTrueFalseFalseFalse例如:5/31XOR10‘第一个表达式结果为真,第二个表达式结果为假,则XOR操作结果为真。EQU:逻辑等。两个表达式的值相同时,结果为真。运算规则如表5-5。表5-5EQU运算规则表第一操作符第二操作符操作结果TrueTrueTrueTrueFalseFalseFalseTrueFalseFalseFalseTrue例如:32EQU(3-1)0‘第一个表达式结果为假,第二个表达式结果也为假,则EQU操作结果为真。IMP:比较两个表达式。当第一个表达式为假或第二个表达式为真时操作结果为真。运算规则如表5-6。表5-6IMP运算规则表第一操作符第二操作符操作结果TrueTrueTrueTrueFalseFalseFalseTrueTrueFalseFalseTrue例如:32IMP30‘第一个表达式结果为假,第二个表达式结果为真,则IMP操作结果为真。5.4基本语句5.4.1注释语句在使用注释语句之前必须先了解注释的作用,注释不仅仅是对程序的解释,有时它对于程序的调试也非常有用,譬如说可以利用注释屏蔽一条语句以观察变化,发现问题和错误。以后注释语句将是我们在编程里最经常用到的语句之一。在VB里,注释语句有两种,一种是用“Rem”关键字,这跟DOS里的批处理文件的用法一样,还有一种是利用单引号“’”,例如:‘DimaAsString与RemDimaAsString的作用是一致的。5.4.2顺序语句顺序语句就是依顺序逐条执行的语句。在程序中没有流程控制语句的情况下,程序中各语句将按顺序逐一执行,只有在上一条语句执行完毕后,才能执行下一

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功