《第3章命令按钮与函数精选文档.ppt》由会员分享,可在线阅读,更多相关《第3章命令按钮与函数精选文档.ppt(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第3章章命令按钮与函数命令按钮与函数本讲稿第一页,共四十二页第第3章章命令按钮与函数命令按钮与函数 n教教学学提提示示:本本章章介介绍绍VB常常用用的的标标准准函函数数、表表达达式式和和命命令令按按钮钮,VB常常用用标标准准函函数数和和表表达达式式是是程程序序设设计计语语言言基基础础。各各种种函函数数,如如三三角角函函数数、对对数数函函数数、日日期期函函数数等等都都是是通通过过函函数数名名调调用用。在在学学习习中中要要注注意意函函数数的的功功能能和和调调用用方方法法。所所有有高高级级语语言言表表达达式式都都有有一一定定的的书书写写规规范范,学学习习中中要要注注意意VB表表达达式式和和日日常常
2、运运算算式式在在书书写写上上的的不不同同之之处处。命命令令按按钮钮是是VB程程序序设设计计最最常常使使用用的的控件,程序中出现最多的事件过程是命令按钮的事件过程。控件,程序中出现最多的事件过程是命令按钮的事件过程。n教教学学目目标标:掌掌握握常常用用的的字字符符串串函函数数、转转换换函函数数、数数学学函函数数、日日期期时时间间函函数数、随随机机函函数数和和输输入入函函数数的的用用法法。掌掌握握算算数数运运算算符符、关关系系运运算算符符、逻逻辑辑运运算算符符的的和和VB表表达达式式的的作作用用和和书书写写规规范范。会会编写命令按钮的事件过程。编写命令按钮的事件过程。本讲稿第二页,共四十二页第第3
3、章章命令按钮与函数命令按钮与函数 引例引例3.1 3.1 计算面积和周长计算面积和周长 n3.1 3.1 运算符和表达式运算符和表达式n3.2 3.2 常用标准函数常用标准函数 n3.3 3.3 命令按钮命令按钮(CommandButton)(CommandButton)控件控件n3.4 3.4 综合运用综合运用 本讲稿第三页,共四十二页3.1运算符和表达式运算符和表达式n3.1.1 3.1.1 算术运算符和算术表达式算术运算符和算术表达式n3.1.2 3.1.2 字符串运算符和字符串表达式字符串运算符和字符串表达式n3.1.3 3.1.3 关系运算符和关系表达式关系运算符和关系表达式n3.1
4、.4 3.1.4 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式 n3.1.5 3.1.5 日期运算符和日期表达式日期运算符和日期表达式n3.1.6 3.1.6 运算符的优先级运算符的优先级 本讲稿第四页,共四十二页3.1.1 3.1.1 算术运算符和算术表达式算术运算符和算术表达式n在VB中,算术运算符有:乘方号()、取负号(-)、乘号(*)、除号(/)、整除号()、求余运算符(Mod)、加号(+)和减号(-)。运算运算运算符运算符算术表达式举例算术表达式举例 说明说明乘方乘方23结果为结果为8 ab表示表示a的的b次方次方取负取负-(-10)结果为结果为10 单目运算,单目运算,-a表示对表
5、示对a取负取负乘法乘法*2*4结果为结果为8 乘法运算乘法运算,乘法和乘法和(/)除法是同级运算除法是同级运算除法除法/3/2结果为结果为1.5 除法运算除法运算整除整除32结果为结果为1 1 (整除整除)运算的结果仅保留整数运算的结果仅保留整数求余求余Mod3 Mod 2结果为结果为1 1 结果是两数相除后的余数结果是两数相除后的余数加法加法+3+2结果为结果为5 加法和减法是同级运算加法和减法是同级运算减法减法-3-2结果为结果为1本讲稿第五页,共四十二页n算算术术表表达达式式的的计计算算是是根根据据算算术术运运算算符符的的优优先先级级完完成成的的,同同级级从从左左到到右右顺顺序序完完成成
6、计计算算。例例如:如:Private Sub Command1_Click()Print 9 3*3 End Sub 输出结果为输出结果为1。因为先计算乘法,再完成整除。因为先计算乘法,再完成整除99的运算。的运算。Private Sub Command1_Click()Print 9/3*3 End Sub 输出结果为输出结果为9。因为同级运算,从左至右顺序完成。因为同级运算,从左至右顺序完成。本讲稿第六页,共四十二页3.1.2 3.1.2 字符串运算符和字符串表达式字符串运算符和字符串表达式在在VB中中,字字符符串串运运算算符符有有:加加号号(+)和和字字符符串串连连接接运运算算符符号号(
7、&)。两两个个运运算算符符的的作作用用相相同同,都都是是将将两两个个字字符符串串连连接接成成一一个个字字符符串串。例如:例如:n可视化可视化&程序设计程序设计 结果仍是一个字符串:结果仍是一个字符串:可视化程序设计可视化程序设计n可视化可视化+程序设计程序设计 结果仍是一个字符串:结果仍是一个字符串:可视化程序设计可视化程序设计 加加号号(+)(+),究究竟竟完完成成加加法法运运算算还还是是字字符符串串的的连连接接,取取决决于于参参加加运运算算的的两两个个操操作作数数,当当两两个个操操作作数数都都是是数数值值类类型型时时完完成成加加法法运运算算。当当两两个个操操作作数数都都是是字字符符串串类类
8、型型时时完完成成字字符符串串的的连连接接运运算算。要要区区分分数数值值型型和和字符串类型,如:字符串类型,如:123 +456 结果仍是一个字符串:结果仍是一个字符串:123456本讲稿第七页,共四十二页3.1.3 3.1.3 关系运算符和关系表达式关系运算符和关系表达式n在在VB中中,关关系系运运算算符符有有:大大于于号号()、小小于于号号(=)、小于等于号小于等于号(=)、等于号、等于号(=)和不等于号和不等于号(或或 32+2结果为结果为False 先计算先计算2+2小于小于 A=A=a结果为结果为False 小写大于大写小写大于大写小于等于小于等于=abc=abd结果为结果为True等
9、于等于 =a=a 结果为结果为False 空格是有效字符空格是有效字符不等于不等于 或或#12/20/2003#12/19/2003#结果为结果为True日期靠后的为大日期靠后的为大 本讲稿第九页,共四十二页3.1.4 3.1.4 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式n在在VB中中,常常用用的的逻逻辑辑运运算算符符有有:非非(Not)、与与(And)、或或(Or)和和异异或或(Xor)。n逻逻辑辑运运算算符符,用用来来对对两两个个逻逻辑辑量量进进行行运运算算,运运算算的的结结果果是是逻逻辑辑型型的的,结结果值果值True表示真,表示真,False表示假。表示假。n逻辑表达式的一般格式:
10、逻辑表达式的一般格式:表达式表达式 逻辑运算符逻辑运算符 表达式表达式本讲稿第十页,共四十二页运算运算运算符运算符逻辑表达式逻辑表达式非非 Not Not(53)结结果果为为False与与 And True And True结结果果为为True或或 Or False Or False结结果果为为False 异或异或 Xor True Xor False结结果果为为True本讲稿第十一页,共四十二页n例如:例如:A+B=C And X=Y 是逻辑表达式,在求解该表达式时,先完成算术运算,再解决关是逻辑表达式,在求解该表达式时,先完成算术运算,再解决关系运算,最后进行逻辑运算。整个表达式的含义是,
11、当系运算,最后进行逻辑运算。整个表达式的含义是,当A+B等于等于C并并且且X等于等于Y时,该表达式的结果为真。时,该表达式的结果为真。n例如:例如:Not L1 And Not L2 是逻辑表达式,在求解该表达式时,先解决逻辑非运算,再进行逻是逻辑表达式,在求解该表达式时,先解决逻辑非运算,再进行逻辑与运算。整个表达式的含义是,当辑与运算。整个表达式的含义是,当L1和和L2都为假时,该表达式的都为假时,该表达式的结果为真。结果为真。本讲稿第十二页,共四十二页3.1.5 3.1.5 日期运算符和日期表达式日期运算符和日期表达式n日期型数据只有加日期型数据只有加“+”和减和减“-”两个运算符。两个
12、日期型数据两个运算符。两个日期型数据相减,结果是一个整数,即两个日期相差的天数,如:相减,结果是一个整数,即两个日期相差的天数,如:#12/31/1999#-#12/29/1999#,结果为,结果为2;日期型数据加上;日期型数据加上(或减去或减去)一一个整型数据个整型数据(表示天数表示天数),结果仍为日期型数据,表示向后推算的日期,结果仍为日期型数据,表示向后推算的日期(向前推算的日期向前推算的日期)如:如:#12/31/20003#+2,结果为,结果为#01/02/2004#。本讲稿第十三页,共四十二页3.1.6 3.1.6 运算符的优先级运算符的优先级n在在含含有有各各种种运运算算符符混混
13、合合运运算算的的表表达达式式中中,运运算算符符运运算算优优先先级级规规定定为为:首首先先进进行行数数值值运运算算和和字字符符串串运运算算,其其次次进进行行关关系系运运算算,最最后后完完成成逻逻辑辑运运算算,同同级级运运算算自自左左到到右右顺顺序序完完成成,括括号号可可以以改改变变优优先先顺顺序序。在在表表达达式式中中只只能能使使用用小小括括号号,不不能能使使用用中中括括号号或或大括号,并且也同样要求括号是半角英文符号。例如:大括号,并且也同样要求括号是半角英文符号。例如:本讲稿第十四页,共四十二页本讲稿第十五页,共四十二页3.2常用标准函数常用标准函数n3.2.1 3.2.1 常用数学函数常用
14、数学函数n3.2.2 3.2.2 常用转换函数常用转换函数n3.2.3 3.2.3 常用字符串函数常用字符串函数n3.2.4 3.2.4 常用日期时间函数常用日期时间函数n3.2.5 InputBox3.2.5 InputBox函数函数 本讲稿第十六页,共四十二页3.2.1 3.2.1 常用数学函数常用数学函数n常用数学函数主要包括三角函数、指数函数、常用数学函数主要包括三角函数、指数函数、对数函数、平方根函数、绝对值函数等对数函数、平方根函数、绝对值函数等本讲稿第十七页,共四十二页n函数函数说明说明 举例举例 结果结果nSin(n)Sin(n)计算计算n n的正弦值的正弦值Sin(0)Sin
15、(0)0 0nCos(n)Cos(n)计算计算n n的余弦值的余弦值Cos(0)Cos(0)1 1nTan(N)Tan(N)计算计算N N的正切值的正切值Tan(0)Tan(0)0 0nAbs(N)Abs(N)计算计算N N的绝对值的绝对值Abs(-2)Abs(-2)2 2nAtn(N)Atn(N)计算计算N N的反正切值的反正切值 Atn(0)Atn(0)0 0nExp(N)Exp(N)计算计算e e的的N N次幂次幂Exp(0)Exp(0)1 1nLog(N)Log(N)计算计算N N的自然对数的自然对数 Log(1)Log(1)0 0nSgn(N)Sgn(N)计算计算N N的符号值的符号
16、值Sgn(-2)Sgn(-2)-1-1nSqr(N)Sqr(N)计算计算N N的平方根的平方根Sqr(4)Sqr(4)2 2nRnd(N)Rnd(N)产生产生00,1)1)之间随机数之间随机数RndRnd00,1)1)本讲稿第十八页,共四十二页n运运行行下下面面程程序序,会会发发现现运运行行程程序序输输出出的的3个个随随机机数数确确实实随随机机并并满满足足在在01之之间间。但但再再次次运运行行该该程程序序会会发发现现所所产产生生的的3个个随随机机数数和和上上次的完全相同。次的完全相同。Private Sub Command1_Click()Print Rnd:Print Rnd:Print R
17、nd End Sub本讲稿第十九页,共四十二页n在在调调用用随随机机函函数数之之前前先先使使用用Randomize语语句句,此此后后再再使使用用随随机机函函数数便便可产生逼真的随机数。可产生逼真的随机数。Private Sub Command1_Click()Randomize Print Rnd:Print Rnd:Print Rnd End Subn下面程序演示了,函数的自变量是另一个函数。下面程序演示了,函数的自变量是另一个函数。Private Sub Command1_Click()Print Sqr(Abs(-4)End Sub本讲稿第二十页,共四十二页3.2.2 常用转换函数常用转
18、换函数 n常用转换函数主要包括数值型数据与字符型数据之间的转换,以常用转换函数主要包括数值型数据与字符型数据之间的转换,以及数值型数据之间的转换。及数值型数据之间的转换。本讲稿第二十一页,共四十二页函数说明 举例 结果Asc(C)将字符转换成ASCII编码Asc(A)65Chr(N)将ASCII编码转换成字符Chr(65)AFix(n)返回n的整数部分 Fix(5.6)5 Int(n)返回不大于n最大整数 Int(5.6)5 Str(N)将数值型量转换为字符型量 Str(123)123Val(C)将字符串转换为数值型量 Val(123)123本讲稿第二十二页,共四十二页n常常用用Val函函数数
19、把把输输入入的的数数字字字字符符串串转转换换成成数数值值,用用Str函函数把要输出的数值转换成字符串。数把要输出的数值转换成字符串。Option ExplicitPrivate Sub Command1_Click()Const Vg=300000000#Const Pi=3.1415 Dim OA,AB,OB,S1 OA=Vg/3000/2 AB=OA*Sin(30*Pi/180)OB=OA*Cos(30*Pi/180)S1=Pi*OB*OB Print 飞机的高度是:飞机的高度是:+Str(AB)+m Print 雷达仰角为雷达仰角为30,搜索面积是:,搜索面积是:+Str(S1)+m2E
20、nd Sub本讲稿第二十三页,共四十二页nAsc和和Chr是是一一对对互互逆逆函函数数,Asc只只能能计计算算一一个个字字符符串串首首字字符符的的ASCII编编码码,Chr是是计计算算ASCII编编码码对对应应的的字字符符,控控制制字字符符可可以以使使用用Chr函函数输入。数输入。Private Sub Command1_Click()Print Chr(Asc(A)Print Asc(ABCDEF)Print Trim(Str(Asc(ABCDEF)Print 显示在上一行显示在上一行+Chr(13)+Chr(10)+显示在下一行显示在下一行End Sub本讲稿第二十四页,共四十二页3.2.
21、3 常用字符串函数常用字符串函数 n在字符存储和处理中,在字符存储和处理中,VB 6.0采用了采用了Unicode编码。编码。Unicode编码将一编码将一个汉字和一个西文字符都视为一个字符,占用两个字节存储。个汉字和一个西文字符都视为一个字符,占用两个字节存储。本讲稿第二十五页,共四十二页函数函数说明说明举例举例结果结果Ltrim(C)删除字符串左边的前导空格删除字符串左边的前导空格Ltrim(“abc)abcRtrim(C)删除字符串右边的尾随空格删除字符串右边的尾随空格Rtrim(abc)abcTrim(C)删除字符串前导和尾随的空格删除字符串前导和尾随的空格Trim(“abc)abcL
22、eft(C,N)从字符串的左边取出从字符串的左边取出N个字符个字符Left(abc,2)abRight(C,N)从字符串的右边取出从字符串的右边取出N个字符个字符Right(abc,2)bcMid(C,M,N)从字符串的从字符串的M位右取出位右取出N个字符个字符Mid(abcd,2,2)bcInStr(C1,C2)返回字符串返回字符串2在字符串在字符串1的位置的位置InStr(abc,bc)2Len(C)返回字符串的长度返回字符串的长度Len(abc)3Space(N)产生产生N个空格字符组成的字符串个空格字符组成的字符串Space(2)“Lcase(C)大写字母转换成小写字母大写字母转换成小
23、写字母Lcase(AbC)abcUcase(C)小写字母转换成大写字母小写字母转换成大写字母Ucase(abc)ABC本讲稿第二十六页,共四十二页Private Sub Command1_Click()str1=字符串函数与运算字符串函数与运算 str2=Mid(str1,4,2)Print str2 n=InStr(str1,str2)Print n Print InStr(str1,字符子串字符子串)Print str1+的长度是的长度是+Str(Len(str1)Print UCase(abCDef)Print LCase(abCDef)Print LCase(abCDef)+Space
24、(3)+UCase(abCDef)End Sub本讲稿第二十七页,共四十二页3.2.4 常用日期时间函数常用日期时间函数函数 说明 举例 结果Date 系统当前的日期(年-月-日)Date 2004-02-20Hour(D)小时(023)Hour(Now)8Day(D)月中第几日(131)Day(Now)20Month(D)月份(112)Month(Now)2MonthName(N)中文月份 MonthName(2)二月Now系统当前的日期和时间 Now 04-02-20 8:20:11Time系统当前的时间(hh:mm:ss)Time 8:20:11Weekday(D)星期几(17),1表示
25、星期日 Weekday(Now)7Year(D)年份(yyyy)Year(Now)2006本讲稿第二十八页,共四十二页3.2.5 InputBox函数函数nInputBox函函数数返返回回一一个个字字符符串串。在在调调用用InputBox函函数数时时,系系统统将将弹弹出一个对话框,该对话框能接收用户输入数据。出一个对话框,该对话框能接收用户输入数据。InputBox函数一般格式如下:InputBox(提示信息提示信息,标题,标题,默认值,默认值)本讲稿第二十九页,共四十二页Private Sub Command1_Click()Dim Mj,Dj Mj=Val(InputBox(商品房面积)D
26、j=Val(InputBox(每平米价格)Print 商品房面积;Mj Print 每平米价格;Dj Print 商品房价格;Dj*Mj;元End Sub本讲稿第三十页,共四十二页3.3命令按钮命令按钮(CommandButton)控件控件n3.3.1 3.3.1 命令按钮概述命令按钮概述n3.3.2 3.3.2 命令按钮属性命令按钮属性n3.3.3 3.3.3 命令按钮事件命令按钮事件本讲稿第三十一页,共四十二页3.3.1 3.3.1 命令按钮概述命令按钮概述n命令按钮是最常使用的控件之一。命令按钮最多设置的属性是命令按钮是最常使用的控件之一。命令按钮最多设置的属性是Caption,一般使用
27、【属性】窗格设置该属性,以便修改命令按钮的标题。,一般使用【属性】窗格设置该属性,以便修改命令按钮的标题。命令按钮最常使用的事件是命令按钮最常使用的事件是Click。在程序设计时,将单击某一命。在程序设计时,将单击某一命令按钮时所要实现的功能写成代码片段,形成一个令按钮时所要实现的功能写成代码片段,形成一个Click事件过程。事件过程。这样,当用户单击按钮后,程序就会调用这样,当用户单击按钮后,程序就会调用Click事件过程,从而事件过程,从而完成相应的操作。完成相应的操作。本讲稿第三十二页,共四十二页3.3.2 3.3.2 命令按钮属性命令按钮属性n1.Name(名称名称)属性属性 在程序中
28、它是识别命令按钮的标识符。窗体中第一个建立的命令按钮默认名称是Command1,后续的命令按钮默认名称分别是Command2、Command3等。名称属性为只读属性。只读属性的含义是,这样的属性只允许在界面设计时修改,在程序中不能修改这样的属性。n2.Caption属性属性 Caption属性是字符串类型,是显示在命令按钮上的标题。既可以在界面设计时通过【属性】窗格修改,也可以使用代码设置。本讲稿第三十三页,共四十二页n3.Default属性属性 Default属性是布尔类型,当命令按钮的Default属性设置为True时,按回车键等效于用鼠标单击该按钮。一个窗体只能有一个命令按钮的Defau
29、lt属性设置为True。命令按钮的Default属性默认值为False。n4.Cancel属性属性 Cancel属性是布尔类型,当命令按钮的Cancel属性设置为True时,按Esc键等效于用鼠标单击该按钮。一个窗体只能有一个命令按钮的Cancel属性设置为True。命令按钮的Cancel属性默认值为False。本讲稿第三十四页,共四十二页n5.Style属性和Picture属性 Style属性决定命令按钮的外观,只能取0或1。当此属性设置为0时,表示标准命令按钮,该按钮只能显示文字,并且不能改变背景颜色和前景颜色,更不能显示图标。当此属性设置为1时,表示图形命令按钮,图形按钮既能显示文字,又
30、能改变背景颜色和前景颜色,还能显示图标。命令按钮的Picture属性同窗体的Picture属性,用来显示图形。一般命令按钮上使用的图形文件(*.ico和*.cur)。类似有DisabledPicture用于设置被禁止操作时命令按钮显示的图标,DownPicture用于设置被按下状态时命令按钮显示的图标 本讲稿第三十五页,共四十二页n6.ToolTipText属性ToolTipText属性是字符串类型,用于设置命令按钮的提示信息,运行程序过程中,若鼠标指向命令按钮并停留时,显示命令按钮ToolTipText的字符串。n7.Enabled属性 Enabled属性是布尔类型,用于设置命令按钮是否可以
31、操作,运行程序时,若命令按钮的Enabled属性设置为False,命令按钮呈灰色,此时命令按钮禁止操作。当命令按钮的Enabled属性设置为True时,允许用户操作命令按钮。命令按钮的Enabled属性默认值为True。本讲稿第三十六页,共四十二页n8.Visible属性 Visible属性是布尔类型,用于设置命令按钮是否可见。若命令按钮的Visible属性设置为False,命令按钮不可见,此时也无法对命令按钮进行操作。当命令按钮的Visible属性设置为True时,命令按钮可见。命令按钮的Visible属性默认值为True。n9.其他属性 和窗体类似,命令按钮也有和大小、位置有关的属性,有H
32、eight、Left、Top和Width。不同的是,窗体的Left和Top是相对于屏幕,命令按钮的Left和Top是相对于窗体。另外,命令按钮有标题,因此有与Font相关的属性。本讲稿第三十七页,共四十二页n例例3.3 学习和游戏学习和游戏 设计一个窗体,在窗体上添加两个命令按钮。运行程序时,按设计一个窗体,在窗体上添加两个命令按钮。运行程序时,按Alt+D键或按回车键等效于单击【学习】在窗体输出键或按回车键等效于单击【学习】在窗体输出“现在我现在我要学习!要学习!”。按。按Alt+C键或按键或按Esc键等效于单击【游戏】在窗体输出键等效于单击【游戏】在窗体输出“现在我要游戏!现在我要游戏!”
33、本讲稿第三十八页,共四十二页n例3.4 开始和结束 设计一个窗体,在窗体上添加两个命令按钮。运行程序时,【开始】可以操作,【结束】不能操作,单击【开始】在窗体输出开始时间,此后【开始】不能操作,【结束】可以操作。单击【结束】在窗体输出结束时间,此后,命令按钮状态恢复成原始状态。用鼠标指向命令按钮并停留时,显示提示信息。本讲稿第三十九页,共四十二页3.3.3 3.3.3 命令按钮事件命令按钮事件n1.MouseDown事件事件 按下鼠标任意按钮时,所触发的事件称为MouseDown事件。MouseDown事件与Click事件不同,Click事件是用鼠标左键单击命令按钮所触发的事件,MouseDo
34、wn事件不管是用鼠标左键还是鼠标右键,只要按下鼠标键就能触发该事件;Click事件包括鼠标键的动作有按下和抬起,MouseDown事件包括鼠标键的动作只有按下而无抬起。本讲稿第四十页,共四十二页n2.MouseUp事件事件释放鼠标按钮时,所触发的事件称为MouseUp事件。类似于MouseDown事件,鼠标左键和鼠标右键都能触发该事件,该事件包括鼠标键的动作只有抬起。n3.MouseMove 事件事件 鼠标光标在某一个对象上的移动或停留时,触发的事件称为MouseMove事件。本讲稿第四十一页,共四十二页3.4综合运用综合运用例3.5 按下和抬起命令按钮 设计一个窗体,在窗体上添加一个命令按钮。运行程序时,命令按钮被按下时,命令按钮显示一幅图片,同时在窗体输出“你按下了鼠标键”。抬起命令按钮时,命令按钮显示另一幅图片,同时在窗体输出“你抬起了鼠标键”。例3.6 年月日和时间 设计一个窗体,在窗体上添加4个命令按钮。运行程序时,单击【年份】【月份】【日期】和【时间】可分别在窗体显示系统的年份、月份、日期和时间。单击窗体,清除窗体上显示的所有信息。本讲稿第四十二页,共四十二页