VB过程与函数课件

合集下载

VB程序设计课件-常用内部函数

VB程序设计课件-常用内部函数

6
128 1235
注意:程序代码编写规则
在编写程序代码时,要遵守一定的规则。不能超越其规定 来自由发挥。 (1) 一行写多条语句。冒号分隔
Sum=Sum+x : Count=Count+1 (2) 一条语句写成多行 使用续行符(一个空格后面跟随一个下划线“_”),将长语句分 成多行。例如: Print Text1.Text & Text2.Text & Text4.Text &└┘_ & Left(Text3.Text,3) (3)不区分大小写字母
VB不区分应用程序代码字母的大小写 。
(4) 各关键字之间,关键字和变量名、常量名、过程名 之间一定要有空格分隔。
示例: Private└┘ Sub└┘ Form_Click()
(5)使用缩进 在编写程序代码时,可以使用缩进来反映代码的逻辑结 构和嵌套关系。例如: Private Sub Form_Click()
a = "Visual└┘FoxPro"
'└┘表示空格
n = InStr(a, "└┘")
'查找空格位置
b = Left(a, n - 1)
'取左边部分
c = Right( ____, ____ )
'取右边部分
Print b
'显示左边部分
Print c
'显示右边部分
End Sub
想一想
Visual FoxPro
Mid(“ABCDE”,2) 的结果为 “BCDE”
(2)插入字符串语句Mid Mid(字符串, p[,n]) = 子字符串
用“子字符串”替换“字符串”中从P开始的与“子字 符串”等长的一串字符。

VB课件第10章Visual Basic过程2

VB课件第10章Visual Basic过程2
End Function
10.5变量和常量的作用范围
在Visual Basic 6 中,按变量的作用范 围不同,可将变量划分为三大类:
过程级局部变量 模块级变量 全局变量
1.过程级局部变量
(1) 过程级局部变量作用范围 在子过程(包括事件过程)或函数内部定义的变
量就是过程级别的局部变量,简称局部变量。 生效范围(程序设计阶段)只限于本子过程或函
数。 (2) 过程级局部变量的生存期 局部变量的生存期(程序运行阶段)当子过程或
函数被调用执行时,局部变量具有了生存期,当 过程调用结束,变量就没有生存期了 下次再调用,系统则另外为变量分配内存空间。
2.模块级变量
在窗体或标准模块的“通用”定义段 中使用Private或Dim定义的变量,
其生效范围只限于本模块,即本模块 中的所有子过程或函数均可以使用该 模块级变量。
嵌套调用与递归调用 变量的作用范围
过程级变量 窗体级变量 全局变量
10.4 嵌套调用与递归调用
1.嵌套调用: 在一个子过程或函数里面不能再定义一个
子过程或函数表明子过程与函数不能嵌套 定义,但是子过程和函数可以被嵌套调用。
例10-5:
找出1-1000中的所有完数,并且按如图所 示显示在窗口上。所谓完数就是该数的所有 因子之和(不包括本身)等于该数的数。如 6=1+2+3
Visual Basic程序设计
Visual Basic 过程
(第13周1学时)
第10章 过程
10.7 键盘与鼠标事件过程 10.1 Function函数 10.2 Sub子过程 10.3 形式参数与实际参数 10.4 嵌套调用与递归调用 10.5 变量和常量的作用范围 10.6 VB应用程序结构 习题10

《VB程序设计教程》PPT课件(全)(2024)

《VB程序设计教程》PPT课件(全)(2024)
窗体的方法与事件
详细讲解窗体的常用方法,如显示窗体、隐藏窗体等,以及窗体 的事件,如加载事件、卸载事件等。
窗体的布局与风格
探讨如何合理规划窗体的布局,以及如何通过设置窗体的风格来 美化界面。
18
控件的使用与布局
常用控件介绍
介绍VB中常用的控件,如文本框、标签、按钮、列表框等,以及它们的属性和事件。
2024/1/26
Web应用程序开发
通过可以开发 Web应用程 序。
多媒体应用开发
利用VB可以开发多媒体应用程序,如音频、 视频处理等。
6
02
VB编程基础
2024/1/26
7
数据类型与变量
数值型
Integer、Long、Single、Double等
字符串型
String
2024/1/26
36
THANKS
感谢观看
2024/1/26
37
《VB程序设计教程》 PPT课件(全)
2024/1/26
1
2024/1/26
目录
• VB程序设计概述 • VB编程基础 • VB界面设计 • VB高级编程技术 • 数据库编程技术 • 网络编程技术 • VB程序调试与优化
2
01
VB程序设计概述
2024/1/26
3
VB的发展历史
1991年,微软公司推出Visual Basic 1.0,标志着 VB的诞生。
2024/1/26
套接字编程
使用Winsock控件进行套接字编程, 包括创建套接字、绑定地址和端口、 监听连接、发送和接收数据等步骤。
错误处理与调试
网络通信编程中需要考虑错误处理和 调试问题,如处理网络断开、数据丢 失等异常情况,以及使用日志记录和 调试工具进行问题排查。

