第2章 Visual Basic编程基础.ppt

上传人:qwe****56 文档编号:70013966 上传时间:2023-01-14 格式:PPT 页数:116 大小:803KB
返回 下载 相关 举报
第2章 Visual Basic编程基础.ppt_第1页
第1页 / 共116页
第2章 Visual Basic编程基础.ppt_第2页
第2页 / 共116页
点击查看更多>>
资源描述

《第2章 Visual Basic编程基础.ppt》由会员分享,可在线阅读,更多相关《第2章 Visual Basic编程基础.ppt(116页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 第第2章章 Visual Basic编程基础2.1 VB程序的书写规则(1)VB程序中的语句不区分字母的大小写。(2)V B程序中的一行代码称为一条语句,一行语句最多只允许输入255个字符的长度,每个语句行以回车结束。(3)一条语句可以写在一行中,也可以写在多行上,续行符号是下划线“_”(下划线之前有一个空格)。(4)一行中可书写多个语句,语句之间用冒号“:”分隔。例如:a=0:b=0:c=0(5)以半角的单引号“”开头的语句是注释语句。程序运行过程中,注释内容不被执行。本程序随机产生2个两位正整数并求和Private Sub Form_Click()Dim a As Integer,b A

2、s Integer,c As Integer Randomize 初始化随机数生成器 a=Int(90*Rnd+10)产生10,99区间内的随机整数 b=Int(90*Rnd+10)c=a+b 求两数之和 Print 产生的两个随机数:;a,b Print 求和结果:;cEnd Sub2.2 数据类型数据类型n n数据:能被计算机识别并能被加工处理的符号的集合数据:能被计算机识别并能被加工处理的符号的集合数据:能被计算机识别并能被加工处理的符号的集合数据:能被计算机识别并能被加工处理的符号的集合 n n在程序中需要处理的数据中包含最常见的以下两种类型:数在程序中需要处理的数据中包含最常见的以下

3、两种类型:数在程序中需要处理的数据中包含最常见的以下两种类型:数在程序中需要处理的数据中包含最常见的以下两种类型:数值和字符串。数值可以是正数、负数、整数、小数等类型。值和字符串。数值可以是正数、负数、整数、小数等类型。值和字符串。数值可以是正数、负数、整数、小数等类型。值和字符串。数值可以是正数、负数、整数、小数等类型。字符可以是从键盘中输入的任何符号。字符可以是从键盘中输入的任何符号。字符可以是从键盘中输入的任何符号。字符可以是从键盘中输入的任何符号。n nVBVB的标准数据类型如下:的标准数据类型如下:的标准数据类型如下:的标准数据类型如下:1 1、字节型、字节型、字节型、字节型2 2、

4、布尔型、布尔型、布尔型、布尔型3 3、整型、整型、整型、整型4 4、长整型、长整型、长整型、长整型5 5、单精度、单精度、单精度、单精度6 6、双精度、双精度、双精度、双精度7 7、货币型、货币型、货币型、货币型8 8、日期型、日期型、日期型、日期型9 9、对象型、对象型、对象型、对象型1010、变长字符串、变长字符串、变长字符串、变长字符串1111、定长字符串、定长字符串、定长字符串、定长字符串1212、可变类型、可变类型、可变类型、可变类型1、常量声明中可替代、常量声明中可替代As类型类型;2、数据的类型可在数据之后加上一个类、数据的类型可在数据之后加上一个类型符来标识:型符来标识:413

5、&、123456、86!、104.67#等。等。1.数值(Numeric)数据类型(1)整型(Integer)整型用于保存整数,但所表示数的范围小,取值范围是:-3276832767,占2个字节,类型符是%号。例如Dim a As Integer 或Dim a%都表示定义a为整型。(2)长整型(Long)长整型也用于保存整数,表示数的范围较大,占4个字节,类型符是&号。例如Dim a As Long 或Dim a&都表示定义a为长整型。(3)单精度型(Single)Single用于保存浮点实数,小数点后有效数字最多是7位,占4个字节,类型符是!号。例如Dim a As Single 或Dim

6、a!都表示定义a为单精度型。(4)双精度型(Double)Double也用于保存浮点实数,但精度比Single高,小数点后有效数字最多是15位,占8个字节,类型符是#号。例如Dim a As Double 或Dim a#都表示定义a为双精度型。(5)字节型(Byte)Byte用于存储二进制数,取值范围0255,占1个字节。2.字符类型(String)字符型数据是用双引号括起来的若干个字符,如”新乡学院艺术学院”,类型符是$号。String型又分为定长和不定长字符串两种。l定长字符串:指定字符串的长度,字符串的长度受到限制l不定长字符串:不指定字符串的长度,字符串的长度能发生改变不定长字符类型的

7、定义:Dim s1 As String,s2$定义s1,s2为不定长的字符串s1=”Visual”s1的长度是6s2=”VB”s2的长度是2定长字符类型的定义:Dim 变量名 As String *字符串长度例如:Dim s1 As String*8 定义s1的长度为8个字符3.布尔型类型(Boolean)Boolean型只有两个常量:True和False。当逻辑数据转换为整型数据时,True转换为-1,False 转换为0。4.日期类型(Date)日期类型数据表示日期和时间,表示日期的范围从公元100年1月1日到9999年12月31日。日期数据在引用时一定要用#号前后括起来。如:D1=#20

8、11-11-12#。5.对象类型(Object)对象数据类型用来表示应用程序中的对象,可用Set语句来指定一个被声明为Object的变量,去引用应用程序中的任何实际对象。例如:Sub Form_Click()Dim Temp As Object Set Temp=Form1 Temp表示窗体Form1 Temp.Caption=”窗体的标题”End Sub6.变体类型(Variant)Variant是一种特殊的数据类型,是所有未定义的变量的缺省数据类型,它能够表示所有系统定义类型的数据,它对数据的处理完全取决于程序上下文的需要,它可以包括数值型、日期型、字符型、对象型的数据。如果赋予Varia

9、nt变量,VB会自动完成必要的数据类型转换。如果对变体类型进行数学运算或函数运算,则变体类型必须包含某个数,如果两个两个含有字符串的变体变量进行连接时,只能用”&“,而不能用”+“变体类型(Variant)例如:Dim S1 S1类型缺省为VariantS1=17 S1为字符串17S1=S1-15 把S1自动转为整型,S1为数值2S1=A&S1 把S1自动转为字符型,S1为字符串 A22.3 常量和变量2.3.1 常量 常量是指在程序中事先设置、运行过程中保持不变的数据。例如:12345 是一个整型常数“12345”是一个长度为5的字符串常量“student”是一个长度为7的字符串常量#8/1

10、2/2011 12:30:00#为日期型常量VB中的常量分为:直接常量和符号常量1.直接常量常量可以直接用一个数来表示,称为常数(直接常量)数值常量包括整型常数、长整型常数、单精度常数、双精度常数、货币型常数、字节型常数等。对于各种数值类型的常量值,为了显式地指明常数的类型,可以在常数后面加上类型说明符,这些说明符分别为:整型,如:890%是一个整型常数&:长整型,如:45010234&是一个长整型常数!:单精度浮点型,如:-0.123!是一个单精度常数#:双精度浮点型,如:1.236#是一个双精度常数2.字符串常量字符串常量是用双引号括起来的一串字符,每个字符占1个字节,可以是任何合法字符,

11、如:VB、123、chr$(13)(回车符)、程序设计,等等。3.逻辑常量逻辑常量只有两个值:真(True)和假(False)。当把数值常量转换为Boolean时,0为False,非0值为True;当把Boolean常量转换为数值时,False转换为0,True转换为-1。4.日期常量日期常量用来表示日期和时间,VB可以表示多种格式的日期和时间,输出格式由Windows设置的格式决定。日期数据用两个“#”把表示日期和时间的值括起来,如:#08/18/2011#、#08/18/2011 08:10:38 AM#5.符号常量l当程序中多次出现某个数据时,为便于程序修改和阅读,可以给它赋予一个名字,

12、以后用到这个值时就用名字代表,这个名字就称为符号常量。符号常量的定义格式如下:Const as 类型类型=l为使与变量名区分,一般常量名使用大写字母。例如:Const PI as single=3.14159 PI是符号常量 Const PI!=3.14159 Const PI=3.14159 a=PI+1 a的值为4.14159l常量声明中不能使用函数 6.系统提供的常量-系统内部定义的符号常量,这类常量用户可以随时使用由系统已定义的、用户可直接使用的常量叫系统常量,如:Private Sub Command1_Click()x=MsgBox(确定,vbOKCancel,aaaa,32,0)

13、End Sub在上述过程中,赋值语句中的vbOKCancel就是一个VB的系统常量。2.3.2变量在程序运行过程中其值可以改变的量称为变量。常量的类型由书写格式决定,而变量的类型由类型声明决定。变量的命名规则:(1)、必须以字母或汉字开头,由字母、汉字、数字或下划线组成,长度不大于255。如Sum、a2、x_1都是VB的变量名。(2)、不能使用VB中的保留字。保留字是指VB系统中已经定义的关键字,如运算符、语句、函数、过程名、方法、属性名等都不能用作变量名。l合法的变量名:i、a1、X_Y、abc123、cmdOK、frmFirstl不合法的变量名:123abc、X-Y、Is、_AB、If、C

14、aption、Stringl(3)、变量名不区分大小写。即大小写是一样的,如A1与a1是同一变量。2.变量声明在程序中用到的变量,一般应声明其类型再引用,称为“显式声明”。另外一种声明方式为”隐式声明”(1)使用Dim语句声明语句格式:Dim As 类型Dim number as integer(2)可以使用数据类型的类型符来替代As字句例如 dim number%(3)一条Dim语句也可以声明多个变量,每个变量都要有自己的声明类型,并且各变量之间以逗号隔开Dim a As Integer,b As Integer(4)如果缺省“As 类型”,默认为Variant类型。Dim a,b As I

15、nteger例:输入长方形的2条边长,然后计算长方形的周长。分析:通过文本框输入边长,周长也用文本框来输出。在窗体上添加3个文本框Text1Text3、1个命令按钮Command1。在代码窗口中输入下面代码:Private Sub Command1_Click()Dim m As Single,n As Single,k As Single m=Text1.Text 输入边长 n=Text2.Text 输入边长 k=2*(m+n)计算周长 Text3.Text=k 输出周长End Sub用Static语句声明的变量Static As 数据类型用Static语句说明的变量称为静态变量,即执行一个

16、过程后,这种变量的值会保留,下次再调用此过程时,该变量的值是上次保留的值。例如:Static a1 As Single用Public语句声明的变量Public As 数据类型这种变量称为全局变量,可被一个工程中的各个模块引用。例如:Public a1 As Integer隐式声明的变量在VB中,允许对使用的变量不进行声明而直接使用,称为“隐式声明”。所有隐式声明的变量都是Variant型的。Private Sub Command1_Click()S1=20 S1未声明直接引用,为Variant型。S1=S1+100 Print S1End Sub3.变量的初始值在程序中声明了变量以后,VB自动

17、将数值类型的变量赋初值0,变长字符串被初始化为零长度的字符串(),定长字符串则用空格填充,而逻辑型的变量初始化为False。强制显式声明强制显式声明Option Explicit语句语句良好的编程习惯都应该是良好的编程习惯都应该是“先声明变量,后使用先声明变量,后使用变量变量”,这样做可以提高程序的效率,同时也使程,这样做可以提高程序的效率,同时也使程序易于调试。序易于调试。声明变量可以有效的降低错误率,可以规定在使用变量钱,必须先用dim声明语句声明,否则VB将发出警告“变量未被定义”,方法如下:1.“工具工具”“选项选项”编辑器选项卡编辑器选项卡”复选复选“要求变量声明要求变量声明”2.可

18、以在窗体模块、标准模块和类模块的通可以在窗体模块、标准模块和类模块的通用声明段中加入语句:用声明段中加入语句:Option Explicit 良好的编程习惯都应该是良好的编程习惯都应该是“先声明变量,先声明变量,后使用变量后使用变量”,这样做可以提高程序的效率,这样做可以提高程序的效率,同时也使程序易于调试。同时也使程序易于调试。3强制显式声明Option Explicit语句 Visual Basic 中可以强制显式声明,可以中可以强制显式声明,可以在窗体模块、标准模块和类模块的通用声明段在窗体模块、标准模块和类模块的通用声明段中加入语句:中加入语句:Option Explicit2.4 运

19、算符与表达式 2.4.1算术运算符 ia=3操作数:被运算的对象运算符:用来对操作数进行各种运算的操作符号表达式:将运算符和操作数连接起来的式子2.4 运算符与表达式 1.算术运算符的优先级算术运算符的优先级 指数运算指数运算 取负取负-乘、除乘、除 整除整除 求余求余Mod 加、减加、减 5+10 mod 10 9/3+2 2 运算步骤如下:1.找出所有的运算符 +、mod、/、+、2.根据表 将运算符的优先级进行排序,如下所示:、/、mod、+、3.加入必要的小括号、中括号、大括号,改变表达式运算的先后次序,如下所示:5+10 mod 10 (9/3)+(2 2)4.依次进行运算 2 2=

20、4、9/3=3 结果:10 2.4 运算符与表达式 2.4.2字符串运算符与字符串表达式 字符串运算符有“”和“+”,用来连接两个或更多个字符串。区别:+两边必须是字符串,&不一定要求是字符串。“&”具有自动将非字符串类型的数据转换成字符串后再进行连接的功能,而“+”则不能。2.4 运算符与表达式 例:“abcd”+”cdef”123 +456 结果为 123456 123&456 结果为 123456 abcdef&12345 结果为 abcdef12345 abcdef +12345 出错 123&456 结果为 123456 123+456 结果为 579 “&”运算符两边的操作数不一定

21、是运算符两边的操作数不一定是字符型。字符型。123&456 123&456 结果为结果为123456123456 abcabc&345&345 结果为结果为abc345abc345120&345 120&345 结果为结果为120345 120345 120&345 120&345 结果为结果为120345 120345 2.4 运算符与表达式 2.4.3 关系运算符与关系表达式 关系运算符用来对两个奥作书进行大小比较,关系运算的结果式一个逻辑量,true或false运算符运算符含义含义实例实例结果结果小于小于15+1020False=小于或等于小于或等于10大于大于1020False=大于或

22、等于大于或等于This=ThatTrue=等于等于This=ThatFalse不等于不等于ThisThatTrueLike字符串匹配字符串匹配ThisLike*isTrueIs对象比较对象比较在关系表达式求值时,应注意以下比较规则:(1)数值数据比较大小,如3#03/05/2011#为False;(3)不要对单精度数或双精度数进行等于“=”比较(4)字符类型数据比较字符的ASCII码,若两端首字符相同则比较第2个字符直到比较出相应字符的ASCII值大小或两端所有字符比较结束。(5)用逻辑运算符连接关系表达式(6)关系表达式不能比较布尔型数据(7)关系运算符的优先级相同(1)ABCd=ABCD

23、为True(2)ABCd=cd 为False(3)ABCd=ABCd 为True(4)ABCd=ABE 为False2.4 运算符与表达式 2.4.4逻辑运算符与逻辑表达式 逻辑运算符的作用式对操作数进行逻辑运算,操作数可以式逻辑量或者是关系表达式,逻辑运算的结果也是一个逻辑量当两个操作数均为假时,结果才为假当两个操作数均为真时,结果才为真当操作数为假时,结果为真说明False(38)And(58)Or(58)例子或非运算OrNot运算符Not 运算符为单目运算符,其它为双目运算符.31优先级45XorEqv6Imp异或同或蕴含当两个操作数不等价时,结果为真当两个操作数值等价时,结果为真如果A

24、则B(38)Xor(58)Eqr(58)Imp(5b)的结果为True2.与(And)运算两个表达式均为True,结果才为True,否则为False。例如:设a=2,b=6,则(a3)的结果为True 2.4 运算符与表达式 3.或(Or)运算两个表达式只要有一个为True,结果为True,只有当两个都为False,结果才是False。例如:(1)设a=2,b=6,则(a7)的值为True(2)设X=4,Y=8,Z=7,则XZ)Or Zb and Not ca Or cb And ca+b值为True 2.4 运算符与表达式 4.异或(Xor)运算两个表达式值不相同时,结果为True,否则为F

