《第2章--Visual-Basic语言基础知识ppt课件(全).ppt》由会员分享,可在线阅读,更多相关《第2章--Visual-Basic语言基础知识ppt课件(全).ppt(93页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第2章章 Visual Basic语言基础知识语言基础知识 数据是数据是VB应用程序的重要组成部分,在存储应用程序的重要组成部分,在存储和处理数据时涉及到的有关数据类型、常量和变和处理数据时涉及到的有关数据类型、常量和变量、内部函数、表达式、基本输入输出语句等基量、内部函数、表达式、基本输入输出语句等基础知识是础知识是VB程序设计的基础。本章将介绍这方程序设计的基础。本章将介绍这方面的内容,为以后面的内容,为以后VB的学习打下必备的语言基的学习打下必备的语言基础。础。【主要内容】【主要内容】数据类型、常量和变量数据类型、常量和变量 VB常用函数、表达式常用函数、表达式 赋值语句、赋值语句、P
2、rint方法和输入输出函数方法和输入输出函数 程序模块和变量的作用域程序模块和变量的作用域2.1 引例引例 【引例引例引例引例】编写程序,用来查询距离放假还有多编写程序,用来查询距离放假还有多编写程序,用来查询距离放假还有多编写程序,用来查询距离放假还有多少天。少天。少天。少天。要求:程序运行后,单击窗体,输入放假日要求:程序运行后,单击窗体,输入放假日要求:程序运行后,单击窗体,输入放假日要求:程序运行后,单击窗体,输入放假日期,然后在窗体上显示当天日期、放假日期和距期,然后在窗体上显示当天日期、放假日期和距期,然后在窗体上显示当天日期、放假日期和距期,然后在窗体上显示当天日期、放假日期和距
3、离放假的天数等信息。离放假的天数等信息。离放假的天数等信息。离放假的天数等信息。可通过键盘输入函数提供数据输入界面,将键可通过键盘输入函数提供数据输入界面,将键可通过键盘输入函数提供数据输入界面,将键可通过键盘输入函数提供数据输入界面,将键盘输入的日期和系统日期的差值作为结果值显示盘输入的日期和系统日期的差值作为结果值显示盘输入的日期和系统日期的差值作为结果值显示盘输入的日期和系统日期的差值作为结果值显示在窗体上。在窗体上。在窗体上。在窗体上。2.2 数据类型数据类型 VBVB中的每一个数据都属于一种特定的数据中的每一个数据都属于一种特定的数据中的每一个数据都属于一种特定的数据中的每一个数据都
4、属于一种特定的数据类型,不同的数据类型,在内存中所占的存储类型,不同的数据类型,在内存中所占的存储类型,不同的数据类型,在内存中所占的存储类型,不同的数据类型,在内存中所占的存储空间各不相同,表示和处理的方法也不尽相同。空间各不相同,表示和处理的方法也不尽相同。空间各不相同,表示和处理的方法也不尽相同。空间各不相同,表示和处理的方法也不尽相同。在程序设计中,要随时注意所用数据的类型。在程序设计中,要随时注意所用数据的类型。在程序设计中,要随时注意所用数据的类型。在程序设计中,要随时注意所用数据的类型。VB VB的数据类型分为系统定义和自定义两种。的数据类型分为系统定义和自定义两种。的数据类型分
5、为系统定义和自定义两种。的数据类型分为系统定义和自定义两种。系统定义的数据类型称为标准数据类型,是由系统定义的数据类型称为标准数据类型,是由系统定义的数据类型称为标准数据类型,是由系统定义的数据类型称为标准数据类型,是由系统提供,不需要定义就能直接使用;而自定系统提供,不需要定义就能直接使用;而自定系统提供,不需要定义就能直接使用;而自定系统提供,不需要定义就能直接使用;而自定义数据类型需要以其它数据类型为基础,按照义数据类型需要以其它数据类型为基础,按照义数据类型需要以其它数据类型为基础,按照义数据类型需要以其它数据类型为基础,按照一定的语法规则来创建,它必须先定义(创建)一定的语法规则来创
6、建,它必须先定义(创建)一定的语法规则来创建,它必须先定义(创建)一定的语法规则来创建,它必须先定义(创建),后使用。,后使用。,后使用。,后使用。VBVB的标准数据类型包括:的标准数据类型包括:的标准数据类型包括:的标准数据类型包括:1 1 字符串型(字符串型(字符串型(字符串型(StringString)字符串型数据是指一切可打印的字符和字符串,是用字符串型数据是指一切可打印的字符和字符串,是用字符串型数据是指一切可打印的字符和字符串,是用字符串型数据是指一切可打印的字符和字符串,是用双引号(双引号(双引号(双引号(“”“”)括起来的一个字符序列。)括起来的一个字符序列。)括起来的一个字符
7、序列。)括起来的一个字符序列。例如:例如:例如:例如:“ASD”“ASD”、“123”“123”、“请输入本学期的放假请输入本学期的放假请输入本学期的放假请输入本学期的放假日期:日期:日期:日期:”均是字符串。均是字符串。均是字符串。均是字符串。在在在在Visual BasicVisual Basic中,字符串数据类型可分为变长和定中,字符串数据类型可分为变长和定中,字符串数据类型可分为变长和定中,字符串数据类型可分为变长和定长两种,变长字符串的长度不确定,是可变的;定长字符长两种,变长字符串的长度不确定,是可变的;定长字符长两种,变长字符串的长度不确定,是可变的;定长字符长两种,变长字符串的
8、长度不确定,是可变的;定长字符串的长度是固定不变的。串的长度是固定不变的。串的长度是固定不变的。串的长度是固定不变的。说明:说明:说明:说明:“”“”表示空字符串,而表示空字符串,而表示空字符串,而表示空字符串,而“”“”表示空格字符串。表示空格字符串。表示空格字符串。表示空格字符串。一般情况下,一个西文字符占一个字符,一个汉字一般情况下,一个西文字符占一个字符,一个汉字一般情况下,一个西文字符占一个字符,一个汉字一般情况下,一个西文字符占一个字符,一个汉字或全角字符占两个字节。而在或全角字符占两个字节。而在或全角字符占两个字节。而在或全角字符占两个字节。而在VB6.0VB6.0以后的版本中,
9、一个以后的版本中,一个以后的版本中,一个以后的版本中,一个西文字符和一个汉字均占两个字节。西文字符和一个汉字均占两个字节。西文字符和一个汉字均占两个字节。西文字符和一个汉字均占两个字节。2 2 数值型(数值型(数值型(数值型(NumericNumeric)在在在在Visual BasicVisual Basic中,数值型数据是指能够进行加、减、中,数值型数据是指能够进行加、减、中,数值型数据是指能够进行加、减、中,数值型数据是指能够进行加、减、乘、除、整除、乘方和取模等算术运算的数据,它包括整乘、除、整除、乘方和取模等算术运算的数据,它包括整乘、除、整除、乘方和取模等算术运算的数据,它包括整乘
10、、除、整除、乘方和取模等算术运算的数据,它包括整数和实数。数和实数。数和实数。数和实数。(1)(1)整型数:不含小数点和指数符号的数。整型数:不含小数点和指数符号的数。整型数:不含小数点和指数符号的数。整型数:不含小数点和指数符号的数。整型(整型(整型(整型(IntegerInteger)如:如:如:如:123%123%,-123-123,在内存中占,在内存中占,在内存中占,在内存中占2 2个字节。个字节。个字节。个字节。长整型(长整型(长整型(长整型(LongLong)如:如:如:如:123&123&,在内存中占,在内存中占,在内存中占,在内存中占4 4个字节。个字节。个字节。个字节。字节型
11、(字节型(字节型(字节型(ByteByte)Byte Byte 数据类型实际是一个字节的无符号整数,所数据类型实际是一个字节的无符号整数,所数据类型实际是一个字节的无符号整数,所数据类型实际是一个字节的无符号整数,所以不能表示负数,所能表示的数据的范围是:以不能表示负数,所能表示的数据的范围是:以不能表示负数,所能表示的数据的范围是:以不能表示负数,所能表示的数据的范围是:0 0255255。(2)(2)实型数实型数实型数实型数 实型数是带有符号、小数部分和指数部分的数值,包实型数是带有符号、小数部分和指数部分的数值,包实型数是带有符号、小数部分和指数部分的数值,包实型数是带有符号、小数部分和
12、指数部分的数值,包括:括:括:括:单精度型(单精度型(单精度型(单精度型(SingleSingle)在内存中占在内存中占在内存中占在内存中占4 4个字节,范围为个字节,范围为个字节,范围为个字节,范围为 231 231231-1231-1。双精度型(双精度型(双精度型(双精度型(DoubleDouble)在内存中占在内存中占在内存中占在内存中占8 8个字节,范围个字节,范围个字节,范围个字节,范围 263 263263-1263-1。3 3 货币型(货币型(货币型(货币型(CurrencyCurrency)专门为表示货币而设置的一种数据类型。在内存中占专门为表示货币而设置的一种数据类型。在内存
13、中占专门为表示货币而设置的一种数据类型。在内存中占专门为表示货币而设置的一种数据类型。在内存中占8 8个字节,精确到小数点后面个字节,精确到小数点后面个字节,精确到小数点后面个字节,精确到小数点后面4 4位,小数点前有位,小数点前有位,小数点前有位,小数点前有1515位。位。位。位。4 4 逻辑型(逻辑型(逻辑型(逻辑型(BooleanBoolean)若变量的值只是若变量的值只是若变量的值只是若变量的值只是“true/false”“true/false”、“yes/no”“yes/no”、“on/off”“on/off”信息,则可将它声明为逻辑类型。逻辑型数据信息,则可将它声明为逻辑类型。逻辑
14、型数据信息,则可将它声明为逻辑类型。逻辑型数据信息,则可将它声明为逻辑类型。逻辑型数据的缺省值为的缺省值为的缺省值为的缺省值为FalseFalse。5 5 日期型(日期型(日期型(日期型(DateDate)日期型数据用语表示日期和时间,在内存中占日期型数据用语表示日期和时间,在内存中占日期型数据用语表示日期和时间,在内存中占日期型数据用语表示日期和时间,在内存中占8 8 个字节。个字节。个字节。个字节。日期范围:日期范围:日期范围:日期范围:100 100 年年年年 1 1 月月月月 1 1 日日日日9999 9999 年年年年 12 12 月月月月 31 31 日,日,日,日,时间从时间从时
15、间从时间从 0:00:00 0:00:00 23:59:59 23:59:59。日期型数据必须以日期型数据必须以日期型数据必须以日期型数据必须以#或双引号或双引号或双引号或双引号“”“”括起来,如:括起来,如:括起来,如:括起来,如:#January 1,1993#January 1,1993#、#12/31/92#12/31/92#和和和和“12-31-92”“12-31-92”都是合法的日期型数据,如不合法,系统会给出提示都是合法的日期型数据,如不合法,系统会给出提示都是合法的日期型数据,如不合法,系统会给出提示都是合法的日期型数据,如不合法,系统会给出提示信息。信息。信息。信息。6 对象
16、型(对象型(Object)对象型(对象型(对象型(对象型(ObjectObject)数据存储的是)数据存储的是)数据存储的是)数据存储的是32 32 位(位(位(位(4 4 个个个个字节)的地址,该地址引用应用程序中的对象,字节)的地址,该地址引用应用程序中的对象,字节)的地址,该地址引用应用程序中的对象,字节)的地址,该地址引用应用程序中的对象,通常用来表示图形、通常用来表示图形、通常用来表示图形、通常用来表示图形、OLEOLE对象或其它对象。对象或其它对象。对象或其它对象。对象或其它对象。7 变体型(变体型(Variant)变体数据类型是一种可变的数据类型,又称变体数据类型是一种可变的数据
17、类型,又称变体数据类型是一种可变的数据类型,又称变体数据类型是一种可变的数据类型,又称为万用型数据类型,是一种特殊的、可以表示所为万用型数据类型,是一种特殊的、可以表示所为万用型数据类型,是一种特殊的、可以表示所为万用型数据类型,是一种特殊的、可以表示所有系统定义的数据类型。变体数据类型对数据的有系统定义的数据类型。变体数据类型对数据的有系统定义的数据类型。变体数据类型对数据的有系统定义的数据类型。变体数据类型对数据的处理可以根据上下文的变化而变化,为处理可以根据上下文的变化而变化,为处理可以根据上下文的变化而变化,为处理可以根据上下文的变化而变化,为VBVB的数据的数据的数据的数据处理增加了
18、智能型。处理增加了智能型。处理增加了智能型。处理增加了智能型。变体型数据可以表示任何类型的数据,包括变体型数据可以表示任何类型的数据,包括变体型数据可以表示任何类型的数据,包括变体型数据可以表示任何类型的数据,包括数值型、字符串型、日期型等。数值型、字符串型、日期型等。数值型、字符串型、日期型等。数值型、字符串型、日期型等。VBVB中的标准数据类型中的标准数据类型中的标准数据类型中的标准数据类型数据数据数据数据类类类类型型型型类类类类型型型型符符符符前前前前缀缀缀缀占字占字占字占字节节节节数数数数范范范范围围围围整型(整型(整型(整型(IntegerInteger)%IntInt2 2-327
19、6832767-3276832767长长长长整型(整型(整型(整型(Long IntegerLong Integer)&LngLng4 4-2147438 6482147438647-2147438 6482147438647字字字字节节节节型(型(型(型(ByteByte)无无无无bytebyte1 102550255单单单单精度浮点型(精度浮点型(精度浮点型(精度浮点型(SingleSingle)!SngSng4 4-3.402823E38-1.401298E-45-3.402823E38-1.401298E-451.401298E-453.402823E381.401298E-453.4
20、02823E38双精度浮点型(双精度浮点型(双精度浮点型(双精度浮点型(DoubleDouble)#DblDbl8 8-1.79769313486232E308-4.94065645841247E-324-1.79769313486232E308-4.94065645841247E-3244.94065645841247E-3241.79769313486232E3084.94065645841247E-3241.79769313486232E308货币货币货币货币型(型(型(型(CurrencyCurrency)CurCur8 8-922337203685477.58089223372036
21、854775807-922337203685477.58089223372036854775807字符串型字符串型字符串型字符串型(StringString)变长变长变长变长$StrStr10+10+串串串串长长长长00大大大大约约约约2020亿亿亿亿定定定定长长长长串串串串长长长长11大大大大约约约约6553565535字字字字节节节节逻辑逻辑逻辑逻辑型(型(型(型(BooleanBoolean)无无无无BlnBln2 2TrueTrue或或或或FalseFalse日期日期日期日期时间时间时间时间型(型(型(型(DateDate)无无无无DtmDtm8 8100100年年年年1 1月月月月1
22、 1日日日日99999999年年年年1212月月月月3131日日日日变变变变体型体型体型体型(Variant)(Variant)数字数字数字数字无无无无VntVnt1616任何数字任何数字任何数字任何数字值值值值,最大可达到,最大可达到,最大可达到,最大可达到 Double Double的范的范的范的范围围围围字符字符字符字符22+22+串串串串长长长长与与与与变长变长变长变长 String String有相同的范有相同的范有相同的范有相同的范围围围围对对对对象型(象型(象型(象型(ObjectObject)无无无无ObjObj4 4可供任何可供任何可供任何可供任何对对对对象引用象引用象引用象
23、引用2.3 常量和变量常量和变量 VBVB中存在着两种表征数据的形式:常量和变中存在着两种表征数据的形式:常量和变中存在着两种表征数据的形式:常量和变中存在着两种表征数据的形式:常量和变量。常量表示在程序运行期间其值不可被改变的量。常量表示在程序运行期间其值不可被改变的量。常量表示在程序运行期间其值不可被改变的量。常量表示在程序运行期间其值不可被改变的量,它用来表示数据的值;变量不但可以表示数量,它用来表示数据的值;变量不但可以表示数量,它用来表示数据的值;变量不但可以表示数量,它用来表示数据的值;变量不但可以表示数据的值,也可以用来存放数据,每一个变量都对据的值,也可以用来存放数据,每一个变
24、量都对据的值,也可以用来存放数据,每一个变量都对据的值,也可以用来存放数据,每一个变量都对应着一个存储单元,在程序运行期间其值可以发应着一个存储单元,在程序运行期间其值可以发应着一个存储单元,在程序运行期间其值可以发应着一个存储单元,在程序运行期间其值可以发生改变生改变生改变生改变。2.3.1 常量和变量命名规则常量和变量命名规则 VB6.0VB6.0中,常量和变量的命名规则如下:中,常量和变量的命名规则如下:中,常量和变量的命名规则如下:中,常量和变量的命名规则如下:只能由字母,数字和下划线组成,且第一个字符必只能由字母,数字和下划线组成,且第一个字符必只能由字母,数字和下划线组成,且第一个
25、字符必只能由字母,数字和下划线组成,且第一个字符必须是字母。须是字母。须是字母。须是字母。长度不得超过长度不得超过长度不得超过长度不得超过 255 255 个字符。个字符。个字符。个字符。不能是不能是不能是不能是VBVB的关键字。的关键字。的关键字。的关键字。不能包含小数点。不能包含小数点。不能包含小数点。不能包含小数点。VB VB中不区分变量名的大小写,例如中不区分变量名的大小写,例如中不区分变量名的大小写,例如中不区分变量名的大小写,例如TCTTCT,tcttct,TctTct等都认为是同一个变量名。等都认为是同一个变量名。等都认为是同一个变量名。等都认为是同一个变量名。变量名不能与过程名
26、、符号常量名相同,最好使用变量名不能与过程名、符号常量名相同,最好使用变量名不能与过程名、符号常量名相同,最好使用变量名不能与过程名、符号常量名相同,最好使用缩写前缀,以区分变量类型。缩写前缀,以区分变量类型。缩写前缀,以区分变量类型。缩写前缀,以区分变量类型。为了增加程序的可读性,变量名最好具有实际意义,简为了增加程序的可读性,变量名最好具有实际意义,简为了增加程序的可读性,变量名最好具有实际意义,简为了增加程序的可读性,变量名最好具有实际意义,简单明了单明了单明了单明了,不要太长。不要太长。不要太长。不要太长。以下常量和变量名非法:以下常量和变量名非法:以下常量和变量名非法:以下常量和变量
27、名非法:5xy 5xy 不允许以数字开头不允许以数字开头不允许以数字开头不允许以数字开头 X.y X.y 不允许出现小数点不允许出现小数点不允许出现小数点不允许出现小数点 End End 不允许是关键字不允许是关键字不允许是关键字不允许是关键字 X Xy y 不允许出现加号不允许出现加号不允许出现加号不允许出现加号 2.3.2 常量常量 常量指在程序运行过程中,其值保持不变的常量指在程序运行过程中,其值保持不变的常量指在程序运行过程中,其值保持不变的常量指在程序运行过程中,其值保持不变的量。在量。在量。在量。在Visual BasicVisual Basic中,常量可分为直接常量和中,常量可分
28、为直接常量和中,常量可分为直接常量和中,常量可分为直接常量和符号常量两种。符号常量两种。符号常量两种。符号常量两种。1 直接常量直接常量 直接常量就是在程序中,以直接明显的形式给直接常量就是在程序中,以直接明显的形式给直接常量就是在程序中,以直接明显的形式给直接常量就是在程序中,以直接明显的形式给出数据本身的数值。根据数据类型,直接常量有出数据本身的数值。根据数据类型,直接常量有出数据本身的数值。根据数据类型,直接常量有出数据本身的数值。根据数据类型,直接常量有数值常量、字符串常量、逻辑常量和日期常量。数值常量、字符串常量、逻辑常量和日期常量。数值常量、字符串常量、逻辑常量和日期常量。数值常量
29、、字符串常量、逻辑常量和日期常量。(1)(1)字符串常量:是用双引号括起来的字符序字符串常量:是用双引号括起来的字符序字符串常量:是用双引号括起来的字符序字符串常量:是用双引号括起来的字符序列。如列。如列。如列。如“AAAA”“AAAA”。(2)(2)数值常量:如数值常量:如数值常量:如数值常量:如678678,31.9631.96,4.8E-24.8E-2等。等。等。等。(3)(3)逻辑常量:如逻辑常量:如逻辑常量:如逻辑常量:如FalseFalse。(4)(4)日期常量:如日期常量:如日期常量:如日期常量:如#1999-10-23 10:25#1999-10-23 10:25#。2 2 符
30、号常量符号常量符号常量符号常量 有些值在程序中会多次使用有些值在程序中会多次使用有些值在程序中会多次使用有些值在程序中会多次使用,如果在每次使用时都重复输入,即浪如果在每次使用时都重复输入,即浪如果在每次使用时都重复输入,即浪如果在每次使用时都重复输入,即浪费时间又容易出错,同时,如果要改变此直接常量的值,就需要改动费时间又容易出错,同时,如果要改变此直接常量的值,就需要改动费时间又容易出错,同时,如果要改变此直接常量的值,就需要改动费时间又容易出错,同时,如果要改变此直接常量的值,就需要改动程序中的许多地方,既麻烦又容易遗漏。这时,可以用一个容易理解程序中的许多地方,既麻烦又容易遗漏。这时,
31、可以用一个容易理解程序中的许多地方,既麻烦又容易遗漏。这时,可以用一个容易理解程序中的许多地方,既麻烦又容易遗漏。这时,可以用一个容易理解和记忆的符号来表示该常量,在程序中,凡出现该常量的地方,都用和记忆的符号来表示该常量,在程序中,凡出现该常量的地方,都用和记忆的符号来表示该常量,在程序中,凡出现该常量的地方,都用和记忆的符号来表示该常量,在程序中,凡出现该常量的地方,都用此符号代替,把这样的符号称为符号常量,如用此符号代替,把这样的符号称为符号常量,如用此符号代替,把这样的符号称为符号常量,如用此符号代替,把这样的符号称为符号常量,如用MAXMAX表示最大值,表示最大值,表示最大值,表示最
32、大值,MINMIN表示最小值等。符号常量使用前须声明。表示最小值等。符号常量使用前须声明。表示最小值等。符号常量使用前须声明。表示最小值等。符号常量使用前须声明。符号常量的声明格式:符号常量的声明格式:符号常量的声明格式:符号常量的声明格式:Const Const 常量名常量名常量名常量名As As 类型名类型名类型名类型名=表达式表达式表达式表达式 若省略类型名,则由表达式的类型决定。若省略类型名,则由表达式的类型决定。若省略类型名,则由表达式的类型决定。若省略类型名,则由表达式的类型决定。PiPi为单精度型常量为单精度型常量为单精度型常量为单精度型常量 Const MAX As Integ
33、er=9 Const MAX As Integer=9 MaxMax为整型常量为整型常量为整型常量为整型常量 Const YDATE=#1/1/95#Const YDATE=#1/1/95#YDATEYDATE为日期型常量为日期型常量为日期型常量为日期型常量 Const PNAME=LiYan Const PNAME=LiYan PNAMEPNAME为字符型常量为字符型常量为字符型常量为字符型常量 如果用逗号进行分隔,则在一行中可放置多个常数声明,如:如果用逗号进行分隔,则在一行中可放置多个常数声明,如:如果用逗号进行分隔,则在一行中可放置多个常数声明,如:如果用逗号进行分隔,则在一行中可放置
34、多个常数声明,如:2.3.3 变量变量 在程序的执行过程中,其值可以发生改变的量在程序的执行过程中,其值可以发生改变的量在程序的执行过程中,其值可以发生改变的量在程序的执行过程中,其值可以发生改变的量称为变量。变量看作是一个被命名的存储单元,称为变量。变量看作是一个被命名的存储单元,称为变量。变量看作是一个被命名的存储单元,称为变量。变量看作是一个被命名的存储单元,不同类型的变量在内存中占用的存储单元不同。不同类型的变量在内存中占用的存储单元不同。不同类型的变量在内存中占用的存储单元不同。不同类型的变量在内存中占用的存储单元不同。在默认状态下,在默认状态下,在默认状态下,在默认状态下,VBVB
35、中可以不进行变量声明,中可以不进行变量声明,中可以不进行变量声明,中可以不进行变量声明,此时变量类型默认为变体类型(此时变量类型默认为变体类型(此时变量类型默认为变体类型(此时变量类型默认为变体类型(VariantVariant),但这),但这),但这),但这样做可能由于变量名的误写而产生不良后果,所样做可能由于变量名的误写而产生不良后果,所样做可能由于变量名的误写而产生不良后果,所样做可能由于变量名的误写而产生不良后果,所以变量应先声明后使用。变量声明后,系统会根以变量应先声明后使用。变量声明后,系统会根以变量应先声明后使用。变量声明后,系统会根以变量应先声明后使用。变量声明后,系统会根据变
36、量类型,为它分配相应的存储空间,并确定据变量类型,为它分配相应的存储空间,并确定据变量类型,为它分配相应的存储空间,并确定据变量类型,为它分配相应的存储空间,并确定该空间可存储的数据类型。该空间可存储的数据类型。该空间可存储的数据类型。该空间可存储的数据类型。1 变量的显式声明变量的显式声明 显示声明变量可以使用显示声明变量可以使用显示声明变量可以使用显示声明变量可以使用DimDim,StaticStatic,PublicPublic,PrivatePrivate这四个关键字。这一节介绍用关键字这四个关键字。这一节介绍用关键字这四个关键字。这一节介绍用关键字这四个关键字。这一节介绍用关键字Di
37、mDim来声明变量,其它关键字在本章的后续小节来声明变量,其它关键字在本章的后续小节来声明变量,其它关键字在本章的后续小节来声明变量,其它关键字在本章的后续小节中介绍。中介绍。中介绍。中介绍。Dim Dim语句的语法格式如下:语句的语法格式如下:语句的语法格式如下:语句的语法格式如下:Dim Dim 变量名变量名变量名变量名 as as 数据类型数据类型数据类型数据类型 说明:说明:方括号里的内容可以省略。如省略,则该方括号里的内容可以省略。如省略,则该变量被声明为变体型(变量被声明为变体型(Variant)。)。如:如:Dim intCount intCount 声声明为变体变量明为变体变量
38、 可以使用连续声明方式,将多个变量放在一行中一次声明,可以使用连续声明方式,将多个变量放在一行中一次声明,可以使用连续声明方式,将多个变量放在一行中一次声明,可以使用连续声明方式,将多个变量放在一行中一次声明,用逗号隔开,但类型声明不能共用,每个变量必须有自己用逗号隔开,但类型声明不能共用,每个变量必须有自己用逗号隔开,但类型声明不能共用,每个变量必须有自己用逗号隔开,但类型声明不能共用,每个变量必须有自己的类型声明。的类型声明。的类型声明。的类型声明。如:如:如:如:Dim intSum Dim intSumintAve intAve intSumintSum,intAveintAve都声明
39、为变都声明为变都声明为变都声明为变体变量体变量体变量体变量 Dim intM Dim intMstrText as string strText as string intMintM声明为变体变量,声明为变体变量,声明为变体变量,声明为变体变量,strTextstrText声明为字符型变量声明为字符型变量声明为字符型变量声明为字符型变量 Dim lngX as long Dim lngX as longsngY as SinglesngY as SinglelngXlngX声明为长整型声明为长整型声明为长整型声明为长整型变量,变量,变量,变量,sngYsngY声明为单精度型变量声明为单精度型变
40、量声明为单精度型变量声明为单精度型变量 若把多个变量都定义成同一类型,例如把若把多个变量都定义成同一类型,例如把若把多个变量都定义成同一类型,例如把若把多个变量都定义成同一类型,例如把X,Y,ZX,Y,Z都定义成字都定义成字都定义成字都定义成字节型(节型(节型(节型(ByteByte),必须写成),必须写成),必须写成),必须写成 Dim X as Byte Dim X as Byte Y as Y as ByteByteZ as ByteZ as Byte 如果写成如果写成如果写成如果写成 Dim X Dim XY YZ as ByteZ as Byte 则则则则X XY Y定义成变体类型,
41、定义成变体类型,定义成变体类型,定义成变体类型,Z Z定义成字节类型。定义成字节类型。定义成字节类型。定义成字节类型。可以将类型说明符加在变量名后,来代替可以将类型说明符加在变量名后,来代替“As 数据类型数据类型”。变量名和类型说明符之。变量名和类型说明符之间不能有空格。类型说明符参见表间不能有空格。类型说明符参见表2.1。如:如:Dim lngX as longsngY as Single 也可以声明为:也可以声明为:Dim lngX&sngY!对于字符串变量,根据其数据类型可分为变长和对于字符串变量,根据其数据类型可分为变长和对于字符串变量,根据其数据类型可分为变长和对于字符串变量,根据
42、其数据类型可分为变长和定长两种,变长字符串变量的长度不确定,是可定长两种,变长字符串变量的长度不确定,是可定长两种,变长字符串变量的长度不确定,是可定长两种,变长字符串变量的长度不确定,是可变的;定长字符串变量的长度是固定不变的。变的;定长字符串变量的长度是固定不变的。变的;定长字符串变量的长度是固定不变的。变的;定长字符串变量的长度是固定不变的。变长字符串变量的声明语句为:变长字符串变量的声明语句为:变长字符串变量的声明语句为:变长字符串变量的声明语句为:Dim Dim 变量名变量名变量名变量名 As String As String 定长字符串变量的声明格式为:定长字符串变量的声明格式为:
43、定长字符串变量的声明格式为:定长字符串变量的声明格式为:Dim Dim 变量名变量名变量名变量名 As String As String*字符数字符数字符数字符数 定长字符串存放的最多字符数由定长字符串存放的最多字符数由定长字符串存放的最多字符数由定长字符串存放的最多字符数由*号后的字符数决号后的字符数决号后的字符数决号后的字符数决定。定。定。定。如:如:如:如:Dim strString1 As String Dim strString1 As String strString1strString1声明声明声明声明为变长字符串变量为变长字符串变量为变长字符串变量为变长字符串变量 Dim st
44、rString2 As String*30 Dim strString2 As String*30 strString2strString2声声声声明为定长字符串变量,可存放明为定长字符串变量,可存放明为定长字符串变量,可存放明为定长字符串变量,可存放3030个字符个字符个字符个字符 注意:注意:变长字符串最多可存放变长字符串最多可存放2MB个字符。个字符。赋予定长字符串的字符数如果少于给定赋予定长字符串的字符数如果少于给定个数,则右补空格。个数,则右补空格。赋予定长字符串的字符数如果超过给定赋予定长字符串的字符数如果超过给定个数,则会直接截去超出部分的字符。个数,则会直接截去超出部分的字符。
45、通常用对象型变量(通常用对象型变量(通常用对象型变量(通常用对象型变量(ObjectObject)访问实际对象,如)访问实际对象,如)访问实际对象,如)访问实际对象,如命令按钮,文本框或一个图形等对象。在声明对命令按钮,文本框或一个图形等对象。在声明对命令按钮,文本框或一个图形等对象。在声明对命令按钮,文本框或一个图形等对象。在声明对象型变量时,最好使用特定的类型,而不是一般象型变量时,最好使用特定的类型,而不是一般象型变量时,最好使用特定的类型,而不是一般象型变量时,最好使用特定的类型,而不是一般的的的的ObjectObject,然后用,然后用,然后用,然后用setset语句为其指定一个具体
46、对象,语句为其指定一个具体对象,语句为其指定一个具体对象,语句为其指定一个具体对象,这样会使应用程序运行效率更快。这样会使应用程序运行效率更快。这样会使应用程序运行效率更快。这样会使应用程序运行效率更快。例如下面的例子,通过改变对象变量例如下面的例子,通过改变对象变量例如下面的例子,通过改变对象变量例如下面的例子,通过改变对象变量X X和和和和Y Y来改变来改变来改变来改变窗体上两个文本框窗体上两个文本框窗体上两个文本框窗体上两个文本框Text1Text1和和和和Text2Text2的属性。的属性。的属性。的属性。Dim X as TextBoxDim X as TextBoxDim Y as
47、 TextBoxDim Y as TextBox Set X=Text1 Set X=Text1 Set Y=Text2 Set Y=Text2 X.Text=X.Text=Thank youThank you!Y.Enabled=False Y.Enabled=False2 2 变量的隐式声明变量的隐式声明变量的隐式声明变量的隐式声明 在在在在VBVB中,可以不声明变量类型,而直接使用,使用时,中,可以不声明变量类型,而直接使用,使用时,中,可以不声明变量类型,而直接使用,使用时,中,可以不声明变量类型,而直接使用,使用时,系统根据变量被赋予的值来决定变量的数据类型。这种变系统根据变量被赋予
48、的值来决定变量的数据类型。这种变系统根据变量被赋予的值来决定变量的数据类型。这种变系统根据变量被赋予的值来决定变量的数据类型。这种变量的声明被称为隐式声明。量的声明被称为隐式声明。量的声明被称为隐式声明。量的声明被称为隐式声明。也可以在通用声明段中使用也可以在通用声明段中使用也可以在通用声明段中使用也可以在通用声明段中使用Option ExplicitOption Explicit语句来强语句来强语句来强语句来强制声明所有的变量。使用了制声明所有的变量。使用了制声明所有的变量。使用了制声明所有的变量。使用了Option Explicit Option Explicit 语句之后,语句之后,语句
49、之后,语句之后,当系统发现程序中没有显式声明的变量时,就会提示出错。当系统发现程序中没有显式声明的变量时,就会提示出错。当系统发现程序中没有显式声明的变量时,就会提示出错。当系统发现程序中没有显式声明的变量时,就会提示出错。可以在通用声明段自动插入可以在通用声明段自动插入可以在通用声明段自动插入可以在通用声明段自动插入 Option Explicit Option Explicit 语句,方法语句,方法语句,方法语句,方法是:单击是:单击是:单击是:单击“工具工具工具工具”菜单下的菜单下的菜单下的菜单下的“选项选项选项选项”命令,在命令,在命令,在命令,在 弹出的弹出的弹出的弹出的“选选选选项
50、项项项”对话框中选中对话框中选中对话框中选中对话框中选中“要求变量声明要求变量声明要求变量声明要求变量声明”复选框,如图复选框,如图复选框,如图复选框,如图2.22.2所所所所示。示。示。示。图2.2 强制显示声明变量 选中“要求变量声明”复选框2.4 内部函数内部函数 VB系统提供了丰富的内部函数(库函数)系统提供了丰富的内部函数(库函数),灵活运用这些函数,可以简化许多程序,灵活运用这些函数,可以简化许多程序代码的编写。这些内部函数主要包括数学代码的编写。这些内部函数主要包括数学函数、字符函数和日期函数等。函数、字符函数和日期函数等。2.4.1 数学函数数学函数函数名函数名函数名函数名功能