【精品】VB第12课时:函数与过程ppt课件

【精品】VB第12课时:函数与过程ppt课件

实战练习18:用函数语句来求平方值 1、运行VB,建立一个标准EXE工程。 2、在窗体中添加相应的控件对象,界面如(图一)所示; 3、并通过编辑代码语句,实现以下效果:
当在文本框Text1中输入任何数, 点击“计算”按钮后, 该输入数值的平方的结果就会显示在标签Label1上. 4、保存窗体和工程到自己文件夹中, 文件名分别为“函数求平方.frm”和“函数求平方.vbp”。 5、生成“函数求平方.exe”可执行文件,保存在自己文件夹下。
求x的绝对值function函数名参数表as类型名变量定义和常量定义语句语句块函数名表达式endfunctionfunctionabselseabsendfunctionprivatesubcommand1clickdimvaltext1texttext2textstrabsxendsub自定义函数10abs那我能不能自己定义一个求x的平方的函数呢
函数名=表达式 End Function
Function Abs (x As Double) As Double If x <> 0 And x < 0 Then Abs = -x ElseIf x > 0 Then Abs = x Else Abs = 0 End If
End Function
Private Sub Command1_Click() Dim x As Double a = Val(Text1.Text) Text2.Text = Str(Abs(x)) End Sub
注:在语句块中,至少要有一个形如 函数名=表达式
的语句
自定义函数
Function 函数名(参数表)As 类型名 变量定义和常量定义语句 语句块
函数名=表达式 End Function

VB-第7章 过程和函数.ppt

VB-第7章 过程和函数.ppt
• Sub过程的建立方法与Function过程的建立方法相同,可以 在代码窗口中直接输入,也可通过执行“工具”菜单中的 “添加过程”命令生成过程模板。
119 9
Sub过程的调用
定义一个Sub过程之后,必须使用Call语句调用该过程。 调用格式一:Call <过程名> [(<实参表>)] 调用格式二:<过程名> [<实参表>]
• 事件过程由VB预先定义,编程人员所要做的工作就是在已 经存在的过程中编写代码。 减少代码的重复性,将重复性较大的代码段独立出来形成 一个过程,这种独立定义的过程叫做“通用过程”。
• 通用过程由编程人员建立,供事件过程或其他通用过程使 用(调用),通用过程也称为“子过程”或“子程序”,可以 被多次调用。而调用该子过程的过程称为“调用过程”。
·<过程名>:要调用的Sub过程名。 ·<实参表>:要传送给Sub过程的常量、变量或表达式,各参 数之间用逗号分隔。如果是数组参数,则要在数组名之后跟 一对空括号。 ·用Call语句调用一个Sub过程时,如果过程本身没有参数, 则省略<实参表>和括号。 .格式二省略了Call关键字,同时<实参表>两边也不能带括 号。
• Private:可选项。使用Private时表示只有本模块中的其他 过程才可以调用该Function过程。
• Static:可选项。如果使用该选项,则VB只给过程中的所有 局部变量分配一次存储空间,即在应用程序执行期间,每次 调用该Function过程时将保留该过程中的局部变量值。若没 有使用该选项,则每次调用该Function过程时,其中的局部 变量都要被重新初始化。
117 7
Sub过程的定义

vb第六章(过程).ppt

vb第六章(过程).ppt

