VB程序设计第8章-设计和使用子过程
第8讲 过程
返回目录
8.2 Sub过程
Private Sub Command1_Click() '单击“输出” 定义数组和变量 For I = 1 To 5 用随机函数生成表中数据 Next I Print_Line '调用画线过程 Print Tab(10); "数学"; Tab(20); "物理"; Tab(30); "化学" Print_Line '调用画线过程 For I = 1 To 5 打印表中数据,并统计各科总分 Next I Print_Line '调用画线过程 Print Tab(10); Math(0); Tab(20); Phy(0); Tab(30); Chem(0) Print_Line '调用画线过程 End Sub
Private Sub Command1_Click() Dim X%, Y% X = InputBox("请输入数据") Sub Add(A, B) Dim C% C = A + B: Print C
Y = InputBox("请输入数据")
Call Add(X, Y) '调用求和通用过程 Subst X, Y '调用求差通用过程
调用语句改为: Print_Line 实参
调用过程时,实参将值 交给形参,由形参带入 子过程中执行。
或 Call Print_Line(实参)
例如,Print_Line 30 或 Call Print_Line(30)
返回目录
8.2 Sub过程
[例8.2] 用不同的方式分别调用带有形式参数的求 和通用过程Add和求差通用过程Subst
Sub Exchange1(ByVal X%, ByVal Y%) T = X: X = Y: Y = T Print "X="; X, "Y="; Y End Sub
VB程序设计 第八章
Call n(Val(Text1.Text))
Public Sub n(a As Integer) Dim i As Integer Dim f As Double f=1 For i = 1 To a f=f*i Next bel1.Caption = Str(a) & "!的阶乘的值为:" & Str(f)
End Sub
2020/2/7
8.1 过程的定义与调用
8.1.1 Sub过程的定义与调用
2、子过程调用 ⑴Call 过程名[(实参列表)];如:call text(12,”abc”) ⑵过程名[实参列表];如:test 12,”abc”
例[8-2]给出矩形的长和宽,求矩形的面积。 解题思路:定义一个过程area,计算矩形的面积。
定义过程的方式: ⑴手工方式:在过程、事件代码窗口中,编写事件程序: sub 过程名([参数列表]) … End Sub ⑵系统方式 ① 进入模块代码窗口:系统菜单”工程“->”添加” ->“新建”,则
新建一 个模块,在标准模块中填写子过程代码;
② 系统菜单”工具“->”添加过程“,确定子过程的名称以及类型后, 即回
2020/2/7
8.1 过程的定义与调用
8.1.2 Function过程的定义与调用
函数过程(Function)与子过程一样,可将一组完成特定功能的程序代码组织 起来,作为一个相对独立的过程使用;但子过程没有值的返回,函数过程有值 的返回。
1、函数过程的定义 [Static] [Public] [Private] Function 函数过程名[(参数列表)][As 类型]
8.2 函数和过程的参数传递
8.2.3 数组及对象作为过程的参数
VB程序设计教程.ppt
所有控件都有一个这样的属性:只需引用该控件对象名而无需使用
属性名就可以设置该属性的值,称此属性为控件的默认属性值。如Text
(文本框)控件的默认属性为Text属性、Label(标签)控件的默认属性
为Caption属性。
Text1.Text=“Visual Basic ” 等价于 Text1=“Visual Basic ”
第一节 Visual Basic简介
一、 Visual Basic的发展
BASIC是20世纪60年代由美国达特茅斯大 学的两位教授共同设计的计算机程序设计 语言,是国际上广泛使用的一种计算机高 级语言。
Basic语言简单易学、人机交互容易、程序 调试简便,目前仍是计算机程序设计初学 者入门学习的主要语言之一。
窗体的构成
2.3 基本控件
一、窗体的属性 对象表现出来的特征是由对象的各种属性决定的。对窗体
的属性进行设置可以在界面设计时通过属性窗口设置窗体 的各种属性值,也可以在运行时由代码段给窗体的属性赋 值来实现。 决定窗体特性的属性在属性窗口内可以查看和设置。
2.3 基本控件
下面介绍几个常用的属性: (1)Name属性
Visual Basic 6.0中文版包括3种版本 Visual Basic学习版(Learning) Visual Basic专业版(Professional) Visual Basic企业版(Enterprise)
一、Visual Basic的安装 二、Visual Basic的运行
第三节 Visual Basic的集成开发环境
2.1 控件概述
2.1.2 使用标准 ActiveX 控件
VB 包含部分 ActiveX 控件,即标准 ActiveX 控件),
VB子过程应用的程序设计
课程名称VB 程序设计指导教师张晓梅成绩实验名称:子过程应用的程序设计实验目的1)掌握子过程的定义以及调用方法。
2)掌握在过程调用中形参个数、类型的确定方法;掌握数组作为参数传递的方法。
3)熟悉传值和传地址的方法以及区别。
实验环境Visual Studio 2008实验内容1)数组元素排序选择排序。
在文本框中输入要排序的数据个数n,点击“排序”按钮,在“排序前”下面的标签中显示随机生成的n个数,数字随机生成且范围为1~100。
同时利用选择法进行排序,对数据按升序输出,在“排序后”下面的标签中显示升序排好的n个数。
运行界面如图1所示。
图1选择排序控件的主要属性:(要求列出所有控件)Label1-5:T extTexttBox1: MultiLine(True),Readonly(True,ScrollBar(Vertical)Button1:T ext程序代码:Public Class Form1Sub xzpx(ByVal a() As Integer)Dim imin%, t%For i = LBound(a) To UBound(a)imin = iFor j = i + 1 To UBound(a)If a(j) < a(imin) Then imin = j姓名XXXX班级0000000学号00实验日期课程名称VB 程序设计指导教师张晓梅成绩t = a(i) : a(i) = a(imin) : a(imin) = tNext iEnd SubPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim n As Integer, b() As IntegerLabel3.Text = "" : Label5.Text = "" : n = TextBox1.TextReDim b(0 To n - 1)For i = 0 To n - 1b(i) = Int(Rnd() * 100 + 1)Label3.Text = Label3.Text & b(i)If i < n - 1 Then Label3.Text = Label3.Text & ","Next iCall xzpx(b)For i = 0 To n - 1Label5.Text = Label5.Text & b(i)If i < n - 1 Then Label5.Text = Label5.Text & ","Next iEnd SubEnd Class2)打印图形印图形。
《VB程序设计》课程标准
课程标准课程名称:Visual Basic程序设计学时学分:160(2)专业层次:微机制订日期:2012年9月归口单位:计算机工程系制订人:Visual Basic程序设计是一个理论和实际紧密相连的技术,上机实验是教学中的必要环节。
现提出一套可行的“Visual Basic程序设计”课程的课程标准。
1 课程概述●课程研究的对象和研究内容随着计算机的普及和以Internet为代表的信息高速公路的迅速发展,计算机应用已深入到社会的各行各业,这不仅要求当今的大学生要掌握好本专业知识,同时还要有用计算机技术为本专业服务的能力。
因此熟练掌握一种计算机应用软件开发工具是对大学生的基本要求,这将直接影响到计算机在其他专业领域中的应用。
本课程所讲授的Visual Basic即是一种易学实用、适用面广的面向对象的软件开发平台。
VB程序设计课程可以使学生掌握软件设计的基础知识和基本方法,培养学生具有利用软件开发环境解决实际问题的能力,为进一步学习其它计算机知识及今后使用或开发应用程序奠定基础。
●课程在整个课程体系中的地位“Visual Basic程序设计”属于计算机基础教育课程的三个层次“文化、技术、应用”中的第二层次,是微机高职专业学生必修的计算机技术基础课程。
它的先修课是《信息技术基础》。
2. 课程目标(1)使学生理解程序设计的基本概念,建立起程序设计的基本思路,提高学生的理论知识水平。
主要包括了算法的概念、程序设计中的基本技巧和一些常用算法;能够阅读、理解源程序和设计解题流程的能力;了解结构化程序设计和面向对象程序设计的思想,能编制出风格良好的程序;最后达到使用Visual Basic 建立一个小型的应用系统的目的。
(2)使学生掌握基本的程序设计的技术和方法,培养学生的实际动手能力。
这些技术和方法包括算法的设计,程序的实现,能够使用Visual Basic建立一个小型的应用系统。
(3)使学生了解程序设计在本专业的应用、发展及其趋势,培养学生的科研素质。
VB教程 第8章
8.2.5 程序运行时向窗体添加控件
窗体是Windows应用程序的基本控件,Windows应用程序 应用程序的基本控件, 窗体是 应用程序的基本控件 应用程序 的运行本质上就是窗体的显示.窗体上可以添加各种控件. 的运行本质上就是窗体的显示.窗体上可以添加各种控件. 窗体上的控件通常都是在程序设计时,通过工具箱添加的. 窗体上的控件通常都是在程序设计时,通过工具箱添加的. 但也可以在窗体运行时添加控件. 但也可以在窗体运行时添加控件. 在窗体运行时添加控件,其实是创建一个新的对象, 在窗体运行时添加控件,其实是创建一个新的对象,在窗体 指定位置显示,并将其添加到窗体中.指定位置使用Point 指定位置显示,并将其添加到窗体中.指定位置使用 对象数组,向窗体添加对象调用Controls属性的 属性的Add方法. 方法. 对象数组,向窗体添加对象调用 属性的 方法
编写事件代码: 编写事件代码: ' 窗体Load事件代码 窗体 事件代码 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles MyBase.Load Me.BackColor = Color.Blue End Sub ' 窗体 窗体Click事件代码 事件代码 Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Me.Click Me.BackColor = Color.Red End Sub ' 窗体 窗体DoubleClick事件代码 事件代码 Private Sub Form1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Me.DoubleClick Me.BackColor = Color.Yellow End Sub
vb第8章
幻灯片1第8章过程本章要点:• Function过程• Sub过程•过程的嵌套•参数的传递•代码模块•变量的作用域与生存期幻灯片2过程的引入: 使同类的操作不重复(操作方法相同、参数不同) 过程: 完成一段独立功能,可供其他过程使用(调用)。
过程又称为子程序调用过程: 调用其他过程的过程幻灯片3过程分类:内部函数自定义函数Function过程*内部过程(方法)事件过程自定义过程Sub过程幻灯片48.1 Function过程8.1.1 Function过程的定义1. Function过程的格式[Public|Private][Static] Function <函数过程名>([<形参表>]) [As <类型>][<语句组>][<函数过程名> = <表达式>][Exit Function][<语句组>][<函数过程名> = <表达式>]End Function幻灯片52. 说明(1) Public: 缺省值。
使用Public时表示所有模块的所有其他过程都可以调用该Function过程。
(2) Private: 使用Private时表示只有本模块中的其他过程才可以调用该Function过程。
(3) Static: 使用Static时表示将过程中的所有局部变量说明为静态变量。
(4) <函数过程名>: Function过程的名称,遵循变量的命名规则。
(5) <形参表>: 表示在调用时要传递给Function过程的参数变量列表。
多个变量之间用逗号隔开。
幻灯片6<形参表>格式:[ByVal|ByRef]<变量名>[( )] [As <类型>]ByVal: 表示该参数按值传递。
ByRef: 缺省值。
表示该参数按地址传递。
<变量名>: 遵循变量命名规则的任何变量名或数组名。
VB第8章 过程
教案讲稿第八章过程[旧课复习]:复习内容:1.常用控件的使用,个人信息2.计时器Interval属性,Timer事件复习目的:加强控件和计时器的使用复习时长:大约5分钟[新课导入]:导入方式:通过调用函数引入函数的概念导入目的:增强学生的学习主动性导入时长:大约5分钟[新课讲授]:重点:掌握函数过程的概念,掌握sub过程的概念难点:变量的作用域和生产周期方法:运用多媒体辅助教学,采用案例教学和任务驱动等教学法。
8.1 过程概述VB应用程序是由各种过程组成的,但在为一个实际问题编写代码的过程中,会遇到一些比较复杂的问题,而利用简单的内部函数过程和事件过程往往不能解决此类问题。
此时根据应用的复杂程度,往往需要将应用程序按功能或目的划分为若干个模块,而根据具体情况又可将各个模块继续划分为子模块,直到一个适当的难度为止,即将问题自上而下逐步细化,分层管理。
将模块划分为子模块主要有如下优点:(1)便于调试和维护。
将一个复杂的问题分解为若干个子问题,降低每一个子问题的复杂程度,使每一个子问题的功能相当稳定,便于程序的调试和维护。
(2)提高了代码的利用率。
当多个事件过程都需要使用一段相同的程序代码时,可将这段代码独立出来,作为一个独立的过程。
它可以单独建立,也可以被其他事件过程调用,成为一个可重复使用的独立的过程,提高代码的使用率。
一个VB工程包括工程文件(.Vbp)、窗体文件(.Frm)、窗体的二进制数据文件(.Frx)、标准模块(.Bas)、类模块(.Cls)、资源文件(.Res)、ActiveX 控件文件(.Ocx)、用户控件(.Ctl)和属性页模块(.Pag)、其他ActiveX 控件文件、设计器可插入对象等部件和引用。
VB大致的应用程序模块结构如图8-1 所示图8-1VB应用程序模块结构8.2 函数过程8.2.1函数过程的定义Function函数过程的定义与Sub子过程的定义类似,但不同的是Function 函数过程的定义语句中需要有返回函数值的语句。
第八章第一节VB程序设计概述第二节VB程序设计基础
2020/8/1
变量
16
变量声明
1.用Dim语句显式声明变量
形式 :Dim 变量名 [AS 类型] Dim 变量名类型符
例 Dim iCount As integer Dim sAllsum As single
12
2020/8/1
一、数据类型
13
2020/8/1
二、变量、常量
14
变量和常量的命名规则 变量:在程序运行中其存储的值可以改变的存储空间。 常量:在程序运行中其值不可以改变的数值或字符串。
Y=X+10
命名 规则:
1.以字母或汉字开头,后可跟汉字、字母、数字或下划线 组成,长度小于等于255个字符;
Y=X+10
2020/8/1
算术运算符
22
例:5+10 mod 10 \ 9 / 3 +2 ^2 结果:
10
2020/8/1
表达式
23
1.组成 变量、常量、函数、运算符和圆括号
2.书写规则 (1)运算符不能相邻。例a+-b是错误的。 (2)乘号不能省略。例x 乘以y 应写成:x*y (3)括号必须成对出现,均使用圆括号。 (4)表达式从左到右在同一基准上书写,无高低、大小。
Dim Test as integer, Amount as integer, J as Integer Dim Test%, Amount%, J%
2020/8/1
19
2.隐式声明
未进行上述的声明而直接使用,其类型为 Variant 类型, 建议不使用.
注意: 在通用声明处加 Option Explicit 语句来强
面向对象的程序设计语言-VBA
s=p*r*r
s
思考:
End Sub
1、此程序是否正确? 2、变量与常量的区别?
(二)变量
程序运行过程中,值可以改变的量。 1、变量命名规则
➢ 变量名必须以字母或汉字开头,由字母、 汉字、数字或下划线组成(不能含有小数 点和空格),长度不超过255个字符的字符 串;
➢ 不能使用VBA中的关键字;
➢ VBA中不区分变量名的大小写。
(3)布尔型(Boolean) 布尔(Boolean)数据类型是一个逻辑值,用2 字节存储,它的取值只有 True或False。
当转换其他的数值类型为Boolean值时,0会成 为False,非0值则变成True。
当转换Boolean值为其他的数据类型时,False 成为0,而True成为-1。
(4)日期型(Date)
2、变量声明 使用变量之前,一般必须先声明变量。
(1)用Dim语句显式声明变量 Dim 变量名 [As 类型] As部分缺省,创建的变量为变体类型 Dim i As integer , sum As single
本章目录
说明: ①为了方便定义,可在变量名后加类型符来代替
“AS 类型”。此时变量名与类型符之间不能有 空格。 例:
在模块对象窗口单击“新建”按钮,或打开一个
已存在的模块,都会打开VBE窗口。
选择工具菜单中“宏”子菜单的“Visual Basic
编辑器”命令。
使用Alt+F11快捷键打开VBE界面,或切换数据
库窗口和VBE窗口。
8.1.3 VBE窗口
VBE窗口由工具栏、属性窗口、工程资源管理 器窗口、代码窗口和立即窗口组成。
该类型以8字节(64位)进行存储,并且小数点位数 是固定的。
VB程序设计第3版第8章
Else 第 八 章 过 程 For n1 = 3 To n \ 2 Step 2 n2 = n - n1 If isprime(n1) And isprime(n2) Then flag = 1 Exit For
End If
Next n1
28
If flag = 1 Then 第 八 章 过 程
函数过程体
注意:Function过程的定义不能嵌套。
6
第 八 章 过 程
说明: Public: 缺省值。使用 Public 时表示各模块 的所有其他过程都可以调用该过程。 Private: 使用 Private 时表示只有本模块中 的其他过程才可以调用该Function过程。 Static:使用Static时表示将过程中的所有局 部变量说明为静态变量。 函数过程名: 应遵循变量的命名规则。 形参表: Function过程的参数列表。多个参 数之间用逗号隔开。可以是: [ByVal |ByRef |Optional |ParamArray] 参 数名[( )] [As 类型]
10
第 八 章 过 程
【例8-2】编写一个计算N!的函数过程。 分析:假设函数过程名称为Fact。求N!只 需给函数过程设置一个参数N。函数过程 体的功能就是求Fact=N! 代码: Function Fact(N As Integer) As Long Dim I As Integer, F As Long F=1 ' F用于保存阶乘值 For I = 1 To N F=F*I Next I Fact = F ' 给函数过程名Fact赋值 End Function 11
|x y z |
分析:假设函数过程名称为F。求表达式 的 值需要已知x、y、z的值,因此应给函数 过程设置三个参数x、y、z。在过程体中 需要给F赋值,以便通过函数过程名F返 回函数值。
第8章VBA程序设计初步
8.2 数据类型
变量
1。是内存中用于存储数据的临时空间 2。使用前应先声明
8.2 数据类型
一.变量的命名规则 变量的命名规则
1. 以字母或汉字开头,后可跟字母、数字或下划线组成. 以字母或汉字开头,后可跟字母、数字或下划线组成 2. 变量名最长为 变量名最长为255个字符; 个字符; 个字符 3. 不区分变量名的大小写,不能使用关键字; 不区分变量名的大小写,不能使用关键字; 4.字符之间必须并排书写,不能出现上下标 字符之间必须并排书写, 字符之间必须并排书写 以下是合法的变量名: 以下是合法的变量名: a, x, x3, BOOK_1, sum5 以下标识符是非法的: 以下标识符是非法的: 3s -3x if 以数字开头 以减号开头 s*T 出现非法字符* 出现非法字符 bowy-1 出现非法字符 减号) 出现非法字符-(减号 减号
8.2 数据类型
也可以使用不同数制 1)十进制整数。如125,0,-89。20 )十进制整数。 , , 。 2)八进制整数。以&或&O(字母 )开头的整数是八进 )八进制整数。 或 (字母O)开头的整数是八进 制整数, &O25表示八进制整数 表示八进制整数25, 制整数 , 如&O25表示八进制整数25, 即(25)8 , 等于 十进制数21。 十进制数 。 3)十六进制。以&H开头的整数是十六进制整数,如 )十六进制。 开头的整数是十六进制整数 开头的整数是十六进制整数, &H25表示十六进制整数 ,即(25)16 ,等于十进制数 表示十六进制整数25, 表示十六进制整数 37。 。
8.2 数据类型
3、字符串常量 、 括起的一串字符,可以是所有西文字符和汉字、 用双引号“"”括起的一串字符,可以是所有西文字符和汉字、标
VB程序设计第8章 设计和使用子过程
第 八 章 过 程
8.3 函数过程
函数过程与子过程最主要的区别在于:函数过程有返回值,
而子过程没有返回值。
函数过程是自定义过程的另一种形式。当过程的执行需要返 回一个值时,使用函数过程比用子过程更加简单方便。VB提
供了许多内部函数,如Sin( ),Sqr( )等,在编写程序时,只
需写出函数名和相应的参数,就可得到函数值。在编程时, 可以像调用内部函数一样来使用函数过程,不同之处在于函
Public Sub sum() End Sub 可以在子过程的代码框架中输入语句,以完成相应功能。
第 八 章 过 程
8.2 子过程
8.2.3 子过程的调用
(2)直接使用过程名: 格式:过程名 [实参列表] 8.2.3 子过程的调用 举例:sum a, b, c 要执行一个子过程,必须先调用该子过程。 调用方式的说明: (1)“实参列表”中的实参必须与形参保持个数相同,位置与类型 每次调用子过程都会执行Sub和End Sub之间的语句。子过程 一一对应。 (2 )实参可以是常量、变量、表达式。 以 Sub 开始,以End Sub结束。当程序遇到End Sub时,将退 (3)参数与过程名之间用空格隔开,参数与参数之间用逗号分隔。 出子过程,并返回到调用语句之后的语句继续执行。 (4)调用子过程时,会把实参的值传递给形参,称为参数传递,有 传址和传值两种方式。默认为传址方式,此时实参和形参共用一个 子过程的调用有两种方式: 内存单元,对形参的操作等同于对实参操作。传值时实参和形参使 ( 1)使用Call语句: 用不同内存单元,对形参的操作不会对实参产生影响。 8.4节中有详 述。 格式:Call 过程名[(实参列表)] (5)若直接使用过程名调用过程,则过程名后不能加括号,参数直 举例: Call sum(a, b, c) 接跟在过程名之后。 (6)用Call 语句调用过程时,过程名后必须加括号,参数放在括号 之内。
VB程序设计教案,过程2,子过程
Sub过程创建的几种方法,进行复述。
调用子过程时的方法:
二,新课(讲授法)
单击“确定”按钮。
(2) 在“代码”编辑窗口输入。
注意:开头和结尾不同,剩下的和sub过程相同。
创建
提问?如何创建?(和sub子过程的创建方相同)
调用
调用函数过程的两种方法
(1) 直接调用
在表达式中直接写上它的名字。
例如,已编有计算圆面积的函数过程cir(),调用方法为:
MsgBox "圆面积为:" & cir(10)
(2) 用Call语句调用
利用下面的代码都调用同一个函数过程:
Call cir (10)
area 10
查看
探索尝试操作回答:查看过程的方法?(使用代码窗口)
利用函数过程,求1!+2!+3!+4!+5!+6!
Function fact(x As Integer) As Long
Dim p As Long, i As Integer
p = 1
For i = 1 To x
p = p * i
Next i
fact = p
End Function
Private Sub Command1_Click()
Dim sum As Long, i As Integer
For i = 1 To 6
sum = sum + fact(i)
Next i
Label2.Caption = sum
End Sub。
VB程序设计(全套) ppt课件
第一章 Visual Basic程序设计概述(2)
第二章 VB简单的程序设计(6)
第三章 VB语言基础(4)
第四章 基本的控制结构(8)
第五章 数组(5)
第六章 过程(4)
第七章 常用控件(2)
第八章 界面设计(2)
第九章 文件(2)
第十章 图形(1)
第十一章 数据库技术(自学)
14
上一页
PPT课件
下一页
1.4.1 窗体窗口
本章目录
窗体是建立VB应用程序的主要部分,用户通过与窗体上 的控制部件交互可得到结果。每个窗体窗口必须有一个 惟 一 的 窗 体 名 字 , 建 立 窗 体 时 默 认 名 为 Form1 、
Form2…… 在设计状态的窗体由网格点构成,方便用户对控件的定 位,网格点间距可以通过工具|选项命令,在通用标签的 窗体设置网格中输入宽度和高度来改变; 运行时可通过属性控制窗体的可见性(窗体的网格始终不 显示)。 一个应用程序至少有一个窗体窗口,用户可在应用程序 中拥有多个窗体窗口。
在VB中,工具箱上的可视图标是VB系统设计好的标准控件 类。通过将控件类实例化,可以得到真正的控件对象,也就是 当在窗体上画一个控件时,就将类转换为对象,即创建了一个 控件对象,简称为控件。
22
上一页
下一页
PPT课件
本章目录
例:工具箱内的TextBox是类,它确定了TextBox的属性、方 法和事件。窗体上显示的是两个Text对象 。
选“否” 删除:选中对象,按DEL键
24
PPT课件
2.1.2 对象的属性、事件和方法 本章目录
属性、事件和方法构成了对象的三要素。 1. 属性 属 性 保 存 对 象 中 的 数 据 。 例 如 , 控 件 名 称 (Name) 、 标 题 (Caption)、颜色(Color)、字体(FontName)等属性决定了对象 展现给用户的界面具有什么样的外观及功能。 可以通过以下两种方法设置对象的属性: 1) 在设计阶段利用属性窗口直接设置对象的属性值 2) 在程序运行时间通过语句 对象名.属性名=属性值 实现
第8章 VBA编程dg
章目录 节目录
8.2.2
属性和方法
可以通过属性对话框来设置某个控件对象的属性,也可 以通过代码来设置。通过代码来设置某个对象的属性值的格 式为: 对象名.属性名=属性值 比如,下面是将名为Cmd_add的命令按钮的标题属性设置 为“求和”的VBA代码: Cmd_add.Caption = "求和" 对象的方法一般通过代码来实现,应用某个对象的方法 的格式为: 对象名.方法 [参数1][,参数2][,…][,参数n]
章目录
节目录
8.1.2
VBA编程环境
2.VBA编程环境介绍
(1)VBE窗口的组成 和其他应用程序窗口一样,VBE窗口除了有标题栏、菜单栏、工具栏这些常用 的对象外,还有自己独有的窗口,包括工程资源管理窗口、属性窗口、代码窗口 、立即窗口、对象窗口、对象浏览器窗口、本地窗口和监视窗口等等,如图8-1所 示。通过视图菜单可以打开上述窗口。其中,最常用的是上述前四个窗口。
8.2.1
类和对象
类是面向对象可视化编程中最基本的概念之一,它是具 有共同抽象的对象的集合。类定义了一个抽象模型。类实例 化后就称为对象。换言之,将对象的共同特征抽取出来就是 类,类是模板,而对象是以类为模板创建出来的具体的实例 ,类与对象就像模具与成品的关系。比如,某个学校的每一 个学生就是一个对象,将这个学校的所有学生抽象化,就形 成学生类,而每个学生就是学生类的实例。 在 Access 中,一个窗体是一个对象,它是 Form 类的实例 ;一个报表是一个对象,它是 Report 类的实例;一个文本框 是一个对象,它是TextBox类的实例,等等。事实上,放在窗 体上的一个具体的控件就是其控件类所对应的实例。
VB 第八章过程
调用形式: 函数名(实参列表)
说明: 在调用时实参和形参的数据类型、顺序、个数必须匹配。 函数调用通常出现在表达式中,其功能是求得函数的返回值。
例题8-3 计算多边形的面积(见下页)
8.2 Function过程
Private sub form_click()
Dim a!,b!,c!,d!,e!,f!,g!,s1!,s2!,s3!
事件 过程
声明 部分
Sub 过程
Function 过程
8.3 变量、过程的作用域
按过程的作用范围来划分,过程可分为:
窗体/模块级过程:
加Private关键字的过程,只能被定义的窗体或模 块中 的过程调用。
全局级过程
加Public关键字(或缺省)的过程,可供该应用程序的
所有窗体和所有标准模块中的过程调用。
是作用于某个对象的,是VB应用程序的主体。
通用过程和具体的对象没有内在关联,通常又分为下列几种: (1)Sub过程,又叫子过程或子程序,它不返回值。 (2)Function过程,又叫函数过程,它有返回值。
8.1 sub 过 程
1.Sub过程的定义
Sub过程的语法如下:
[ Private | Public ] [ Static] Sub 过程名([参数列表]) [局部变量和常数声明] 语句块 [Exit Sub] 语句块 End Sub 说明:过程是以Sub开头,以End Sub结束的一段程序,在 这两句之间是语句块,称为“过程体”或“子程序体”。
程中有效。在一个窗体中,不同过程中定义的局部变量可以同名。
例:
Private Sub Form_Load() Dim n% n= 10 End Sub Private Sub From_Click() Dim n% Print “n=“;n End Sub
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
内。
第
8.2 子过程
八 章
8.2.4 应用举例
过
【1(例) 8'事.1】件编过写程求,矩当形按面钮积1被的单子击过时程执,行通过调用此子过程来求
程
运窗ww行体!=,程上h1!序不,同分按别钮单'的按击面钮大积宽小。度不可同由的属两性个获按得钮,,单窗位体为显示相应按
钮编h的写=面1:积新,建如工图程8',按-2建钮所立高示二度。个可大由小属不性同获的得按,钮单,位依为次双击这二 个1w按;, h钮,输入代码如下。'调用子过程,实参把宽和高传递给
上面的过程不带参数,当调用该过程时,打印输出“”。
第
8.2 子过程
八
章
8.2.2 定义子过程
过
程
定义子过程有两种方法:
(1)利用代码窗口直接定义
在代码窗口把插入点放在所有过程之外,按照子过程的形式,
直接输入即可。ቤተ መጻሕፍቲ ባይዱ
(2)使用“添加过程”对话框进行定义
第
8.2 子过程
八
章
8.2.2 定义子过程
过 程
第
8.2 子过程的定义与调用
八
章
过
程 子过程是用特定格式组织起来的一组代码,通常用
来完成一个特定的功能,可以被其它过程作为一个
整体来调用。
第
8.2 8.2 子过程的定义与调用
八
章
8.2.1 子过程的形式
过
实例说明:
程
上列[为例((在事子子[形((干变或(((],形s[无如面为"],件过过式个3形:量1245"=参子[[[[))))))局语语参:子“过程程说变式变名x]列过[“[[[部句句过过s语(]+上程的的明量量1[形表]程]=子变序序程程y[句表的,的过形:,名参)x类名过量 列 列]。的序意示为过程式格子1+列型[程或]](名列[义中可y程 名 如 式过形类表]”名常称,],在途选名 可 下 如参程型)是]”数为调变项8退列由 以 : 下与类符的.要定,5用量,出表事对 是 :似]节程遵,义其该名即子件象 一)于]中序守变]有过2此过名 个过变介段标量三[程项程和 任程量类绍,识名个可可。事 意相声型。在符2整以有件 合类明]此[的,型类实可似名 法,编命…的型现无连 的,是写名…形符求。接 标但用语规参]两没而 识又,“句则x数有成符有…,、,。之参。。所…”y实、和数区分现s。的别隔,相过:开语应程的句功称若序能。
参、
'退出子过程,并返回到调用语句之后的
语句继续执行
第
8.2 子过程
八 章
8.2.4 应用举例
【例8.2】编写求N!的子过程,通过调用此子过程来计算5 ! + 8 ! – 6 ! 。
过
编写:新建工程,双击窗体,在的事件列表中选择项,输入代码如下。
程
(, )
'求N!的子过程,被事件过程调用时执行
输入完成后,运行程序。单击窗体,会显示5 ! + 8 ! – 6 ! 的
第
8.1 过程概述
八
章
过
过程是用来执行一个特定任务的一段程序代码。
程
中有两类过程:
(1)由系统提供的内部函数过程和事件过程。
事件过程是构成应用程序的主体。在前面的学习中,我们已经接触
到很多事件过程,如窗体和按钮的事件过程,文本框的事件过程等。
(2)用户根据自己的需要定义、供事件过程多次调用的自定义过程。
Public Sub sum() End Sub 可以在子过程的代码框架中输入语句,以完成相应功能。
第
8.2 子过程
八 章
8.2.3 子过程的调用
过 程
(2)直接使用过程名:
8格举.2式例.3::子过a,过程b,名程c[的实调参列用表]
要调用执方行式一的个说子明过:程,必须先调用该子过程。
每(一1一次)对调“应用实。子参列过表程”都中会的执实行参和必须之与间形的参语保句持。个子数过相程同,以位开置始与,类以型
(6)单击“确定”按钮,完成对子过程的定义。此时,代 码窗口中会自动出现子过程的代码框架。
步骤如下:
(1)切换到代码窗口。 (2)选择“工具”菜单下的“添加过程”命令,弹出“添加 过程”对话框,见图8-1。 (3)在“名称”框中输入过程名。例如图8-1中显示输入的 过程名为“”。
(4)在“类型”组中选取“子程序”。 (过例以程5如下),单代在或击码“选图:范取8-围1“所”私示组有对中的话选框”取的定““义公确一定有个”的局按”部钮定过后义程,一在。个代公码共窗口级中的会全出局现
计pi 算== 11结N果,如图8'用-3循所环示求。出N!,形参N的值由调用语句中的相应实参获
程序设计
第8章 设计和使用子过程 主编:沈祥玖 高等教育出版社
第8章 设计和使用子过程
学习目标:
(1)掌握定义、调用子过程和函数的方法。 (2)理解参数传递中传值和传址的不同含义。了解数组参数 的传递。 (3)知道过程与变量的作用域。 (4)了解键盘和鼠标的各种事件。 (5)能够灵活运用本章所学知识进行程序设计。
内存单元,对形参的操作等同于对实参操作。传值时实参和形参使
(用不1)同使内用存单语元句,:对形参的操作不会对实参产生影响。8.4节中有详
格述。式: 过程名[(实参列表)]
(5)若直接使用过程名调用过程,则过程名后不能加括号,参数直
举接跟例在:过(程a,名b之, c后) 。
(6)用 语句调用过程时,过程名后必须加括号,参数放在括号之
结(2束)。实当参程可以序是遇常到量时、,变将量退、表出达子式过。程,并返回到调用语句之
后((34的))语参调句数用继与子过过续程程执名时行之,。间会用把空实格参隔的开值,传参递数给与形参参数,之称间为用参逗数号传分递隔,。有
子传址过和程传的值调两用种有方两式种。默方认式为:传址方式,此时实参和形参共用一个
形参
(!, !)
'求矩形面积的子过程,被事件过程调用时执
行2() 事件过程,当按钮1被单击时执行
w! !, h!
w== *2 来h2计=; 2算面积
''将 将要 要作 作'形为 为参实 实通参 参过的 的实wh参通通获过过得属属某性性按获获钮得得的高宽宽度度和高,用
w"面, h积为:";
'调用时实参w、h把宽和高传递给形
在程序设计过程中,可以将一些常用的功能编写成自定义过程,供
多个不同的事件过程多次调用;从而减少重复编写代码的工作量,
实现代码重用,使程序简练、便于调试和维护。
自定义过程又分为以下几类:
以“”保留字开始的子过程。
以“”保留字开始的函数过程。
以“”保留字开始的属性过程。
以“”保留字开始的事件过程。
本章主要介绍比较常用的子过程和函数过程。