《《VB编程基础》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《VB编程基础》PPT课件.ppt(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1第三章第三章 Visual Basic 编程基础编程基础3.1 数据类型数据类型3.2 变量变量 3.3 常量常量 3.4 常用内部函数常用内部函数23.1 数据类型数据类型3.1.1 基本数据类型基本数据类型 VB中的基本数据类型有:数值型(中的基本数据类型有:数值型(Numeric)、字符串型(字符串型(String)、日期型()、日期型(Data)、字节型)、字节型(Byte)、货币型()、货币型(Currency)、布尔型)、布尔型(Boolean)、对象型()、对象型(Object)、变体型)、变体型(Variant)。)。3 数值型:数值型:数值型:数值型:分为整数型和实数型两大
2、类。分为整数型和实数型两大类。(1)整数型整数型 整数型是指不带小数和指数符号的数值。按表示整数型是指不带小数和指数符号的数值。按表示范围整数型分为整型和长整型。范围整数型分为整型和长整型。整型整型(Integer,类型符是,类型符是%)整型数据占据整型数据占据2个字节个字节(16位位),能够处理的数据,能够处理的数据范围是:范围是:-32768 32767。长整型长整型(Long,类型符,类型符&)长整型数据占据长整型数据占据4个字节(个字节(32位),能够处理的位),能够处理的数据范围是:数据范围是:-2147483648 2147483647。4 (2)实数型实数型 实数型数据是指带有小
3、数部分的数。实数型数据分实数型数据是指带有小数部分的数。实数型数据分为浮点数和定点数。为浮点数和定点数。在在VB中浮点数分为两种:单精度浮点数(中浮点数分为两种:单精度浮点数(Single)、)、双精度浮点数(双精度浮点数(Double)单精度数(类型符!)单精度数(类型符!)单精度数占据单精度数占据4个字节(个字节(32位),能够处理的数据位),能够处理的数据范围负数为:,正数为:。范围负数为:,正数为:。5 双精度数双精度数(类型符类型符#)双精度数占据双精度数占据8个字节(个字节(64位),其数据范围位),其数据范围负数为:,负数为:,正数为:。这里用正数为:。这里用D来表示来表示10的
4、次方。的次方。6 字符串型:字符串型:字符串型:字符串型:是一个字符序列,其字符码范围是是一个字符序列,其字符码范围是0 255。字符串变量值必须用。字符串变量值必须用双引号(英文状双引号(英文状态下)态下)括起来。字符串类型可以声明两种字符串括起来。字符串类型可以声明两种字符串变长与定长的字符串。变长与定长的字符串。在缺省情况下,在缺省情况下,String变量是一个可变长度的变量是一个可变长度的字符串。如果要声明字符串具有固定长度,可以字符串。如果要声明字符串具有固定长度,可以用以下格式:用以下格式:String*字符串长度字符串长度 注意:空串和空格串的区别注意:空串和空格串的区别7 日期
5、型:日期型:日期型:日期型:表示日期,占据表示日期,占据8个字节。可表示的日个字节。可表示的日期范围从期范围从100年年1月月1日日 9999年年12月月31日,时间日,时间范围是范围是0:0:0 23:59:59。日期型数据需要用双井号(日期型数据需要用双井号(#)括起来。)括起来。允许用各种表示日期和时间的格式。允许用各种表示日期和时间的格式。数值数据类型转换成数值数据类型转换成Date时,小数点左边的值表时,小数点左边的值表示日期,右边的值代表时间。负数代表公元示日期,右边的值代表时间。负数代表公元1899年年12月月30日之前的日期。日之前的日期。8 字节型:字节型:字节型:字节型:数
6、据占据空间大小为数据占据空间大小为1个字节,它是个字节,它是无无符号符号类型,即类型,即1个字节个字节8bit都表示数值。因此,其都表示数值。因此,其数值范围为数值范围为0 255,由此可知,由此可知,Byte不能表示负不能表示负数数,只能表示,只能表示0 255的正整数。字节数据类型跟的正整数。字节数据类型跟其他数值类型的数据一样参与各种运算。其他数值类型的数据一样参与各种运算。9 货币型:货币型:货币型:货币型:主要用来表示货币值,在内存中占主要用来表示货币值,在内存中占8个个字节(字节(64位)。整数部分为位)。整数部分为15位,可以精确到小位,可以精确到小数点后数点后4位,第位,第5位
7、四舍五入,属于定点实数。其位四舍五入,属于定点实数。其取值范围为:取值范围为:10 布尔型:布尔型:布尔型:布尔型:许多问题都需要我们进行逻辑判断是许多问题都需要我们进行逻辑判断是“对对”还是还是“错错”。对于这样的问题,可以用布尔。对于这样的问题,可以用布尔数据类型来保存其结果。当为数据类型来保存其结果。当为“对对”或或“真真”时,时,布尔型的值为布尔型的值为True,当为,当为“错错”或或“假假”时,其时,其值为值为False。布尔型数据占据。布尔型数据占据2个字节。个字节。当数值类型转换成布尔类型时,当数值类型转换成布尔类型时,0转化为转化为False,非,非0转化为转化为True。反之
8、,。反之,False转化为转化为0,True转化为转化为-1。11 变体数据类型:变体数据类型:变体数据类型:变体数据类型:是一种特殊的数据类型,灵活是一种特殊的数据类型,灵活性很强,性很强,除了定长除了定长String数据和用户自定义类型数据和用户自定义类型外外,它可以表示其它任何种类的数据类型。,它可以表示其它任何种类的数据类型。除了可以包含各种类型的数据外,除了可以包含各种类型的数据外,Variant类型类型的变量还可以是的变量还可以是Null、Empty及及Error等特殊值。等特殊值。Variant变体类型占据了非常大的存储空间。变体类型占据了非常大的存储空间。123.1.2 数据类
9、型转换数据类型转换函数函数返回值类型返回值类型功能功能例子例子结果结果Val(x)Double将数字字符串将数字字符串x转换成数值转换成数值Val(“10”)+3Val(“12ab”)1312Str(x)String将数值转换成字符串,字符串首位表示符号将数值转换成字符串,字符串首位表示符号Str(123)Str(-123)“123”“-123”Asc(x)Integer求字符串首字母的求字符串首字母的ASCII值值Asc(“aac”)97Chr(x)String将将ASCII值值x转换为对应字符转换为对应字符Chr(65)“A”Cint(x)Integer将将x转换成整型数,小数部分四舍五入
10、转换成整型数,小数部分四舍五入Cint(12.36)12Clng(x)Long将将x转换成长整型数,小数部分四舍五入转换成长整型数,小数部分四舍五入Clng(22.52)23Csng(x)Single将将x舍入为单精度数舍入为单精度数Csng(50.2664597)50.26646Cdbl(x)Double将将x舍入为双精度数舍入为双精度数Cdbl(50.266)50.266Ccur(x)Currency把把x转换成货币型数,小数部分最多保留转换成货币型数,小数部分最多保留4位且位且自动四舍五入自动四舍五入Ccur(24.23569)24.2357Cvar(x)Variant把把x转为变体类型
11、转为变体类型Cvar(“bac”&123)“bac123”Hex(x)Integer把十进制数把十进制数x转换成十六进制数转换成十六进制数Hex(25)19Oct(x)Integer把十进制数把十进制数x转换成八进制数转换成八进制数Oct(25)3113说明:说明:(1)Chr和和Asc互为反函数,互为反函数,Chr(Asc(C)=C,Asc(Chr(N)=N。(2)Val函数在将数字字符串转换为数值类型函数在将数字字符串转换为数值类型时,时,当字符串中出现数值类型规定的字符以外的当字符串中出现数值类型规定的字符以外的字符字符,则停止转换,则停止转换,函数的返回值为停止转换前函数的返回值为停止
12、转换前的结果的结果。如果第一个字符即为非数值类型规定的。如果第一个字符即为非数值类型规定的字符,则函数的返回值为字符,则函数的返回值为0。(3)凡返回值为字符串的函数,其函数名的尾凡返回值为字符串的函数,其函数名的尾部也可以加入部也可以加入”$”。14例例3-1Private Sub Command1_Click()x=“123”y=123 a=Chr(Asc(x)+5)b=Str(Val(x)+6)c=Val(Str(y)+”20”)Print a,b,cEnd Sub结果:果:6 129 12320153.2 变量变量 功能:功能:在程序处理数据时,常常需要临时存储数在程序处理数据时,常常
13、需要临时存储数据。要存储信息,用户必须指定存储信息的单元,据。要存储信息,用户必须指定存储信息的单元,以便获取信息。以便获取信息。变量都为内存中的某个特定的位置命名,一旦定变量都为内存中的某个特定的位置命名,一旦定义了某个变量,该变量表示的都将是同一个内存位义了某个变量,该变量表示的都将是同一个内存位置,直到释放该变量为止,但在程序运行期间代表置,直到释放该变量为止,但在程序运行期间代表变量的存储空间中的值是可以变化的。变量的存储空间中的值是可以变化的。163.2.1 变量的命名规则变量的命名规则在在VB中,变量的命名要遵循以下规则:中,变量的命名要遵循以下规则:1.变量名变量名必须以字母或汉
14、字开头必须以字母或汉字开头,例如,例如Name,C用户,用户,f23等变量名是合法的,而等变量名是合法的,而3jk,#Num等变量明是非法的。等变量明是非法的。2.变量名中变量名中不能包含除字母、汉字、数字和下不能包含除字母、汉字、数字和下划线以外的字符划线以外的字符。3.变量名变量名不能和关键字同名不能和关键字同名。4.变量名变量名在有效的范围内必须是唯一的在有效的范围内必须是唯一的。5.变量名的变量名的长度不得超过长度不得超过255个字符个字符。173.2.2 变量的声明变量的声明 声明变量的语法格式是:声明变量的语法格式是:As :Dim、Static、Public、Private其中其
15、中之一。之一。:编程者所起的符合命名规则的变量名编程者所起的符合命名规则的变量名称。称。:Integer、String、Long、Currency等数据类型之一。等数据类型之一。Private Sub Command1_Click()Dim a As Integer,b As Single,c%,d!,t As Integer a=25:b=13.36 c=69 t=a a=c c=t Print a=;a Print b=;b Print c=;c Print d=;d Print t=;tEnd Sub运行结果为:运行结果为:a=69c=25t=2519 直接常量:直接常量:直接常量:直接
16、常量:就是指在程序代码中,以直接明显就是指在程序代码中,以直接明显的形式给出的数据。的形式给出的数据。包括数值常量、字符串常量、布尔常量、日期包括数值常量、字符串常量、布尔常量、日期常量等。常量等。3.3 常量常量 在在VB语言中,常量可以分为两类:直接常量和语言中,常量可以分为两类:直接常量和符号常量。符号常量。20 符号常量:符号常量:符号常量:符号常量:可以分为系统提供的符号常量和用户可以分为系统提供的符号常量和用户声明的符号常量。声明的符号常量。(1)系统提供的符号常量系统提供的符号常量 VB为不用的活动提供了多个常量集合。为不用的活动提供了多个常量集合。单击单击“视图视图”菜单中的菜
17、单中的“对象浏览器对象浏览器”,可使用,可使用该对话框中的列表来找到所需的常量,选中常量后,该对话框中的列表来找到所需的常量,选中常量后,对话框底端的文本区域将显示常量的值和功能。对话框底端的文本区域将显示常量的值和功能。21“对象浏览器对象浏览器”对话框对话框22(2)用户声明的符号变量用户声明的符号变量 声明常量的语法格式为:声明常量的语法格式为:Public|Private Const As =表达式表达式说明:说明:符号常量名:命名规则同变量名一样,常量符号常量名:命名规则同变量名一样,常量名一般用大写字母。名一般用大写字母。As 类型:说明了常量的数据类型,省略该选类型:说明了常量的
18、数据类型,省略该选项,数据类型有表达式决定。项,数据类型有表达式决定。表达式:可以是数值常数、字符串常数以及由表达式:可以是数值常数、字符串常数以及由运算符组成的表达式。运算符组成的表达式。23 常用的内部函数按功能可以分为数学函数、转换常用的内部函数按功能可以分为数学函数、转换函数、字符串函数、日期函数、颜色函数等。函数、字符串函数、日期函数、颜色函数等。3.4 常用内部函数常用内部函数 使用这些函数,使用这些函数,只要给出函数名和函数所要求的参只要给出函数名和函数所要求的参数,就能得到函数的值数,就能得到函数的值。24函数名函数名功能功能函数函数实实例例结结果果Abs(N)求求绝对值绝对值
19、函数函数Abs(-2)2Cos(N)余弦函数余弦函数Cos(0)1Exp(N)以以e为为底的指数函数底的指数函数Exp(2)7.389Log(N)以以e为为底的自然底的自然对对数数Log(8)2.079Rnd(N)产产生随机数,生随机数,N可以省可以省略略Rnd0 1之之间间的随机的随机数数Sgn(N)取正取正负负号函数号函数Sgn(-3)-1Sgn(3)1Sgn(0)0Sin(N)正弦函数正弦函数Sin(0)0Sqr(N)平方根函数平方根函数Sqr(4)2Tan(N)正切函数正切函数Tan(0)0数学函数数学函数数学函数数学函数25说明:说明:(1)在三角函数中,自变量在三角函数中,自变量N
20、是一个数值表达式,是一个数值表达式,必须以必须以弧度弧度表示。表示。(2)Log和和Exp互为反函数,即互为反函数,即Log(Exp(N)和和Exp(Log(N)的结果仍是原来自变量的结果仍是原来自变量N的值。的值。(3)Sqr函数的自变量函数的自变量不能是负数不能是负数。(4)Rnd函数返回随机数的范围是:函数返回随机数的范围是:0,1),即,即是大于等于是大于等于0而小于而小于1的函数。的函数。Randomize语句的应用语句的应用。26字符串函数字符串函数字符串函数字符串函数函数名函数名功能功能函数函数实实例例结结果果Ltrim$(C)去掉字符串左去掉字符串左边边的空格的空格Ltrim$
21、(“AB”)“AB”Rtrim$(C)去掉字符串右去掉字符串右边边的空格的空格Rtrim$(“AB ”)“AB”Trim$(C)去掉字符串两去掉字符串两边边的空格的空格Trim$(“AB ”)“AB”Left$(C,N)取出字符串左取出字符串左边边的的N个字符个字符Left$(“ABCD”,2)“AB”Right$(C,N)取出字符串右取出字符串右边边的的N个字符个字符Right$(“ABCD”,2)“CD”Mid$(C,pn)取子字符串函数,从取子字符串函数,从C中中p位位置向右取置向右取n个字符。省略个字符。省略n,默默认认到字符串到字符串结结束。束。Mid$(“ABCDEF”,2,3)“
22、BCD”Replace(C,C1,C2,N1,N2)在字符串在字符串C中,从中,从N1(省略(省略N1,默,默认认从第一位)开始将从第一位)开始将C2代替代替C1(有(有N2则则代替代替N2次)次)Replace(“12345234”,”23”,”AB”)“1AB45AB4”Instr(N1,C1,C2)在在C1中从中从N1位置开始位置开始查查找字找字符串符串C2(省略(省略N1,默,默认认从第从第1位),找不到,返回位),找不到,返回值为值为0Instr(2,”ABCDABEF”,“AB”)527函数名函数名功能功能函数函数实实例例结结果果Len(C)返回字符串返回字符串长长度度Len(“V
23、B程序程序设计设计”)6LenB(C)返回字符串所占字返回字符串所占字节节数数LenB(“VB程序程序设计设计”)12Space$(N)返回返回N个空格个空格Space$(3)“”String$(N,C)返回返回N个由个由C中的首字母中的首字母组组成的字符串成的字符串String$(3,ABCD”)“AAA”StrReverse(C)将字符串反序将字符串反序StrReverse(“ABCD”)“DCBA”Join(数数组组名名,分分隔符隔符)将数将数组组中的各元素按分中的各元素按分隔符隔符联结联结成字符串成字符串变变量量A=array(“AB”,”12”)Join(A,”)AB12Split(
24、字符串字符串,分隔符分隔符)将字符串按分隔符分隔将字符串按分隔符分隔成字符数成字符数组组,与,与Join作作用相反。用相反。A=Split(“AB,12”,”,”)A(0)=“AB”A(1)=“12”28 说明:说明:(1)VB中的中的字符串长度是以字为单位字符串长度是以字为单位的,也就是的,也就是不论西文字符还是汉字都作为一个字,占两个字节不论西文字符还是汉字都作为一个字,占两个字节。Len函数和函数和LenB函数都是求字符串的长度,但函数都是求字符串的长度,但Len的单位是字,的单位是字,LenB的单位是字节。的单位是字节。(2)Join和和Split作用相反,分别是对数组元素的作用相反,
25、分别是对数组元素的连接和分离。连接和分离。(3)函数后的函数后的$可以省略,系统默认的返回值也可以省略,系统默认的返回值也是字符串类型。是字符串类型。Private Sub Command1_Click()Dim a As String,b As String,c As String,n As Integer a=Visual Basic n=InStr(a,“”)查找空格的位置找空格的位置 b=Left(a,n-1)c=Mid(a,n+1)Print b Print cEnd Sub30日期时间函数日期时间函数日期时间函数日期时间函数函数名函数名功能功能函数函数实实例例结结果果Now返回系返
26、回系统统的日期和的日期和时间时间Now2007-10-1219:13:48Date()返回系返回系统统日期日期Date()2007-10-12Time()返回系返回系统时间统时间Time19:13:48DateSerial(年,月,日年,月,日)返回一个日期形式返回一个日期形式DateSerial(7,10,12)2007-10-12DateValue(C)同上,但自同上,但自变变量量为为字符串字符串DateValue(“7,10,12”)2007-10-12Year(C|N)返回年的代返回年的代码码(1753 2078),相,相对对于于1899-12-31为为0天后的天后的N天天Year(3
27、65)1900Day(C|N)返回日期的代返回日期的代码码(1 31)Day(“7,10,12”)12Month(C|N)返回月份的代返回月份的代码码(112)Month(“7,10,12”)1031函数名函数名功能功能函数函数实实例例结结果果MonthName(N)返回月份名称返回月份名称MonthName(10)十月十月Second(C|N)返回秒返回秒(0 59)Second(#19:13:48#)48Minute(C|N)返回分返回分(0 59)Minute(#19:13:48#)13WeekDay(C|N)返回星期代返回星期代码码(1 7)星期星期日日为为1,星期,星期一一为为2We
28、ekDay(“7,10,12”)6WeekDayName(N)把星期代把星期代码码(1 7)转换为转换为星星期名称期名称WeekDayName(7)星期六星期六32说明:说明:(1)日期函数中的自变量日期函数中的自变量“CN”可以是字符串表可以是字符串表达式,也可以是数值表达式。达式,也可以是数值表达式。(2)对于日期函数,还有两个比较重要的函数:对于日期函数,还有两个比较重要的函数:DateAdd增减日期函数和增减日期函数和DateDiff函数。函数。DateAdd增减日期函数的格式:增减日期函数的格式:DateAdd(要增减的日期形式,增减量,要增减要增减的日期形式,增减量,要增减的日期变
29、量的日期变量)33DateDiff函数格式:函数格式:DateDiff(要间隔的日期形式,日期要间隔的日期形式,日期1,日期,日期2)例如:要计算例如:要计算2007年年10月月12日距离日距离2008年年9月月30日还有多少天,表达式日还有多少天,表达式:DateDiff(“d”,#2007-10-12#,#2008-9-30#)作用是返回两个指定日期间隔的天数,结果为作用是返回两个指定日期间隔的天数,结果为354。34RGB(red,green,blue):用来表示一个:用来表示一个RGB颜色颜色值,其中值,其中red、green、blue表示三原色,分别取值表示三原色,分别取值0 255,如:,如:RGB(255,255,255)表示白色。表示白色。传给传给RGB的任何参数的值,如果超过的任何参数的值,如果超过255,会被当,会被当作作255。颜色函数颜色函数颜色函数颜色函数小结小结 本章主要讲解在本章主要讲解在VB中各种形式数据的表达中各种形式数据的表达方法、使用规则及存储方式。同时本章还介绍方法、使用规则及存储方式。同时本章还介绍一些常用内部函数,便于读者在今后编写程序一些常用内部函数,便于读者在今后编写程序中使用。中使用。
限制150内