25、alse。例如:(26)为True。2.4 运算符与表达式 5.等于(Eqv)运算两个表达式值相同时,结果为True,否则为False。例如:(26)Eqv(33)Imp(63)Imp(64)为True。7.表达式 特点如下:特点如下:(1)组)组成:成:变量、常量、函数、运算符和圆括号。变量、常量、函数、运算符和圆括号。(2)有一定结果)有一定结果例:a=3,b=5,c=-1,d=7a+b c+d And a=5 Or Not c 0 Or d 算术运算符算术运算符=字符运算符字符运算符关系运算符关系运算符逻辑运算逻辑运算 表达式的运算顺序说明:说明:1当一个表达式中出现多种运算符时,首当一

26、个表达式中出现多种运算符时,首先进行算术运算符,接着处理字符串连接运先进行算术运算符,接着处理字符串连接运算符,然后处理比较运算符,最后处理逻辑算符,然后处理比较运算符,最后处理逻辑运算符,在各类运算中再按照相应的优先次运算符,在各类运算中再按照相应的优先次序进行。序进行。2可以用括号改变优先顺序,强令表达式可以用括号改变优先顺序,强令表达式的某些部分优先运行。括号内的运算总是优的某些部分优先运行。括号内的运算总是优先于括号外的运算。对于多重括号,总是由先于括号外的运算。对于多重括号,总是由内到外内到外表达式书写举例数据表达式改写为Vb表达式sin(45*3.14/180)+(exp(10)+

27、log(10)/sqr(x+y+1)VB的表达式如何书写?如何将数学表达式写成正确的的表达式如何书写?如何将数学表达式写成正确的VB表达式,需表达式,需要注意如下的要注意如下的VB表示式和数学表示式的区别:表示式和数学表示式的区别:(1)乘号不能省略。例如,)乘号不能省略。例如,x乘以乘以y写成写成VB表达式为:表达式为:x*y (2)括号必须成对出现,均使用圆括号,出现多个圆括号时,从内)括号必须成对出现,均使用圆括号,出现多个圆括号时,从内向外逐层配对。向外逐层配对。(3)运算符不能相邻。例)运算符不能相邻。例a+-b是错误的。是错误的。简单的说,将数学表示式转换为简单的说,将数学表示式转

