《《命令按钮与函数》ppt课件》由会员分享,可在线阅读,更多相关《《命令按钮与函数》ppt课件(42页珍藏版)》请在金锄头文库上搜索。
1、第3章 命令按钮与函数,(时间:2次课,4学时),第3章 命令按钮与函数,教学提示:本章介绍VB常用的标准函数、表达式和命令按钮,VB常用标准函数和表达式是程序设计语言基础。各种函数,如三角函数、对数函数、日期函数等都是通过函数名调用。在学习中要注意函数的功能和调用方法。所有高级语言表达式都有一定的书写规范,学习中要注意VB表达式和日常运算式在书写上的不同之处。命令按钮是VB程序设计最常使用的控件,程序中出现最多的事件过程是命令按钮的事件过程。 教学目标:掌握常用的字符串函数、转换函数、数学函数、日期时间函数、随机函数和输入函数的用法。掌握算数运算符、关系运算符、逻辑运算符的和VB表达式的作用
2、和书写规范。会编写命令按钮的事件过程。,第3章 命令按钮与函数,引例3.1 计算面积和周长 3.1 运算符和表达式 3.2 常用标准函数 3.3 命令按钮 (CommandButton)控件 3.4 综合运用,3.1 运算符和表达式,3.1.1 算术运算符和算术表达式 3.1.2 字符串运算符和字符串表达式 3.1.3 关系运算符和关系表达式 3.1.4 逻辑运算符和逻辑表达式 3.1.5 日期运算符和日期表达式 3.1.6 运算符的优先级,3.1.1 算术运算符和算术表达式,在VB中,算术运算符有:乘方号()、取负号(-)、乘号(*)、除号(/)、整除号()、求余运算符(Mod)、加号(+)
3、和减号(-)。 运算 运算符 算术表达式举例 说明 乘方 23结果为8 ab表示a的b次方 取负 - - (-10) 结果为10 单目运算,-a表示对a取负 乘法 * 2*4结果为8 乘法运算,乘法和(/)除法是同级运算 除法 / 3/2结果为1.5 除法运算 整除 32结果为1 (整除)运算的结果仅保留整数 求余 Mod 3 Mod 2结果为1 结果是两数相除后的余数 加法 + 3+2结果为5 加法和减法是同级运算 减法 - 3-2结果为1,算术表达式的计算是根据算术运算符的优先级完成的,同级从左到右顺序完成计算。例如: Private Sub Command1_Click() Print
4、9 3 * 3 End Sub 输出结果为1。因为先计算乘法,再完成整除99的运算。 Private Sub Command1_Click() Print 9 / 3 * 3 End Sub 输出结果为9。因为同级运算,从左至右顺序完成。,3.1.2 字符串运算符和字符串表达式,在VB中,字符串运算符有:加号(+)和字符串连接运算符号(&)。两个运算符的作用相同,都是将两个字符串连接成一个字符串。例如: “可视化“ & “程序设计“ 结果仍是一个字符串:“可视化程序设计“ “可视化“ + “程序设计“ 结果仍是一个字符串:“可视化程序设计“ 加号(+),究竟完成加法运算还是字符串的连接,取决于
5、参加运算的两个操作数,当两个操作数都是数值类型时完成加法运算。当两个操作数都是字符串类型时完成字符串的连接运算。要区分数值型和字符串类型,如: “ 123 “ + “ 456 “ 结果仍是一个字符串:“123456“,3.1.3 关系运算符和关系表达式,在VB中,关系运算符有:大于号()、小于号(=)、小于等于号(或)。 关系运算符也称比较运算符,用来对两个相同类型的数据或表达式进行值的比较,关系运算的结果是布尔型的,结果值True表示真,False表示假。 关系表达式的一般格式: 表达式 关系运算符 表达式,运算 运算符 关系表达式举例 说明 大于 32+2结果为False 先计算2+2 小
6、于 = “A“=“a“结果为False 小写大于大写 小于等于 或 #12/19/2003# 结果为True 日期靠后的为大,3.1.4 逻辑运算符和逻辑表达式,在VB中,常用的逻辑运算符有:非(Not)、与(And)、或(Or)和异或(Xor)。 逻辑运算符,用来对两个逻辑量进行运算,运算的结果是逻辑型的,结果值True表示真,False表示假。 逻辑表达式的一般格式: 表达式 逻辑运算符 表达式,运算 运算符 逻辑表达式 非 Not Not(53) 结果为False 与 And True And True结果为True 或 Or False Or False结果为False 异或 Xor
7、True Xor False结果为True,例如: A + B = C And X = Y 是逻辑表达式,在求解该表达式时,先完成算术运算,再解决关系运算,最后进行逻辑运算。整个表达式的含义是,当A + B等于C并且X等于Y时,该表达式的结果为真。 例如: Not L1 And Not L2 是逻辑表达式,在求解该表达式时,先解决逻辑非运算,再进行逻辑与运算。整个表达式的含义是,当L1和L2都为假时,该表达式的结果为真。,3.1.5 日期运算符和日期表达式,日期型数据只有加“+”和减“-”两个运算符。两个日期型数据相减,结果是一个整数,即两个日期相差的天数,如:#12/31/1999# - #
8、12/29/1999#,结果为2;日期型数据加上(或减去)一个整型数据(表示天数),结果仍为日期型数据,表示向后推算的日期(向前推算的日期)如:#12/31/20003# + 2,结果为#01/02/2004#。,3.1.6 运算符的优先级,在含有各种运算符混合运算的表达式中,运算符运算优先级规定为:首先进行数值运算和字符串运算,其次进行关系运算,最后完成逻辑运算,同级运算自左到右顺序完成,括号可以改变优先顺序。在表达式中只能使用小括号,不能使用中括号或大括号,并且也同样要求括号是半角英文符号。例如:,3.2 常用标准函数,3.2.1 常用数学函数 3.2.2 常用转换函数 3.2.3 常用字
9、符串函数 3.2.4 常用日期时间函数 3.2.5 InputBox函数,3.2.1 常用数学函数,常用数学函数主要包括三角函数、指数函数、对数函数、平方根函数、绝对值函数等,函数 说明 举例 结果 Sin(n) 计算n的正弦值 Sin(0) 0 Cos(n) 计算n的余弦值 Cos(0) 1 Tan(N) 计算N的正切值 Tan(0) 0 Abs(N) 计算N的绝对值 Abs(-2) 2 Atn(N) 计算N的反正切值 Atn(0) 0 Exp(N) 计算e的N次幂 Exp(0) 1 Log(N) 计算N的自然对数 Log(1) 0 Sgn(N) 计算N的符号值 Sgn(-2) -1 Sqr
10、(N) 计算N的平方根 Sqr(4) 2 Rnd(N) 产生0,1)之间随机数 Rnd 0,1),运行下面程序,会发现运行程序输出的3个随机数确实随机并满足在01之间。但再次运行该程序会发现所产生的3个随机数和上次的完全相同。 Private Sub Command1_Click() Print Rnd : Print Rnd : Print Rnd End Sub,在调用随机函数之前先使用Randomize语句,此后再使用随机函数便可产生逼真的随机数。 Private Sub Command1_Click() Randomize Print Rnd : Print Rnd : Print R
11、nd End Sub 下面程序演示了,函数的自变量是另一个函数。 Private Sub Command1_Click() Print Sqr(Abs(-4) End Sub,3.2.2 常用转换函数,常用转换函数主要包括数值型数据与字符型数据之间的转换,以及数值型数据之间的转换。,函数 说明 举例 结果 Asc(C) 将字符转换成ASCII编码 Asc(“A“) 65 Chr(N) 将ASCII编码转换成字符 Chr(65) “A“ Fix(n) 返回n的整数部分 Fix(5.6) 5 Int(n) 返回不大于n最大整数 Int(5.6) 5 Str(N) 将数值型量转换为字符型量 Str(
12、123) “123“ Val(C) 将字符串转换为数值型量 Val(“123“) 123,常用Val函数把输入的数字字符串转换成数值,用Str函数把要输出的数值转换成字符串。 Option Explicit Private 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 “飞机的高度是
13、:“ + Str(AB) + “m“ Print “雷达仰角为30,搜索面积是:“ + Str(S1) + “m2“ End Sub,Asc和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.3 常
14、用字符串函数,在字符存储和处理中,VB 6.0采用了Unicode编码。Unicode编码将一个汉字和一个西文字符都视为一个字符,占用两个字节存储。,函数 说明 举例 结果 Ltrim(C) 删除字符串左边的前导空格 Ltrim(“ abc“) “abc“ Rtrim(C) 删除字符串右边的尾随空格 Rtrim(“abc “) “abc“ Trim(C) 删除字符串前导和尾随的空格 Trim(“ abc “) “abc“ Left(C,N) 从字符串的左边取出N个字符 Left(“abc“,2) “ab“ Right(C,N) 从字符串的右边取出N个字符 Right(“abc“,2) “bc“
15、 Mid(C,M,N) 从字符串的M位右取出N个字符 Mid(“abcd“,2,2) “bc“ InStr(C1,C2) 返回字符串2在字符串1的位置 InStr(“abc“,“bc“) 2 Len(C) 返回字符串的长度 Len(“abc“) 3 Space(N) 产生N个空格字符组成的字符串 Space(2) “ “ Lcase(C) 大写字母转换成小写字母 Lcase(“AbC“) “abc“ Ucase(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(3) + UCase(“abCDef“) End Sub,3.2.4 常用日期时间函数,函数 说明 举例 结果 Date 系统当前的日期(年-月-日) Date