【VB开源代码栏目提醒】:网学会员为广大网友收集整理了,08_第08章_VB子程序和函数过程 - 其它资料,希望对大家有所帮助!
大学
计算机基础教程 TaiYuan University of Technology 第8章 子过程和函数过程 Visual Basic 程序设计教程本章主要介绍: 定义Sub过程 定义Function函数过程 调用Sub过程或Function函数过程 调用事件过程 变量的存储类别和作用域。
编写过程,可以实现
代码重复使用。
2 Visual Basic程序设计教程8.1.1 什么是过程过程是编写程序的功能模块使用过程主要有以下两方面的原因:1.可以把复杂的
问题简单化 任务分解为子任务,子任务用过程实现 使程序结构清晰、易读,也便于调试和维护。
2.可以实现
代码重复使用 可以避免重复编写的烦琐 可以减少出错。
3 Visual Basic程序设计教程8.1.2 过程分类与调用流程
VB中的过程分成两大类: 事件过程: 由对象的某个事件驱动执行 如Click事件过程、Load事件过程等 通用过程 由用户自已定义的完成某一功能的过程。
通用过程不属于任一对象,不由事件驱动 使用专用的调用语句来执行它 4 Visual Basic程序设计教程通用过程又分两类: Sub过程(子过程、子程序) 往往用于处理不需要有返回值的一些基本任务 如显示矩阵。
Function函数过程: 可作为函数使用,它一般应有一个返回值 如求阶乘。
5 Visual Basic程序设计教程调用流程如图:
VB的应用程序就是由若干个过程构成的。
6 Visual Basic程序设计教程【例8-1】设计程序,其作用是根据姓名查电话号码。
输入姓名后,单击“确定”或按回车键,使姓名与内 部储存的一批姓名核对,若存在,则显示“欢迎查 询”内并使窗体只显示标签,且文字为姓名和对应 的电话号码。
最多允许输入3遍。
控件: 1个标签、1个文本框 1个“确定”命令按钮 7 Visual Basic程序设计教程过程: Form_Load事件:储存一批姓名和电话号码等 Command1_Click事件:核对姓名,显示提示 Text1_KeyPress事件:核对姓名,显示提示 CheckName 函数过程:判断此人是否存在,得 下标/-1。
姓名和电话号码为模块级变量、N为静态变量。
8 Visual Basic程序设计教程Dim Name1 Phone 声明Name1Phone为模块级Variant类型变量Private Sub Command1_Click 核对姓名,显示提示 Static N As Integer 声明N为静态整型变量 Dim T As Integer T CheckNameText1.Text 以姓名为参数,调用函数CheckBook If T -1 Then MsgBox 欢迎
查询 提示 Text1.Visible False : Command1.Visible False Label1.Caption姓名: Text1.Text Chr13 电话: PhoneT Label1.Left Form1.ScaleWidth - Label1.Width / 2 让标签在中间 9 Visual Basic程序设计教程Else NN1 核对次数加1 If N 3 Then MsgBox 你输错了这是第 N 次错请重输 提示 Text1.Text : Text1.SetFocus Else MsgBox 你已经输错3次了再见 提示 End End If End If End Sub10 Visual Basic
程序设计教程Private Sub Form_Load 初始化数组、设置属性 Label1.AutoSize True Text1.Text : Label1.Caption 姓名: : Command1.Caption 确定 Name1 Array张小红 李小芳 王小华 王力 李季 黄大海 Phone Array8820123 8882011 7812321 2444522 12432113434555End Sub11 Visual Basic程序设计教程Function CheckNameNa As String As Integer ‘函数过程,返回位置 Dim i As Integer CheckName -1 For i LBoundName1 To UBoundName1 ’线性查找法 If Name1i Na Then CheckName i: Exit For Next IEnd FunctionPrivate Sub Text1_KeyPressKeyAscii As Integer If KeyAscii 13 Then Command1_Click ‘遇回车时,调用事件过程End Sub12 Visual Basic程序设计教程
VB中的模块属于工程资源 它由过程或声明构成,以独立的文件管理。
工程中包含窗体、类和标准模块文件 本节介绍 窗体模块 标准模块。
13 Visual Basic程序设计教程8.3.1 窗体模块窗体模块是大多数
VB应用程序的基础窗体模块与窗体对应,存放窗体上所有信息: 窗体及窗体上各控件界面信息、属性、事件过程 通用过程 变量和常量的声明等。
窗体模块文件的扩展名为.Frm一个应用程序可以创建多个窗体模块14 Visual Basic程序设计教程8.3.2 标准模块和Sub Main过程标准
代码模块一般存放与特定窗体或控件无关的通 用过程、全局变量的声明等 如求阶乘一个过程要被多个不同对象或模块调用时,那么该 过程一般可放在标准模块中。
一个应用程序可建立多个标准模块建立标准模块的方法是: 使用“工程”菜单的“添加模块”命令项。
15 Visual Basic程序设计教程应用程序启动时,可先装载窗体,也可先运行 Sub Main过程 Sub Main是过程名为Main的特殊过程 Sub Main过程必须放在标准模块中才可作为启动 对象。
启动对象可以在工程属性中设置 16 Visual Basic程序设计教程8.4.1 定义Sub过程Sub过程一般指通用子过程,可在程序中调用执行, 执行完毕后无返回值。
它可以定义在窗体模块的通用对象中,也可以定义 在标准模块中。
格式: Sub 过程名参数列表 语句块 End Sub 17 Visual Basic程序设计教程1.关于格式 过程名的命名方式与变量名命名一致。
参数列表为调用时传递给Sub过程的参数,用逗号 间隔。
Sub过程也可以没有参数,但括号不可省。
参数的
常用语法是:参数名 As 类型说明 定义时的参数,又称为形式参数,简称形参。
Sub和End Sub必须成对出现 18 Visual Basic程序设计教程2.关于语句块语句块即为过程体,与事件过程的
代码编写一样包含变量声明和可执行的语句、方法等可以由顺序、分支、循环三种结构综合而成。
语句块中可直接使用参数说明:语句块中不能重复声明形式参数。
Sub 过程名参数
列表 语句块 End Sub19 Visual Basic程序设计教程 Sub 过程名参数列表 语句块 End Sub3.过程定义步骤打开
代码窗口,对象框中选“通用”,然后输入过 程首行并回车,
VB自动显示End Sub然后再输入过程体就可以了。
如: 定义过程Hello:实现以姓名为参数显示“XXX 你好!”(XXX具体内容由参数决定)20 Visual Basic程序设计教程