28、换为VB的表示式具有以下两种方法:的表示式具有以下两种方法:(1)添加必要的运算符号,例如乘号、除号等)添加必要的运算符号,例如乘号、除号等(2)添加必要的函数,用于转换数学符号,例如,数学表达式)添加必要的函数,用于转换数学符号,例如,数学表达式 转换转换VB表达式为表达式为sqr(25)等。等。8.注意事项1.逻辑表达式书写错,在逻辑表达式书写错,在VB没有造成语法错而形成逻没有造成语法错而形成逻辑错。辑错。例如,数学表达式例如,数学表达式 3x10 VB表达式写为表达式写为 3=x10。问题在于问题在于VB中的逻辑量与数值量可相互转中的逻辑量与数值量可相互转换。换。2.同时给多个变量赋值

29、,在同时给多个变量赋值,在VB没有造成语法错而形成没有造成语法错而形成逻辑错逻辑错 例如:例如:Dim x%,y%,z%x=y=z=1 3.标准函数名写错标准函数名写错 4.变量名写错变量名写错 检查方法:在通用声明段加检查方法:在通用声明段加Option Explicit 5.语句书写位置错语句书写位置错 在通用声明段只能有在通用声明段只能有Dim语句,不语句,不能有赋值等其他语句能有赋值等其他语句例:输入年份,判断其是否为闰年。分析:设N为年份,N为闰年的条件是:能被4整除但不能被100整除;或能被400整除,用VB表达式表示为:(N Mod 4=0)And(N Mod 1000)Or(N

30、 Mod 400=0)Private Sub Command1_Click()Dim N As Integer N=Text1.Text If(N Mod 4=0)And(N Mod 100 0)Or(N Mod 400=0)Then Label2.Caption=Text1.Text+是闰年 Else Label2.Caption=Text1.Text+不是闰年 End IfEnd SubPrivate Sub Command2_Click()Text1.Text=Text1.SetFocusEnd Sub2.4 运算符与表达式 2.4.5日期运算符与日期表达式 日期型数据只有加(+)和减(

31、-)两个运算符。两个日期型数据相减,结果是一个整型数据,即两个日期相差的天数。日期型数据加上(或减去)一个整型数据,结果仍为一日期型数据。例如:#2011/05/01#+5 其结果为日期型数据:#2011/05/06#2011/05/06#-#2011/05/01#其结果为数值型数据:5 2.5 常用内部函数 2.5.1数学函数 1.三角函数:Sin(x)、Cos(x)、Tan(x),Atan(x)以上函数分别返回正弦值、余弦值、正切值和反正切值;VB没有余切函数,求x弧度的余切值可以表示为 1/Tan(x);函数Sin、Cos、Tan的自变量必须是弧度,如数学式Sin30,写作VB的表达式为