If a<b Then
call swap(a,b)
‘过程的调用, 或swap a,b
End If
(主调过程)
Print a,b
End Sub
求组合数
Cmn
m! n!(m
n)!
'定义求阶乘的Sub子过程fac Private Sub fac(ByVal n As Integer, f As Long) ‘过程定义
End If j=j+2 Loop End Sub
‘用For循环如何实现?
四、参数的传递
参数传递:调用时把实参的值或地址传递给形参 。
1. 形参和实参 2. 按值传递与按地址传递 3. 数组参数的传递
1.形参和实参 (1)形参(形式参数)
出现在被调过程(定义Sub子过程或 Function函数过程)的形参表中的变量名 (除定长字符串变量外)、数组名。
见 求组合数 .vbp
三. Function函数过程的定义及其调用
函数过程是带有返回值的特殊过程。
1、定义
[Public|Private][Static] Function 函数名([参数列表]) [AS 类型]
局部变量或常数定义 语句块 函数名=表达式 [Exit Function ] 语句块 函数名=表达式
Dim i As Integer f=1 For i = 1 To n
f=f*i Next i End Sub
' “=”的click事件
Private Sub Command1_Click()
Dim m As Integer, n As Integer
Dim fm As Long, fn As Long

vb学习 过程与函数

vb学习 过程与函数
▪ Sub子过程:专门为某个任务编写的程序代码段,是 独立于事件过程之外,必须要通过调用语句(Call等) 调用才会执行,不会自动执行。
❖ Sub子过程必须先定义,再在主过程中通过调用语句 (Call等)来调用。定义时需要知道该功能需要什么 已知参数,是否需要返回结果,若需要则必须通过 参数返回(地址传递),方可确定所需参数的作用、类 型及个数。
《计算机语言与程序设计》
Visual Basic 6.0
计算机公共课教研室 ·2010年
Visual Basic 6.0
第八章 过程与函数
1
Sub过程
2
Function过程
3
参数传递
4
过程的嵌套
计算机公共课教研室 ·2010年·邓秀华修改
过程的引入
Visual Basic 6.0
❖ 计算算式结果,假设N=4,k=3
Sub过程小结
Visual Basic 6.0
❖Sub过程是以Sub为开头标志,End Sub为结束标志
❖ 事件过程与Sub子过程的区别
▪ 事件过程:当某个对象发生一个动作时,VB会自动调 用与事件相关的事件过程。事件过程是与窗体或控件 捆绑在一起的,不能独立存在。所以一般作为Sub子 过程的主过程。
Sub子过程与Function过程小结
Visual Basic 6.0
❖ 使用Sub子过程、Function函数过程必须先定义,再 在主过程中调用,注意调用和定义的区分。
----------------------------子过程------------------------------
-----------------------------
sum = jc fact 7, jc

第3章 Visual Basic的过程、函数和方法

第3章  Visual Basic的过程、函数和方法
第三章
过程
函数
SUB过程 3.1 SUB过程 3.2 Function过程 Function过程 3.3 参数传递
要求: 要求: 过程, 1,掌握VB的 SUB过程, 掌握VB的 SUB过程 VB Function过程 过程; Function过程; 2,了解参数传递,过程的作用域. 了解参数传递,过程的作用域.
4,Function过程与Sub过程比较 Function过程与Sub过程比较 Function过程与Sub 子过程比函数过程适用面广 适用面广. 1)子过程比函数过程适用面广. 一个返回值时 函数过程直 当过程有一个返回值 当过程有一个返回值时,用函数过程直 观, 当过程有多个返回值时,惯用子过程 多个返回值时 子过程. 当过程有多个返回值时,惯用子过程. 函数过程有返回值, 2)函数过程有返回值,因此函数过程名有 类型, 类型, 在函数过程体内必须对函数过程名赋值
Sub过程 过程 Function过程 过程
区别:过程的调用方式不同. 区别:过程的调用方式不同.
3.1.1 通用 通用Sub过程 过程 通用过程:存放多个程序需要共同使用的一段代 通用过程:存放多个程序需要共同使用的一段代 共同使用 公用代码) 码(公用代码) 创建: 创建: (1)直接输入过程头,按回车后将自动出现过程尾 直接输入过程头, 直接输入过程头 格式: 格式: [Private|Public][Static] Sub 过程名(形 过程名 形 式参数表) 式参数表 过程体 End Sub ┋ 语句
请回答问题: 请回答问题:下列程序段的输出 结果? 结果? Private Sub Form_Load() Show p = 1: m = 5 Call Sub1(p) Call Sub1(m) End Sub Private Sub Sub1(x)

