VB函数与过程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VB函数与过程
教学目的:
1、熟悉VB中函数的含义及函数的分类。
2、掌握VB中用户函数的定义及应用。
3、掌握VB中通用过程的含义及使用方法。
教学重点:
1、VB中函数基本概念的理解。
2、VB中用户函数定义方法。
3、VB中变量的作用范围。
4、VB中通用过程的应用。
课时安排:
理论教学安排6课时,上机练习8课时
一、VB通用过程
1、重复使用的程序段独立定义为过程。
2、过程的分类
(1)事件过程(例如click,dblclick,……)
(2)通用过程(由用户定义,可供VB过程来调用;用户定义的过程称为“子过程”)3、通用调用流程:
程序过程:
(1)调用过程可以事件过程或者用户定义过程。调用过程按顺序执行时,遇到CALL命令则转向指定的子过程。
(2)子过程按顺序执行,遇到子过程的结束语句时,返回到调用过程的断点后一条语句(CALL的下一条语句)。
(3)调用过程接着执行,遇CALL命令重复(2);否则执行到程序结束。
4、VB中的通用过程:
(1)SUB(过程)------无返值
(2)FUNCTION(函数)-------有返值
二、SUB过程
上机练习:
P165例7.1
Private Sub Form_Load()
Show
Call sub1(30)
Call sub2
Call sub2
Call sub2
Call sub2
Call sub2
Call sub2
Call sub1(30)
End Sub
Private Sub sub1(n)
Print String(n, "*") 'string函数用来重复出现n次"*"
End Sub
Private Sub sub2()
Print "*"; T ab(30); "*"
End Sub
1、Sub过程的定义
Private|public|static sub 过程名(形式参数列表)
过程语句块(可以含有Exit sub)
End sub
(1)Private表示过程只在当前模块有效,public则表示在整个程序范围都有效。
(2)Static表示过程的局部变量静态分配空间(局部变量保持到整个程序结束才释放,而动态变量则是过程退出就释放变量。)
2、Sub过程的建立
(1)窗体中打开代码窗口(.frm),选择通用过程,直接编写sub过程。
(2)在标准模块(.bas)中来创建sub过程。
第一步,在“工程”菜单或工程面板的快捷菜单中选择“添加模块”。
第二步,在“工具”菜单中选择“添加过程”,弹出“过程对话框”,输入过程名,录入过程代码;也可以直接在通用代码框中录入过程。
注意:在标准模块书写通用过程时,单独保存.bas的模块文件。如果过程中使用窗体等对象,不能省缺对象名。
3、Sub过程的调用
Call 过程名(实参数表)
过程名实参表
上机练习:
1、P168例7.2
2、P169例7.3
3、P195上机调试1
Private Sub ifnum(str1 As S tring, n As Integer)
Dim k As Integer
For k = 1 T o Len(str1) ‘逐个字符判断是否为数字
If Asc(Mid(str1, k, 1)) < 48 Or Asc(Mid(str1, k, 1)) > 57 Then
n = 0: Exit Sub
End If
Next k
n = 1
End Sub
Private Sub Command1_Click()
Dim a As String, b As String, c As String
Dim y1 As Integer, y2 As Integer, y3 As Integer
a = T ext1.T ext ‘a,b,c用来取得三个文本框的字符串
b = T ext2.T ext
c = T ext3.T ext
Call ifnum(a, y1) '用来判断a,b,c是否为数字串,为数字串时y1,y2,y3都为1 Call ifnum(b, y2)
Call ifnum(c, y3)
If y1 = 1 And y2 = 1 And y3 = 1 Then
T ext4.T ext = Val(a) + Val(b) + Val(c)
Else
T ext4.T ext = "三个文本框内有非数字串"
End If
End Sub
4、P186例7.14
5、P186例7.15(变化可以产生变幻线的效果。)
作业:
1、什么是通用过程?它是否依赖于对象?试简述通用过程的调用执行过程。
2、在VB中如何加入标准模块。通用过程可以书写在标准模块中吗?
3、简述VB通用过程定义中private,public与static的区别。
三、Function过程(直接返回主调用程序一个值)
1、function的定义
[Private|public|static] function 函数名(参数表)[as 数据类型]