32、Sin(30*3.1416/180);2.5 常用内部函数 2.Abs(x):返回x的绝对值。如Abs(-10)=103.Exp(x):返回e的指定次幂,如Exp(3)=20.0864.Log(x):返回x的自然对数。如Log(10)=2.35.Sgn(x):符号函数,当x0时,Sgn(x)的值为1;当x=0 时,Sgn(x)的值为0;x0时,Sgn(x)的值为-1。6.Sqr(x):返回x的平方根,如Sqr(16)的值为47.Int(x):返回不大于x的最大整数,如Int(7.8)值为7,Int(-7.8)值为-8。8.Fix(x):返回x的整数部分,如Fix(7.8)值为7,Fix(-7.

33、8)值为-7。2.5 常用内部函数 2.5.2随机函数 1.Randomize语句:该语句的作用是初始化VB的随机函数发生器,使得每次运行程序时产生的随机数都不相同。2.Rnd(x)函数:随机函数,产生一个0,1)之间的Single型的随机数。要得到a,b之间的随机整数,可用公式Int(Rnd*(b-a+1)+a。2.5 常用内部函数 例:产生3位随机正整数,然后输出百位、十位、个位数字。分析:用Int(Rnd*900)+100可以产生100999的随机整数M,百位数H=M100,十位数T=(M-H*100)10,个位数D=M Mod 10。2.5 常用内部函数 Private Sub For

34、m_Click()Dim M As Integer M用来存放三位正整数 Dim H As Integer,T As Integer,D As Integer H、T、D分别存放百位数、十位数、个位数 Randomize M=Int(Rnd*900)+100 H=M 100 T=(M-H*100)10 D=M Mod 10 Print 产生的随机数是;M Print 百位数是:;H Print 十位数是:;T Print 个位数是:;DEnd Sub2.5 常用内部函数 2.5.2字符串函数 1.Ltrim(x):返回删除字符串x前导空格符后的字符串。如:Ltrim(abc)=abc2.Rtr

35、im(x):返回删除字符串x尾随空格符后的字符串。如:Rtrim(abc )=abc3.Trim(x):返回删除字符串x前导和尾随空格符后的字符串。如:Trim(abc )=abc4.Left(x,n):返回字符串x前n个字符所组成的字符串。如:Left(abced,2)=ab5.Right(x,n):返回字符串x后n个字符所组成的字符串。如:Right(abced,2)=ed2.5.3 字符串函数2.5 常用内部函数 lMid(x,m,n):返回字符串x从第m个字符起的n个字符所组成的字符串。如:l若s$=abcdefg,则lLeft(s$,2)=ablRight(s$,2)=fglMid(

36、s$,9,3)=(空字符串)lMid(s$,2,3)=bcd 2.5 常用内部函数 l7.Len(x):返回字符串x的长度,如果x不是字符串,则返回x所占存储空间的字节数。l如Len(abcdefg)=7,而Len(k%)=2,因为VB用2个字节存储Integer类型的数据。l8.Lcase(x):返回以小写字母组成的字符串。l9.Ucase(x):返回以大写字母组成的字符串l如Lcase(abCDe)=abcde,Ucase(abCDe)=ABCDE。2.5 常用内部函数 l10.Space(n):返回由n个空格字符组成的字符串。11.Instr(x,y):字符串查找函数,返回字符串y在字符

37、串x中首次出现的位置。如果y不是x的子串,即y没有出现在x中,则返回值为0。l如:a$=abcd efg cd_xy,则函数Instr(a$,cd)的计算结果为3,因为a$中包含了cd、第一次出现的位置是在a$中的第3个字符;而函数Instr(a$,yx)的返回值为0,因为字符串a$中不存在子串yx。2.5 常用内部函数 2.5.4日期和时间函数 2.5 常用内部函数 使用日期/时间函数示例。在窗体的代码窗口中输入下面的代码:Private Sub Form_Click()x=#1/1/2013#a=x-Date b=Weekday(x)c=Year(Date)d=Month(Date)e=H

38、our(Time)f=Minute(Time)Print 现在距离2013年元旦还有:;a;天 Print 2013年元旦是:星期;b-1 Print 本月份是:;c;年;d;月 Print 现在是:;e;时;f;分End Sub 2.5 常用内部函数 2.5.5转换函数 1.Str(x):返回把数值型数据x转换为字符型后的字符串。如:Str(-123.45)=-123.45大于零的数值转换后符号位用空格表示,如:Str(123.45)=123.45。2.5 常用内部函数 l2.Val(x):把一个数字字符串x转换为相应的数值。如果字符串x中包含非数字字符,则仅将第一个数字形式的字符串转换为相

39、应的数值、后面的字符不作处理;如果x所有的字符均为非数字字符,则返回0。如:Val(123.45abc678)=123.45。Val(ABC)=02.5 常用内部函数 l3.Chr(x):返回以Ascii值为x的字符,如:Chr(65)=AChr(97)=al4.Asc(x):返回字符串x首字符所对应的ASCII值,如:Asc(a)=97Asc(ABcde)=65 2.5.6 2.5.6 Shell函数函数ShellShell函函数数负负责责执执行行一一个个可可执执行行文文件件,返返回回一一个个VariantVariant,如如果果成成功功,代代表表这个程序的进程这个程序的进程IDID,若不成

40、功,则会返回若不成功,则会返回0 0。形式:形式:Shell(Shell(命令字符串命令字符串,窗口类型窗口类型)窗口类型值为窗口类型值为1 1表示正常窗口,缺省窗口最小化为图标。表示正常窗口,缺省窗口最小化为图标。Dim i As String,j As String i=Shell(c:windowscalc.exe)j=Shell(c:notpad.exe,1)提示:提示:提示:提示:如果不知道应用程序的路径名,可用如果不知道应用程序的路径名,可用StartStart命令启动程序命令启动程序 i=shell(start&”calc.exe”)i=shell(start&”calc.exe

41、”);j=Shell(start&“vb6.exe”)j=Shell(start&“vb6.exe”)2.6 面向对象程序设计的基本概念面向对象程序设计的基本概念 l对象和类 l对象的属性、事件与方法2.6.1 Visual Basic的对象的对象l所谓所谓“对象对象”,是具有某些特性的具体事物,是具有某些特性的具体事物的抽象。在的抽象。在VB程序设计中,对象是程序设计中,对象是VB系统系统中基本运行实体。构成图形用户界面中基本运行实体。构成图形用户界面(GUI)的每一个可视部件,均可视为一个)的每一个可视部件,均可视为一个对象。对象。l对象命名:对象命名:命名的原则是:必须由字母或汉字开头,

42、命名的原则是:必须由字母或汉字开头,后面可以是字母、汉字、数字、下划线等字后面可以是字母、汉字、数字、下划线等字符组成,长度不能超过符组成,长度不能超过255个字符。个字符。l是类的一个实例,继承了类的属性、方法。是类的一个实例,继承了类的属性、方法。l类:类是创建对象的模板,是同种对象的类:类是创建对象的模板,是同种对象的集合与抽象,而对象是类的实例化。类也集合与抽象,而对象是类的实例化。类也是一组用来定义对象的相关属性和数据的是一组用来定义对象的相关属性和数据的集合,为该类的所有对象提供统一的抽象集合,为该类的所有对象提供统一的抽象描述。描述。l类具有继承性、封装性、多态性、抽象性。类具有

43、继承性、封装性、多态性、抽象性。2.6.2 Visual Basic的类的类2.6.3 对象的属性、事件和方法1.属性属性描述对象特征的数据描述对象特征的数据lVB中任何一个对象(窗体和控件),都通过称为属性的一组有一定中任何一个对象(窗体和控件),都通过称为属性的一组有一定含义的数据加以限定。常见的属性有含义的数据加以限定。常见的属性有name、caption、backcolor、enable、forecolor、height、visible、width等,它们规定了对象的外等,它们规定了对象的外观和某些行为。观和某些行为。l除了在属性窗口里设置对象属性外,也可以通过语句在程序中动态设除了在

44、属性窗口里设置对象属性外,也可以通过语句在程序中动态设置。置。格式:格式:对象名对象名.属性名设置的属性值属性名设置的属性值例:例:command1.caption=“计算计算”command1.height=580command1.width=1560l有的对象的属性在属性窗口中没有列出,只能在运行时由程序代码进有的对象的属性在属性窗口中没有列出,只能在运行时由程序代码进行设置,修改,或读取使用。把这些只能在程序代码中使用的属性,行设置,修改,或读取使用。把这些只能在程序代码中使用的属性,称为对象的动态属性。称为对象的动态属性。2.事件事件能被对象识别的固定动作能被对象识别的固定动作所谓对象

45、的所谓对象的“事件事件”,就是由,就是由VB预先设计预先设计好的,能被对象识别的动作。好的,能被对象识别的动作。对于对象,事件就是发生在该对象上的动对于对象,事件就是发生在该对象上的动作。在作。在VB中,系统为每个对象预先定义好了、中,系统为每个对象预先定义好了、能被对象识别的一系列的事件。如:鼠标的移能被对象识别的一系列的事件。如:鼠标的移动动(MouseMove)、单击、单击(Click)和双击和双击(Dblclick),窗体的装载,窗体的装载(Load)等。等。注意注意:一是事件仅仅是一个动作:一是事件仅仅是一个动作二是对象会自动识别事件是否发生二是对象会自动识别事件是否发生三是对象所能

46、识别的事件,都是预先设计安排好的。三是对象所能识别的事件,都是预先设计安排好的。VB中典型和常用的对象事件:中典型和常用的对象事件:Click单击鼠标事件。单击鼠标事件。DblClick双击鼠标事件。双击鼠标事件。MouseDown,MouseUp,MouseMove有关鼠标事件。有关鼠标事件。KeyPress,KeyDown,KeyUp有关键盘按键的事件。有关键盘按键的事件。Load装载事件装载事件Unload卸载事件卸载事件作为作为VB的使用者,你不必关心如何实现的使用者,你不必关心如何实现Click等等事件,如何捕促到这些事件,如何捕促到这些事件的发生。你的精力应集中在发生了某事件后,应

47、该完成什么任务。这事件的发生。你的精力应集中在发生了某事件后,应该完成什么任务。这个任务是需要你用个任务是需要你用VB的程序设计语言来编写的,这段程序代码称为事件的程序设计语言来编写的,这段程序代码称为事件过程代码。有时也称过程代码。有时也称VB是采用是采用事件驱动事件驱动事件驱动事件驱动的编程技术。的编程技术。VB的的事件过程事件过程事件过程事件过程的一般形式:的一般形式:PrivateSub对象名对象名_事件名事件名(参数列表参数列表)EndSub例:窗体上名为例:窗体上名为Command1的的命令按钮的命令按钮的Click事件过程应有形式:事件过程应有形式:n执行过程是执行过程是:按下按

48、钮按下按钮引发引发Command1的的Click事件事件响应该事件响应该事件运行运行Command1-Click事件过程代码。事件过程代码。PrivateSubcommand1_click()()EndSub3.方法方法可以在对象上操作的过程可以在对象上操作的过程 方法是对象能够执行的动作。它是对象本身内含的函数或过程,用于完成某种特方法是对象能够执行的动作。它是对象本身内含的函数或过程,用于完成某种特定的功能,由于方法是面向对象的,所以对象的方法调用一般要指明对象。定的功能,由于方法是面向对象的,所以对象的方法调用一般要指明对象。对象方法的一般调用格式:对象方法的一般调用格式:对象名对象名.

49、方法名方法名(参数参数)其中;若省略对象,则表示为当前对象,一般指窗体。其中;若省略对象,则表示为当前对象,一般指窗体。下面是下面是VB中最典型,最常用的对象方法:中最典型,最常用的对象方法:Show用于显示窗体用于显示窗体Hide用于隐藏窗体用于隐藏窗体Refresh用于重画窗体或控件用于重画窗体或控件SetFocus将焦点移到调用者(窗体或控件)上,成为当前活动对象将焦点移到调用者(窗体或控件)上,成为当前活动对象Drag用于拖拽控件用于拖拽控件Print用于在窗体或打印机上输出信息用于在窗体或打印机上输出信息Move用于移动窗体或控件到指定位置用于移动窗体或控件到指定位置Cls清除窗体内

50、显示的内容清除窗体内显示的内容l 调用的一般形式为:调用的一般形式为:对象名对象名.方法名方法名例:例:Form1.Print“Good Morning!”Printer.Print“Good Morning!”4、属性、方法和事件之间的关系、属性、方法和事件之间的关系 VB 对象具有属性、方法和事件。属性是描述对象的数据;方法告诉对象应做的事情;事件是对象所产生的事情,事件发生时可以编写代码进行处理。2.7 窗体窗体l窗体的主要属性l窗体的事件l窗体的常用方法窗体的属性窗体的属性(1)Name属性:窗体的名称(缺省值Form1),是VB访问窗体的标识符。(2)Caption属性:设置窗体的标

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