vb第6章子过程与函数过程

vb第6章子过程与函数过程

• End Function
15
第6章 子程序与函数过程 6.2.2函数过程的调用
• 【实例6.4】窗体中有1个标签和3个命令按 钮(控件数组)。程序运行时,单击命令 按钮,在标签中显示所求的阶乘。
16
第6章 子程序与函数过程 操作步骤
• (1)设计界面
17
第6章 子程序与函数过程
(2)编写名为fac的函数过程 • Private Function fac(m As Integer) • As Double • Dim s As Double 防止数据 • s=1 溢出 • For i = 1 To m 求m! • s=s*i • Next i • fac = s 通过函数名返回阶乘值 • End Function
3
第6章 子程序与函数过程
过程名 形式参数 形式参数 (2)自定义名为sum的Sub过程
• Private Sub sum(m As Integer , s As Long) • For i = 1 To m • s=s+i • Next i • End Sub
不能通过用户的动作触发此过程
4
第6章 子程序与函数过程
• Private Sub cmdSum_Click() • Dim a As Integer, b As Integer

• • • •
a = Int(Rnd * 100)
b = Int(Rnd * 100)
过程级变量
lblShow.Caption = a & "+" & b & "=" & a + b cmdAve.Enabled = True

VB过程及其调用ppt课件

VB过程及其调用ppt课件

