可视化程序设计语言基础.ppt
1.VBVB程序程序书写规范和程序注释书写规范和程序注释2.2.VBVB中标准的数据类型中标准的数据类型3.3.VBVB中的运算符和表达式中的运算符和表达式4.4.变量与常量变量与常量 5.5.数组数组6.6.枚举类型枚举类型 7.7.用户自定义类型用户自定义类型8.8.VBVB的基本控制结构的基本控制结构 9.9.过程过程 10.10.常用函数常用函数第三章 VB语言基础1常州工学院计算机系 一、一、VB程序书写规范和程序注释程序书写规范和程序注释 语句体语句体 语句的功能语句的功能具体操作和说明具体操作和说明?语句的一般形式:语句的一般形式:例:Print“OK!”?赋值语句:赋值语句:?结束语句:结束语句:End2常州工学院计算机系 一、一、VB程序书写规范和程序注释程序书写规范和程序注释?按行书写按行书写 VB代码中不区分字母的大小写代码中不区分字母的大小写 一行一句一行一句 一句多行一句多行(续行标记续行标记 一个一个空格空格+一个一个下划线下划线_)一行多句一行多句(语句分隔符语句分隔符 冒号冒号)例例:x=10:y=“Visual Basic”:z=203常州工学院计算机系 一、一、VB程序书写规范和程序注释程序书写规范和程序注释?书写规范书写规范书写规范书写规范对于对于对于对于VBVB中的保留字中的保留字中的保留字中的保留字,首字母总被转换成大,首字母总被转换成大,首字母总被转换成大,首字母总被转换成大写,其余字母被转换成小写写,其余字母被转换成小写写,其余字母被转换成小写写,其余字母被转换成小写。对于用户自定义的变量、过程名,对于用户自定义的变量、过程名,对于用户自定义的变量、过程名,对于用户自定义的变量、过程名,VBVB总是总是总是总是以第一次定义的为准,以后输入的自动向第一以第一次定义的为准,以后输入的自动向第一以第一次定义的为准,以后输入的自动向第一以第一次定义的为准,以后输入的自动向第一次的定义转换。次的定义转换。次的定义转换。次的定义转换。?程序注释程序注释程序注释程序注释(可读性可读性可读性可读性)RemRem语句语句语句语句 RemRem 单引号单引号单引号单引号 4常州工学院计算机系 二、二、二、二、VBVB中标准的数据类型中标准的数据类型中标准的数据类型中标准的数据类型数据类型数据类型数据类型数据类型关键字关键字关键字关键字前前前前 缀缀缀缀数据类型数据类型数据类型数据类型关键字关键字关键字关键字前前前前 缀缀缀缀整整整整型()型()型()型()IntegerIntegerIntInt长整型(长整型(长整型(长整型(&)LongLonglnglng单精度型(!)单精度型(!)单精度型(!)单精度型(!)SingleSingleSngSng双精度型双精度型双精度型双精度型(#)DoubleDoubleDblDbl逻辑型逻辑型逻辑型逻辑型BooleanBooleanBlnBln货币型(货币型(货币型(货币型()CurrencyCurrencyCurCur日期型日期型日期型日期型DateDateDtmDtm字符型(字符型(字符型(字符型($)StringStringStrStr字节型字节型字节型字节型ByteByteBytByt变体型变体型变体型变体型VariantVariantVntVnt对象型对象型对象型对象型ObjectObjectObjObj5常州工学院计算机系 二、二、二、二、VBVB中标准的数据类型中标准的数据类型中标准的数据类型中标准的数据类型?数值型数值型(Numeric)数据数据uu Integer Integer 和和和和 Long Long 型:用于保存整数,整数运型:用于保存整数,整数运型:用于保存整数,整数运型:用于保存整数,整数运算速度快、精确,但表示数的范围小算速度快、精确,但表示数的范围小算速度快、精确,但表示数的范围小算速度快、精确,但表示数的范围小。LongLong较较较较大的整数,大的整数,大的整数,大的整数,IntegerInteger较小的整数较小的整数较小的整数较小的整数。uu Single Single 和和和和DoubleDouble型:用于保存浮点实数,浮型:用于保存浮点实数,浮型:用于保存浮点实数,浮型:用于保存浮点实数,浮点实数表示数的范围大,但有误差且运算速度点实数表示数的范围大,但有误差且运算速度点实数表示数的范围大,但有误差且运算速度点实数表示数的范围大,但有误差且运算速度慢。慢。慢。慢。DoubleDouble的精度大于的精度大于的精度大于的精度大于SingleSingleuu Currency Currency 型:是定点实数或整数,最多保留型:是定点实数或整数,最多保留型:是定点实数或整数,最多保留型:是定点实数或整数,最多保留小数点右边小数点右边小数点右边小数点右边4 4位和小数点左边位和小数点左边位和小数点左边位和小数点左边1515位,用于货币计位,用于货币计位,用于货币计位,用于货币计算。算。算。算。uu Byte Byte 型:用于存储二进制数。一个字节型变型:用于存储二进制数。一个字节型变型:用于存储二进制数。一个字节型变型:用于存储二进制数。一个字节型变量量量量6常州工学院计算机系 二、二、二、二、VBVB中标准的数据类型中标准的数据类型中标准的数据类型中标准的数据类型?日期日期型型(Date)数据数据uu DateDate型按型按型按型按8 8字节的浮点数来存储。字节的浮点数来存储。字节的浮点数来存储。字节的浮点数来存储。uu日期范围:日期范围:日期范围:日期范围:100100年年年年1 1月月月月1 1日日日日99999999年年年年1212月月月月3131日日日日uu时间范围:时间范围:时间范围:时间范围:0 0:0000:00230023:5959:5959uu赋值时用两个赋值时用两个赋值时用两个赋值时用两个#号将日期括起来号将日期括起来号将日期括起来号将日期括起来A#10/12/2002#7常州工学院计算机系 二、二、二、二、VBVB中标准的数据类型中标准的数据类型中标准的数据类型中标准的数据类型?字符型字符型(String)数据:数据:用于表示由很多字符组成的字符串。用于表示由很多字符组成的字符串。用于表示由很多字符组成的字符串。用于表示由很多字符组成的字符串。uu 字符串的表示方法:字符串的表示方法:字符串的表示方法:字符串的表示方法:两侧用两侧用两侧用两侧用“”“”号括起来号括起来号括起来号括起来B B “Visual Basic”Visual Basic”uu 定长字符串:定长字符串:定长字符串:定长字符串:String*SizeString*Size不足在右边补空不足在右边补空不足在右边补空不足在右边补空超过截取超过截取超过截取超过截取uu 变长字符串变长字符串变长字符串变长字符串8常州工学院计算机系 二、二、二、二、VBVB中标准的数据类型中标准的数据类型中标准的数据类型中标准的数据类型?逻辑型逻辑型(Boolean)数据数据用于逻辑判断,它只有用于逻辑判断,它只有用于逻辑判断,它只有用于逻辑判断,它只有TrueTrue和和和和 FalseFalse两个值两个值两个值两个值 逻辑数据逻辑数据整型数据整型数据True=-1 False=0整型数据整型数据逻辑数据逻辑数据非非0数数=True0=False9常州工学院计算机系 二、二、二、二、VBVB中标准的数据类型中标准的数据类型中标准的数据类型中标准的数据类型?变体型变体型变体型变体型(Variant)(Variant)数据(尽量少用)数据(尽量少用)数据(尽量少用)数据(尽量少用)是一种特殊的数据类型,是所有未定义变量的是一种特殊的数据类型,是所有未定义变量的是一种特殊的数据类型,是所有未定义变量的是一种特殊的数据类型,是所有未定义变量的默认数据类型,它可以存储所有系统定义的类型的默认数据类型,它可以存储所有系统定义的类型的默认数据类型,它可以存储所有系统定义的类型的默认数据类型,它可以存储所有系统定义的类型的数据数据数据数据 缺点缺点缺点缺点:占用的空间较大占用的空间较大占用的空间较大占用的空间较大,慢慢慢慢注意以下两种特定值:注意以下两种特定值:注意以下两种特定值:注意以下两种特定值:EmptyEmpty:在赋值之前,在赋值之前,在赋值之前,在赋值之前,VariantVariant变量具有值变量具有值变量具有值变量具有值EmptyEmptyIsEmptyIsEmpty函数函数函数函数NullNull:表示未知数据或丢失的数据,常用于数据库表示未知数据或丢失的数据,常用于数据库表示未知数据或丢失的数据,常用于数据库表示未知数据或丢失的数据,常用于数据库应用程序应用程序应用程序应用程序IsNullIsNull函数函数函数函数10常州工学院计算机系 二、二、二、二、VBVB中标准的数据类型中标准的数据类型中标准的数据类型中标准的数据类型?对象数据类型对象数据类型可用来引用应用程序或某些其他应用程可用来引用应用程序或某些其他应用程序中的对象序中的对象给给Object类型的变量指定某一具体的对类型的变量指定某一具体的对象时应该用象时应该用Set语句赋值语句赋值11常州工学院计算机系 函数名函数名函数名函数名功能功能功能功能举例举例举例举例结果结果结果结果cintcintcintcint(x)(x)(x)(x)将将将将数值型数据数值型数据数值型数据数值型数据x x x x的小数部分四舍五入取整的小数部分四舍五入取整的小数部分四舍五入取整的小数部分四舍五入取整cintcintcintcint(3.8),(3.8),(3.8),(3.8),cintcintcintcint(3.(3.(3.(3.4)4)4)4)4,34,34,34,3cboolcboolcboolcbool(x)(x)(x)(x)将将将将任何有效的字符串或数值转换成逻辑型任何有效的字符串或数值转换成逻辑型任何有效的字符串或数值转换成逻辑型任何有效的字符串或数值转换成逻辑型cboolcboolcboolcbool(123)(123)(123)(123)truetruetruetruecbytecbytecbytecbyte(x)(x)(x)(x)将将将将0255025502550255之间的数值转换为字节型之间的数值转换为字节型之间的数值转换为字节型之间的数值转换为字节型cbytecbytecbytecbyte(12)(12)(12)(12)12121212cdatecdatecdatecdate(x)(x)(x)(x)将将将将有效的日期字符串转换为日期有效的日期字符串转换为日期有效的日期字符串转换为日期有效的日期字符串转换为日期cdatecdatecdatecdate(“4/20/00”(“4/20/00”(“4/20/00”(“4/20/00”)4/20/004/20/004/20/004/20/00ccurccurccurccur(x)(x)(x)(x)将将将将数值型数据数值型数据数值型数据数值型数据x x x x转换成货币型数据转换成货币型数据转换成货币型数据转换成货币型数据ccurccurccurccur(123.45)(123.45)(123.45)(123.45)123.45123.45123.45123.45ClngClngClngClng(x)(x)(x)(x)将将将将数值型数据数值型数据数值型数据数值型数据x x x x转换成长整型数据,小数转换成长整型数据,小数转换成长整型数据,小数转换成长整型数据,小数部分四舍五入部分四舍五入部分四舍五入部分四舍五入ClngClngClngClng(1234.6)(1234.6)(1234.6)(1234.6)1235123512351235CdblCdblCdblCdbl(x)(x)(x)(x)将数值型数据将数值型数据将数值型数据将数值型数据x x x x转换成双精度型数据转换成双精度型数据转换成双精度型数据转换成双精度型数据CdblCdblCdblCdbl(1234.5)(1234.5)(1234.5)(1234.5)1234.51234.51234.51234.5CsngCsngCsngCsng(x)(x)(x)(x)将数值型数据将数值型数据将数值型数据将数值型数据x x x x转换成单精度型数据转换成单精度型数据转换成单精度型数据转换成单精度型数据CsngCsngCsngCsng(123.5)(123.5)(123.5)(123.5)123.5123.5123.5123.5CvarCvarCvarCvar(x)(x)(x)(x)将将将将数值型数据数值型数据数值型数据数值型数据x x x x转换成变体型,转换成变体型,转换成变体型,转换成变体型,x x x x若为数值若为数值若为数值若为数值型,则取值范围同双精度数;若为字符型,型,则取值范围同双精度数;若为字符型,型,则取值范围同双精度数;若为字符型,型,则取值范围同双精度数;若为字符型,则取值范围同字符型数则取值范围同字符型数则取值范围同字符型数则取值范围同字符型数CvarCvarCvarCvar(123.5)(123.5)(123.5)(123.5)123.5123.5123.5123.5CstrCstrCstrCstr(x)(x)(x)(x)将将将将x x x x转换成字符型数。若转换成字符型数。若转换成字符型数。若转换成字符型数。若x x x x为数值型,则转为数值型,则转为数值型,则转为数值型,则转换为数字字符串换为数字字符串换为数字字符串换为数字字符串CstrCstrCstrCstr(123)(123)(123)(123)“123”“123”“123”“123”VB中的类型转换函数中的类型转换函数12常州工学院计算机系 1.1.算术运算符与算术表达式算术运算符与算术表达式算术运算符与算术表达式算术运算符与算术表达式算术运算符算术运算符算术运算符算术运算符(乘方乘方乘方乘方)、+(+(加加加加)、-减减减减(负号负号负号负号)、*(乘乘乘乘)、/(/(除除除除)、(整除整除整除整除)、Mod(Mod(取余取余取余取余(模模模模)优先级优先级优先级优先级:-(负负负负)*/*/ModMod +-+-算术表达式算术表达式算术表达式算术表达式 A*b/(c*d)a*b/c/d a*b/c*dA*b/(c*d)a*b/c/d a*b/c*d 132*3132*3 238/2 mod 3238/2 mod 3 29 mod 98/229 mod 98/2三、三、三、三、运算符和表达式运算符和表达式运算符和表达式运算符和表达式13常州工学院计算机系 2.2.关系运算符与关系表达式关系运算符与关系表达式关系运算符与关系表达式关系运算符与关系表达式关系运算符关系运算符关系运算符关系运算符 、=、=、=、ISIS(对象引对象引对象引对象引用比较)、用比较)、用比较)、用比较)、LikeLike(字符串比较)字符串比较)字符串比较)字符串比较)关系表达式关系表达式关系表达式关系表达式(按值比较,字符按按值比较,字符按按值比较,字符按按值比较,字符按其其其其ASCIIASCII码逐码逐码逐码逐个比较个比较个比较个比较)A32A=z/2X+y=z/2 B$”Basic”B$”Basic”优先级相同优先级相同优先级相同优先级相同三、三、三、三、运算符和表达式运算符和表达式运算符和表达式运算符和表达式14常州工学院计算机系 3.3.逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式逻辑运算符逻辑运算符逻辑运算符逻辑运算符三、三、三、三、运算符和表达式运算符和表达式运算符和表达式运算符和表达式运算符运算符意义意义说明说明举例举例结果结果NotNot取反取反当操作数为假时,结果为真当操作数为假时,结果为真Not FNot FT TAndAnd与与操作数均为真时,结果才为真操作数均为真时,结果才为真T And FT And FT And TT And TF FT TOrOr或或操作数中有一个为真时,结果为真操作数中有一个为真时,结果为真T Or FT Or FF Or FF Or FT TF FXorXor异或异或操作数相反时,结果才为真操作数相反时,结果才为真T T Xor Xor F FT T Xor Xor T TT TF F15常州工学院计算机系 三、三、三、三、运算符和表达式运算符和表达式运算符和表达式运算符和表达式4.4.字符串运算符字符串运算符字符串运算符有两个字符串运算符有两个字符串运算符有两个字符串运算符有两个“”和和和和“&”。在使。在使。在使。在使用用用用&时应注意时应注意时应注意时应注意变量与运算符变量与运算符变量与运算符变量与运算符&之间应有一个空之间应有一个空之间应有一个空之间应有一个空格格格格。AA+和和&的区别的区别:连接符两端的操作数:连接符两端的操作数:连接符两端的操作数:连接符两端的操作数均应是字符型均应是字符型均应是字符型均应是字符型&:进行连接操作前,系统先将操作数首先:进行连接操作前,系统先将操作数首先:进行连接操作前,系统先将操作数首先:进行连接操作前,系统先将操作数首先转换为字符型,然后再进行连接。转换为字符型,然后再进行连接。转换为字符型,然后再进行连接。转换为字符型,然后再进行连接。例如:例如:例如:例如:“12000”12000”1234512345 结果结果结果结果2434524345 12345+“abcdef”12345+“abcdef”出错出错出错出错 12&“12345”12&“12345”结果结果结果结果1212345121234516常州工学院计算机系 三、三、三、三、运算符和表达式运算符和表达式运算符和表达式运算符和表达式5.各种运算符间的优先顺序各种运算符间的优先顺序算术运算符算术运算符算术运算符算术运算符 字符运算符字符运算符字符运算符字符运算符 关系运算符关系运算符关系运算符关系运算符 逻辑运算符逻辑运算符逻辑运算符逻辑运算符6.对于多种运算符并存的表达式,可以增对于多种运算符并存的表达式,可以增加括号,改变优先级加括号,改变优先级例如:例如:(分析优先级分析优先级)A=2*3.14159*r and x5 or not bX2 or text1.text=“Microsoft”(19)and 112(19)or 1217常州工学院计算机系 数据存储形式数据存储形式 名字名字能够存储的数据能够存储的数据变量变量一个可以改变的值一个可以改变的值常量常量一个固定的值一个固定的值数组数组多个数据类型(包括多个数据类型(包括VariantVariant数据类型)的值数据类型)的值记录记录多个不同数据类型的数据值多个不同数据类型的数据值18常州工学院计算机系 四、变量与常量四、变量与常量四、变量与常量四、变量与常量命名规则命名规则 必须以字母、汉字开头,由字母、汉字、数必须以字母、汉字开头,由字母、汉字、数必须以字母、汉字开头,由字母、汉字、数必须以字母、汉字开头,由字母、汉字、数字或字或字或字或下划线下划线下划线下划线组成。作为变量名的字符串内不组成。作为变量名的字符串内不组成。作为变量名的字符串内不组成。作为变量名的字符串内不得包括得包括得包括得包括点号点号点号点号和用于类型说明的字符和用于类型说明的字符和用于类型说明的字符和用于类型说明的字符%、&、!、#、$和空格和空格和空格和空格。长度长度长度长度255255255255个字符。个字符。个字符。个字符。见名知义、在见名知义、在见名知义、在见名知义、在作用域内必须唯一作用域内必须唯一作用域内必须唯一作用域内必须唯一。不能使用不能使用不能使用不能使用VBVBVBVB中的中的中的中的关键字关键字关键字关键字。VBVBVBVB中不区分变量名的大小写中不区分变量名的大小写中不区分变量名的大小写中不区分变量名的大小写。为便于区分,。为便于区分,。为便于区分,。为便于区分,一般变量首字母用大写字母,其余用小写字一般变量首字母用大写字母,其余用小写字一般变量首字母用大写字母,其余用小写字一般变量首字母用大写字母,其余用小写字母。常量全部用大写字母。母。常量全部用大写字母。母。常量全部用大写字母。母。常量全部用大写字母。19常州工学院计算机系 四、变量与常量常量四、变量与常量常量四、变量与常量常量四、变量与常量常量1.1.1.1.系统提供的常量系统提供的常量VB系统中还提供了为应用程序和控件系统中还提供了为应用程序和控件定义的常量,这些常量位于对象库中,定义的常量,这些常量位于对象库中,可通过可通过对象浏览器对象浏览器查看。查看。如:如:颜色常量颜色常量 VbRed、VbBlue2.2.2.2.符号常量(符号常量(ConstConst语句)语句)为什么要用?为什么要用?为什么要用?为什么要用?如何用?如何用?如何用?如何用?20常州工学院计算机系 四、变量与常量常量四、变量与常量常量四、变量与常量常量四、变量与常量常量3.3.Const 语句的形式:PublicPublic|Private Private ConstConst As TypeAs Type =全局全局局部局部 数据类型数据类型Const PI=3.14159ConstconBirthday=#3/22/93#Public Const Country$=“CHINA”,Fax_Num&=36134484PublicConstconYearsMissyouAsInteger=6 注:常量一旦声明,在其后的代注:常量一旦声明,在其后的代码中只能引用,不能改变码中只能引用,不能改变21常州工学院计算机系 VBVB中变量的声明分为两种方法中变量的声明分为两种方法隐式声明:允许对使用的变量隐式声明:允许对使用的变量隐式声明:允许对使用的变量隐式声明:允许对使用的变量未声明就直接使用未声明就直接使用未声明就直接使用未声明就直接使用privatesubform_click()privatesubform_click()k&=1k&=1country$=“China”country$=“China”Printk,CountryPrintk,Countryendsubendsub四、变量与常量变量四、变量与常量变量四、变量与常量变量四、变量与常量变量隐式声明的弱点:变量名隐式声明的弱点:变量名书写错误,不会出错!书写错误,不会出错!显示声明:每个变量都必须显示声明:每个变量都必须显示声明:每个变量都必须显示声明:每个变量都必须先声明再使用先声明再使用先声明再使用先声明再使用 要强制显式声明变量,只须在类模块、窗体模块要强制显式声明变量,只须在类模块、窗体模块要强制显式声明变量,只须在类模块、窗体模块要强制显式声明变量,只须在类模块、窗体模块或标准模块的声明段中加入这条语句或标准模块的声明段中加入这条语句或标准模块的声明段中加入这条语句或标准模块的声明段中加入这条语句 OPTION EXPLICIT22常州工学院计算机系 Option Explicit Option Explicit 语句语句在模块中使用在模块中使用OPTION EXPLICITOPTION EXPLICIT语句,系语句,系统将检查模块中所有未加统将检查模块中所有未加显式显式说明的变量,说明的变量,一旦发现这样的变量存在,就会产生一个一旦发现这样的变量存在,就会产生一个出错信息,提示使用者改正错误出错信息,提示使用者改正错误要求变量声明要求变量声明可以通过可以通过“工具工具”菜单菜单 “选项选项”“编辑器编辑器”选项卡设置选项卡设置四、变量与常量变量四、变量与常量变量四、变量与常量变量四、变量与常量变量23常州工学院计算机系 四、变量与常量变量四、变量与常量变量四、变量与常量变量四、变量与常量变量变量的作用域与变量说明语句变量的作用域与变量说明语句1)1)作用域作用域?局部变量局部变量局部变量局部变量在过程中说明,仅在说明它的在过程中说明,仅在说明它的在过程中说明,仅在说明它的在过程中说明,仅在说明它的过程中过程中过程中过程中有效有效有效有效?窗体窗体窗体窗体/模块变量模块变量模块变量模块变量在窗体或标准模块中说明,在定义该变量在窗体或标准模块中说明,在定义该变量在窗体或标准模块中说明,在定义该变量在窗体或标准模块中说明,在定义该变量的的的的模块或窗体模块或窗体模块或窗体模块或窗体的所有过程内均有效的所有过程内均有效的所有过程内均有效的所有过程内均有效?全局变量全局变量全局变量全局变量在模块或窗体中说明,在在模块或窗体中说明,在在模块或窗体中说明,在在模块或窗体中说明,在工程内工程内工程内工程内的所有过的所有过的所有过的所有过程中都有效程中都有效程中都有效程中都有效24常州工学院计算机系 四、变量与常量变量四、变量与常量变量四、变量与常量变量四、变量与常量变量2)2)作用时间作用时间?普通局部变量普通局部变量普通局部变量普通局部变量:只在声明它的过程内部有效:只在声明它的过程内部有效:只在声明它的过程内部有效:只在声明它的过程内部有效 变量在过程真正执行时才分配空间。过程执行完毕后变量在过程真正执行时才分配空间。过程执行完毕后变量在过程真正执行时才分配空间。过程执行完毕后变量在过程真正执行时才分配空间。过程执行完毕后即释放空间,变量中存放的值也就不复存在。即释放空间,变量中存放的值也就不复存在。即释放空间,变量中存放的值也就不复存在。即释放空间,变量中存放的值也就不复存在。?静态局部变量静态局部变量静态局部变量静态局部变量:只在声明它的过程内部有效:只在声明它的过程内部有效:只在声明它的过程内部有效:只在声明它的过程内部有效 变量在第一次定义时分配空间。过程执行完毕后,只变量在第一次定义时分配空间。过程执行完毕后,只变量在第一次定义时分配空间。过程执行完毕后,只变量在第一次定义时分配空间。过程执行完毕后,只要程序还未结束,该变量的值就依然存在,该变量占要程序还未结束,该变量的值就依然存在,该变量占要程序还未结束,该变量的值就依然存在,该变量占要程序还未结束,该变量的值就依然存在,该变量占用的空间不被释放。用的空间不被释放。用的空间不被释放。用的空间不被释放。25常州工学院计算机系 四、变量与常量变量四、变量与常量变量四、变量与常量变量四、变量与常量变量Private Sub Command1_Click()Private Sub Command1_Click()DimDim i As Integer i As IntegerPrint iPrint ii=i+1i=i+1Print iPrint iEnd SubEnd SubPrivate Sub Command2_Click()Private Sub Command2_Click()StaticStatic i As Integer i As IntegerPrint iPrint ii=i+1i=i+1Print iPrint iEnd SubEnd Sub?想一想一想:会有想:会有什么不同什么不同26常州工学院计算机系 四、变量与常量变量四、变量与常量变量四、变量与常量变量四、变量与常量变量3)3)3)3)变量说明语句变量说明语句Dim Dim As As As As ,As As As As 用于说明窗体变量或局部变量用于说明窗体变量或局部变量用于说明窗体变量或局部变量用于说明窗体变量或局部变量(最常用最常用最常用最常用)PublicPublic AsAs ,AsAs 用于说明全局变量用于说明全局变量用于说明全局变量用于说明全局变量PrivatePrivate AsAs ,AsAs 用于说明窗体用于说明窗体用于说明窗体用于说明窗体/模块级变量模块级变量模块级变量模块级变量Static Static AsAs ,As As 用于说明静态变量用于说明静态变量用于说明静态变量用于说明静态变量27常州工学院计算机系 四、变量与常量变量四、变量与常量变量四、变量与常量变量四、变量与常量变量 窗体级和全局变量应在窗体级和全局变量应在窗体级和全局变量应在窗体级和全局变量应在“代码编辑器代码编辑器代码编辑器代码编辑器”窗口中的(通用)窗口中的(通用)窗口中的(通用)窗口中的(通用)(声明)部分进行说明(声明)部分进行说明(声明)部分进行说明(声明)部分进行说明例:例:例:例:Dim count as integerDim count as integer public name as string,age as integer public name as string,age as integer 局部变量仅在使用它的过程中说明局部变量仅在使用它的过程中说明局部变量仅在使用它的过程中说明局部变量仅在使用它的过程中说明例:例:例:例:private sub command1_click()private sub command1_click()Dim count as integerDim count as integer End sub End sub 用用用用Dim Dim 语句说明的变量初值为语句说明的变量初值为语句说明的变量初值为语句说明的变量初值为0 0或空串或空串或空串或空串 变量名自动转换变量名自动转换变量名自动转换变量名自动转换28常州工学院计算机系 不同作用范围的不同作用范围的3 3种变量声明及使用规则种变量声明及使用规则 作用范围作用范围 局部变量局部变量 窗体窗体/模块级模块级变量变量 全局变量全局变量全局变量全局变量 窗体窗体 标准模块标准模块 声明方式声明方式 Dim,Static Dim,Static Dim,Private Dim,Private Public Public 声明位置声明位置 在过程中在过程中 在窗体在窗体/模块模块的的“通用声通用声明明“段段 窗体窗体/模块的模块的“通用声明通用声明“段段 能否被本模块能否被本模块的其他过程调的其他过程调用用 不不 能能 能能 能否被其他模能否被其他模块调用块调用 不不 不能不能 能,但在变量名能,但在变量名前加窗体名前加窗体名 能能 29常州工学院计算机系 变长字符串(缺省):变长字符串(缺省):Dim As String As String 例:例:例:例:DimDim strNamestrName As String As String 定长字符串:定长字符串:Dim As String As String*size size例:例:例:例:dim dim empnameempname as string*50(as string*50(不足补空,太不足补空,太不足补空,太不足补空,太长截取)长截取)长截取)长截取)相关函数:相关函数:相关函数:相关函数:TRIMTRIM,RTRIM,LTRIM,LEFT,RIGHT,MID$RTRIM,LTRIM,LEFT,RIGHT,MID$四、变量与常量变量四、变量与常量变量四、变量与常量变量四、变量与常量变量30常州工学院计算机系 五、数五、数 组组AA数组:数组是一种由同类数据组成的有序集合。数组是一种由同类数据组成的有序集合。数组是一种由同类数据组成的有序集合。数组是一种由同类数据组成的有序集合。Name (25)数组名下 标数组元素(下标变量)数组元素:数组中每一个数据称为数组元素数组元素:数组中每一个数据称为数组元素数组元素:数组中每一个数据称为数组元素数组元素:数组中每一个数据称为数组元素表示方法:数组名表示方法:数组名表示方法:数组名表示方法:数组名(S1,S2,)(S1,S2S1,S2,)(S1,S2为下标为下标为下标为下标)下标下标下标下标:元素在数组中的位置元素在数组中的位置元素在数组中的位置元素在数组中的位置数组的引入,能够实现对数据的快速、成批处理。数组的引入,能够实现对数据的快速、成批处理。31常州工学院计算机系 五、数五、数 组组AA数组的声明:数组的声明:数组的声明:数组的声明:格式:格式:格式:格式:Dim Dim ()As)As 维数定义的格式维数定义的格式维数定义的格式维数定义的格式:To To ,To2 ToAA数组的命名:数组的命名规则与普通变量相同。数组的命名:数组的命名规则与普通变量相同。数组的命名:数组的命名规则与普通变量相同。数组的命名:数组的命名规则与普通变量相同。AA数组的维数:简单的说就是数组下标的个数。数组的维数:简单的说就是数组下标的个数。数组的维数:简单的说就是数组下标的个数。数组的维数:简单的说就是数组下标的个数。AA数组的类型:与变量的类型一样。数组的类型:与变量的类型一样。数组的类型:与变量的类型一样。数组的类型:与变量的类型一样。AA省略下界时省略下界时省略下界时省略下界时,系统缺省为系统缺省为系统缺省为系统缺省为0 0,但可通过,但可通过,但可通过,但可通过Option BaseOption Base语句改语句改语句改语句改变变变变AAOPTION BASE OPTION BASE 语句语句语句语句 Option Base 1Option Base 1(默认为默认为默认为默认为0 0)必须写在窗体或标准模块的所有过程之前必须写在窗体或标准模块的所有过程之前必须写在窗体或标准模块的所有过程之前必须写在窗体或标准模块的所有过程之前 一个模块中只能出现一次一个模块中只能出现一次一个模块中只能出现一次一个模块中只能出现一次Option Base Option Base 语句语句语句语句 必须写在数组说明语句之前必须写在数组说明语句之前必须写在数组说明语句之前必须写在数组说明语句之前 使该模块中所有缺省说明下标下界的数组的下标下界为使该模块中所有缺省说明下标下界的数组的下标下界为使该模块中所有缺省说明下标下界的数组的下标下界为使该模块中所有缺省说明下标下界的数组的下标下界为1 132常州工学院计算机系 五、数五、数 组组?数组的形式:静态数组(元素个数固定)和动态数组数组的形式:静态数组(元素个数固定)和动态数组数组的形式:静态数组(元素个数固定)和动态数组数组的形式:静态数组(元素个数固定)和动态数组(元素个数可以在程序运行期间改变)(元素个数可以在程序运行期间改变)(元素个数可以在程序运行期间改变)(元素个数可以在程序运行期间改变)静态数组:说明数组时,如果指明了数组的维数和静态数组:说明数组时,如果指明了数组的维数和静态数组:说明数组时,如果指明了数组的维数和静态数组:说明数组时,如果指明了数组的维数和每一维的下标范围,在使用过程中,维数和下标范每一维的下标范围,在使用过程中,维数和下标范每一维的下标范围,在使用过程中,维数和下标范每一维的下标范围,在使用过程中,维数和下标范围不变的数组围不变的数组围不变的数组围不变的数组 动态数组:说明数组时,如果不指明了数组的维数动态数组:说明数组时,如果不指明了数组的维数动态数组:说明数组时,如果不指明了数组的维数动态数组:说明数组时,如果不指明了数组的维数和每一维的下标范围,仅用一对圆括号表示,在使和每一维的下标范围,仅用一对圆括号表示,在使和每一维的下标范围,仅用一对圆括号表示,在使和每一维的下标范围,仅用一对圆括号表示,在使用过程中,可以利用用过程中,可以利用用过程中,可以利用用过程中,可以利用ReDimReDim语句对维数和下标范围语句对维数和下标范围语句对维数和下标范围语句对维数和下标范围重新说明的数组重新说明的数组重新说明的数组重新说明的数组例:例:例:例:Dim Dim Pin()Pin()as integer as integer Private sub form_load Private sub form_load RedimRedim pin(5)pin(5)End sub End sub33常州工学院计算机系 五、数五、数 组组ReDimReDim Preserve Preserve As As 使用使用PreservePreserve,则在对数