a=val("sdf23and34) 返回值是0
实例:
分别定义function过程和sub过程求 一个矩形的面积和周长!
求周长 private sub zc(lenth as double,width as double ) c=(lenth+width)*2 end sub 求面积 private function area(lenth as double,width as double) as double s=lenth*width end sub

通用过程

事件过程
Function过程 sub过程
总结
拓展:
Val函数 变量的作用域 模块的作用域
重点:能够自定义
sub过程和function过 程,能够根据需要自 由调用两个过程!
此课件下载可自行编辑修改,供参考! 感谢您的支持,我们努力做得更好!
过程的作用域
因为在VB中代码是模块化的,所以不同的模块就需 要不同的过程,过程是有作用域的。
模块级过程是在某个模块内定义的过程,在定义 sub过程和Function过程时选择Private关键字,该 过程仅限于本模块中调用。(窗体模块,类模块)
全局级过程又称工程级过程,是指在定义sub过程 和Function过程时选择Public关键字或缺省选择, 作用域为整个工程,可被该工程中的所有过程调用。
1:事件过程
注意事项:
(1) :事件过程只能放在窗体模块中
(2):<语句组>为处理事件而编写的程序过 程
(3):可以通过双击对象,然后在代码视图 下选择相应的事件的方法来自动生成事件过 程。
通用过程
当多个不同的事件过程需要执行 一段相同的代码,为了避免代码 的重复,把这段代码独立出来, 作为一个过程,这样的过程称为 通用过程。可见,通用过程是多 个事件过程的,相同之处、公共 部分。

VB程序设计初步ppt课件

VB程序设计初步ppt课件
price(3,4)是数组price第3行第4列上的 元素
a(1,1) a(1,2) a(1,3) a(1,4) ……a(1,n) a(2,1) a(2,2) a(2,3) a(2,4) ……a(2,n)
a(3,1) a(3,2) a(3,3) a(3,4)……a(3,n)
…… …… …… …… …… …… …… …… …… …… …… …… …… …… …… …… …… …… …… ……
相当于 dim 数组变量名(0 to n) as元素类型 其中n为整数常量
dim score(50) as integer
dim score(0 to 50) as integer
精选版课件ppt
11
一维数组用来存储数据的一个线性序列 Dim a(1 to n) as integer a(1) a(2) a(3) a(4) a(5) …… a(n)
多维数组可以存放的数据量: 每一维的数据量的乘积
如 dim price(1 to 5,-1 to 2,4) as double 可以存放的数据个数: 5*4*5=100
精选版课件ppt
14
1、如下数组声明语句,正确的是
(A)Dim a[3,4] As Integer
(B)Dim a(1 to 3,4 to 9) As Integer
A1是数组下标的下界,A2是下标的上界,A1和 A2都是整数常量。 如: dim score(1 to 50) as integer,它包含的元 素有score(1)、score(2)……score(50)
dim strname(-7 to 10) as string,它包含 的元素有score(-7)、score(-6)……score(10) dim 数组变量名(n) as 元素类型

VB过程和函数

VB过程和函数

9
函数 – 示例
Private Sub Form_Load() Dim new_d As Date new_d = newday() MsgBox new_d End Sub Function newday() As Date newday = Date + 5 End Function
调用函数
定义函数
24
算术函数
函数名称 Abs(number) Sqr(number) Rnd(number) Int(number) Log(number) 说明 此函数会返回所传递参数的绝对值 此函数会返回一个Double类型的值,它表示所 类型的值, 此函数会返回一个 类型的值 传递的参数的平方根 此函数会返回一个Single类型的值 , 它表示 类型的值, 它表示0 此函数会返回一个 类型的值 和1之间的一个随机数 之间的一个随机数 此函数会返回一个数的整数部分 此函数会返回一个Double类型的值,它表示所 类型的值, 此函数会返回一个 类型的值 传递的参数的自然对数。 传递的参数的自然对数。
在VB环境中进行演示 环境中进行演示
15
过程和函数的参数
• 参数不是必需的 • 过程中的代码通常需要某些关于程序状态 的信息才能完成它的工作 • 在调用过程时,传递到过程内的变量称为 在调用过程时,传递到过程内的变量称为 参数
16
带参数的过程示例
' 计算圆的面积
Public Sub area_circ(radius As Integer) Dim area As Double area = 3.14 * radius * radius MsgBox area End Sub
5
定义过程
• 定义过程的语法: 定义过程的语法:

fyg VB过程与自定义函数 pptx

fyg  VB过程与自定义函数 pptx

第14课 第(3)题 P87
14
of
22
14
解析 : 1 )解析法是通过分析找出表示问题的前提条件与结果之间 关系的数学表达式,并通过表达式的计算来实现问题求解的方法。 本题中主要是通过分析根据已知条件,找出求解模 y 的数学表达式, 再根据已知条件C中对应表找出对应的校验码,所以是解析算法。 2 )①处是函数的调用点,是要调用判断身份证号码是否正确的程 序段自定义函数,变量用jieq函数名是jy(参数),此处的参数是 第14课 正要检测的第 i 个身份证号码,即数组 sfz 的第 i 个元素,故此处填 第(3)题 P87 jy(sfz(i))。 ②处的循环是逐个提取身份证号码中的数字并乘以加权因子,因为 加权因子存放在jq数组中,故此处填jq(i)。 ③y是取模的结果,其值必定位于区间[0,10],校验码位于字符 串变量jym中,若y=0,刚好对应于jym中第1个位置的1,因此取jym 的子串时,位置要加1,故此处填Mid(jym, y + 1, 1)。
第14课 第(3)题 P87
13
of
22
13
Function jy(sfz1 As String) As String ′ 对身份证的校验码进行校验 Dim s As Integer, y As Integer, r As Integer Dim djym As String jym = "10X98765432" For i = 1 To 17 r = Val(Mid(sfz1, i, 1)) * ② jq(i) s=s+r Next i y = s Mod 11 djym = ③ Mid(jym,y + 1,1) If djym = Mid(sfz1, 18, 1) Then jy = "正确!" Else jy = "错误!" End If End Function

vb第四章 函数与过程

vb第四章 函数与过程

FacN = 1 For i = 1 To n FacN = FacN * i Next i
FacM = 1 For i = 1 To m FacM = FacM * i Next i FacNM = 1 For i = 1 To n - m FacNM = FacNM * i Next i c = FacN / (FacM * FacNM) LblResult.Caption = Str(c) End Sub
25
(1)局部变量 (2)模块级变量 (3)全局变量
工程
模块2
过 程 1 变 量 a 过 程 2 变 量 b 过 程 3 变 量 c
模块1
过 程 1 变 量 a 变 量 b 过 程 2 过 程 3
模块3
过 程 1 …… 过 程 2 变 量 a 过 程 3 变 量 b 变 量 c
26
变 量 …… c
c = Fac(n) / (Fac(m) * Fac(n - m)) LblResult.Caption = Str(c) End Sub
6
以下三个概念非常重要
形参:形参仅仅是一个符号,是要被实际数据所代替的。
实参:参与运算的实际数据。 参数传递:程序在调用函数时,实参代替形参的过程。
7
例1:利用自定义函数求圆的面积
3
程序代码中经常会出现功能重复的代码段,如果我们找不到
合适的内部函数去替换这些代码段,那就发挥自己的创造力
——编写函数,因为这样可以大大提高编程的效率。
4
[Static][Public|Private]Function 函数名([参数列表]) [As 类型] 局部变量或常数定义
语句 函数名 = 返回值
12

计算机程序设计VB课件 第8章 过程与函数

计算机程序设计VB课件 第8章 过程与函数

数组参数
Private Sub Command1_Click()
Dim a(4) As Integer a(1) = 20 Call NUM(a) End Sub Sub NUM (x() As Integer) For Each y In x Print y Next End Sub
函数的调用
自定义函数的调用与调用VB内部函数一样:在表达式 中写上函数的名字和相应的参数。 例: print max(a,b) c=max(a,b) 调用过程的两种方法同样适用于函数,但函数的返回值 会自动放弃。 例:MsgBox "数据输入错误!" Call MsgBox("数据输入错误!")
过程中的参数传递
形参与实参
形参是在Sub,Function的定义行中出现的变量名。 实参是在调用Sub或Function时传送的常量、变量、表达式 yRef或省略,将参数地址传给 过程,让过程访问实际变量,结果可改变变量的真正的值。 按值传递:在参数名前加ByVal,将变量的副本传递给过程, 结果不改变变量的值。 例: P99 例程:交换两个数
练习
编写求圆面积的过程circle。 建立一个求阶乘的函数JC。 鸡兔同笼问题:腿共有100条,头40个。
Private Function Jc( n As Integer) Dim i As Integer dim t as long t=1 For i = 1 To n t=t*i Next I jc=t End Function
第8章 过程与函数
8.1 过程
过程有两种:事件过程和通用过程。二者的主要区别:事件 过程是由用户操作或系统触发而调用执行的;而通用过程完 全由用户编写,不可能实现自动调用,需要用户在程序中调 用。通用过程多放在标准模块中。 过程的定义 [Private|Public|Static] Sub 过程名([形式参数列表]) [局部变量和常量声明] 语句块 [Exit Sub] 语句块 End Sub Sub过程不能嵌套。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

$4.4
过程与函数
模块分成两种:1. 过程 2. 函数
• 过程:强调的是动作,比如显示一个对话框 MsgBox "你输入东西了,哈哈“ • 函数:强调的是值的计算,如求算术平方根,sqr(5)
二、过程的分类:
(1)事件处理过程:当对象X上发生某个事件Y 时,需要执行一段程序来响应这个事件。 常用格式 sub 对象名_事件的标准名(参数表) 语句块 事件处理过程名 end sub
Private Sub Command1_Click() Text1.Text = Str(f(24, 18)) End Sub
3、程序阅读 • (1)、有以下程序段: • For i = 1 To 3 • For j = 1 To 5 • s = i*j • Next j • Next i • 则语句s = i*j 的执行次数 是 ( A) • (A)15(B)16(C)17(D)18
3、程序阅读
• (2)、有如下程序段: •x=1 •y=0 • Do While x<10 •x=x*2 • y = y +1 • Loop • 该程序段运行后,y的值为(D ) (A)0(B)2(C)3(D)4
4.4 过程与函数
一、概念: VB应用程序是按模块化的方式组成的, 每个模块完成一部分任务。
模块分成两种:1. 过程 2. 函数
过程:强调的是动作,比如显示一个对话框 MsgBox "你输入东西了,哈哈“ 函数:强调的是值的计算,如求算术平方根,sqr(5)
二、过程的分类:
过程:将程序划分为一个个较小的逻辑单元, 每个逻辑单元构成一个过程。过程中的代码 被重复的调用。过程分为:事件处理过程和 通用过程。
复习与回顾
1、For语句与Do语句的区别 (1)for语句:事先可知循环次数,通过次数控制 循环;循环体先执行后判断次数完否,至少执行一 次循环;控制循环次数的循环变量的值会按步长自动 变化,循环会自动结束。 (2)do 语句:事先可不知循环次数,通过条件控 制循环;条件先判断后执行循环体,循环次数可以 为0次;控制循环条件的主要变量的值必须在循环体 中改变,并要最终能终止循环。 2、For语句一定可以改成Do语句,反之不一定成立。
自定义函数的格式:
2、自定义函数
Function 函数名(参数表)AS 类型名 语句块 (其中至少有一个语句是: 函数名=表达式) End Function
例: Function ou(a) As String If a Mod 2 = 0 Then ou = "该数为偶数!" Else ou = "该数为奇数!" End If End Function
演示“函数与过程调用工程中的函数调用(Form2)”
应用实例:在文本框text1和text2中输入两个整数,单击按钮 对象command1,在标签label1中显示这两个数的较大数。
Founction big(x,y) as integer if x>y then big=x else big=y End if End Founction
这样表达式 的结果才能 作为函数的 返回值
(二)、调用(使用)函数 应用实例:判断一个数是否为偶数 Private Sub Text1_Change() Dim a As Integer a = Val(Text1.Text) Label2.Caption = ou(a) End Sub Function ou(a) As String If a Mod 2 = 0 Then ou = "该数为偶数!" Else ou = "该数为奇数!" End If End Function
如:Private Sub Command1_Click() a = InputBox("请输入你的姓名:") MsgBox (a + "我知道你了,哈哈!") End Sub
(2)通用过程(教材省略,不作要求)
三、事件处理过程
1、例:文本框1,内容改变事件 Private Sub Text1_Change() MsgBox "你输入东西了,哈哈“ End Sub 2、事件处理过程名=对象名_事件的标准名 对象名:文本框(Text)、命令按钮(Command)、 标签(label) 事件的标准名 单击(click)、双击(Dblclick)、 改变内容(change)、键盘按下(KeyPress) (参见教材P84表4.4.1) 4、事件处理过程以sub开始,并且以end sub结束
七、总结:
• Vb是一种基于模块化的设计方法,函数与过 程是模块的具体实现。 • 调用过程相当于执行了一条语句(过程名), 强调的是动作,它不返回值。调用函数时, 强调的是表达式中值的计算,返回值由函数 名带回。
• • • • • • • • • • •
Public Function f(m, n) As Integer Do While m <> n Do While m > n m=m-n Loop Do While n > m n=n-m 运行结果:6 Loop Loop 函数f的功能是:求最大公约数 f=m 演示: “函数与过程调用工程中的函 End Function 数调用阅读练习(Form3,Form4)”
六、模块化程序设计的方法
1、把判断A是否为偶数这样的一个过程从整个程序中分 离出来,成为一个独立的模块,(模块可以是函数,也 可以是过程),这是一种模块化程序设计方法。 2、VB应用程序是按模块化的方式组成的,一个程序模 块是程序的一部分,每个模块负责解决整个应用问题的 一部分。 3、使用这样的方法的好处是: ①、使程序设计结构简单化 ②、过程规模小,容易调用和维护 ③、过程可以被反复使用,从而避免了重复编码
private sub command1_click() dim a1,a2 as integer a1=val(text1.text) a2=val(text1.text) Label1.caption= Big(a1,a2)
分析:自定义函数big用于求两个整数中的 较大数
由于输入的整数是a1,a2。即调用函数 时对应的参数为a1,a2,而不是x,y, 因此答案为Big(a1,a2)
Private Sub Label1_Dblclick() Picture1.Print "你双击我了,哈哈!" Command1_Clib Text1_Change() • Picture1.Print "你输入东西了,哈哈" • Command1_Click
五、函数
函数也是一个程序模块,不同之处是函数执行完后会 返回一个函数值。函数的函数值是通过函数名返回的
五、函数
• (一)函数分为标准函数和自定义函数
1、标准函数:
(1)、常用数学函数:
Abs(x) Int(x) Sqr(x) Exp(x) Log(x) Sin(x) Cos(x) Tan(x)
(2)、类型转化函数和字 符串函数:
Asc(x) asc(“A”)=65 Chr(x) chr(48)=“0” Val(x) val(“170”)=170 Str(x) str(170)=“170” Len(x) len(“asd”)=3 Mid(x,n,k) 如:mid(“abcde”,3,2)=“cd” Fix(x) fix(2.56)=2
• • • • • • • •
• • • •
Private Sub Command1_Click() Dim a As String Label2.Caption = ("请输入你的姓名:") a = Text2.Text If a <> "" Then Picture1.Print (a + "我知道你了,哈哈!") End If End Sub
相关文档
最新文档