vb(过程和变量的作用域)
- 格式:ppt
- 大小:285.00 KB
- 文档页数:30
【关键字】作用浅谈VB 6.0中变量、过程的定义、调用及作用域(呼伦贝尔学院信息科学分院,内蒙古海拉尔021008)摘要:在VB6.0这种面向对象的可视化程序设计中,深刻的理解和掌握变量的声明及作用域和过程的定义、调用及作用域极为重要,本文结合实例分别来介绍。
关键词:VB 6.0;变量;过程;作用域;调用中图分类号:TP312 文献标识码:A 文章编号:1007—6921(XX)07—0088—021 变量的声明及作用域1.1 变量的声明变量是程序执行过程中,其值可以改变的量用来存放程序中所需的数据。
它的命名规则是以字母或汉字开头,后可跟汉字、字母、数字或下划线组成,长度小于等于255个字符;不能用VB中的关键字;不区分大小写。
变量的声明分为显式声明和隐式声明(变量声明也称变量定义)。
显式声明格式:Public|Private|Dim|Static 变量名[AS 类型]或Public|Private|Dim|Static变量名类型符。
注:由关键字Static声明的变量为静态变量,其他方式声明的为动态变量。
静态变量的值在整个程序的运行中可以一直保留,而动态变量每次调用过程时都会重新初始化。
隐式声明变量:未进行上述的声明而直接使用,其类型为Variant 类型,赋值后由值的类型决定变量的类型。
建议不使用。
注意:由于VB允许隐式变量的使用,如果同一变量拼写出错,在隐式声明中无法查出,初学者可以在通用声明处加Option Explic语句可强制显式声明变量,要求所有变量必须先声明后使用。
1.2 变量的作用域变量的作用域是指变量的有效作用范围,即变量可以被访问的范围。
VB中变量的作用域分为:局部变量:在过程内用声明的变量,只能在本过程中使用。
窗体/模块级变量:在“通用声明”段中用Dim语句或用Private语句声明的变量,可被本窗体/模块的任何过程访问。
全局变量:在“通用声明”段中用Public语句声明的变量,可被本应用程序的任何过程或函数访问。
教案讲稿第八章过程[旧课复习]:复习内容: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变量一、不指定变量类型,直接使用,如Private Sub Form_Load()a = 2b = 3c = a + bMsgBox cEnd Sub这时的变量类型是variant(变体型),由vb自动指定数据类型和进行类型转换如果指定变量类型,用dim进行声明,如Private Sub Form_Load()Dim a As Integer, b As Integer, c As Integera = 2b = 3c = a + bMsgBox cEnd Sub如果我们不对变量声明而是直接使用,如果拼错变量名的时候,vb就会自动创建一个新的变量。
为了防止这种情况的发生,vb提供了option explicit语句,就必须使用dim声明所有的变量。
Option explicit这一语句要写在声明段中,而不是写在过程中,如使用了option explicit语句,当未声明变量时,vb会弹出错误警告,如二、变量的作用域1、局部变量局部变量在过程内部定义,用dim或者是private定义,本模块的其他过程和其他模块的过程不能访问,只能应用在本过程中。
如单击command1按钮时的运行效果,i的值是8,此变量在本过程中被访问执行单击command2按纽时的运行效果,i的值是空,说明i是command2_click()事件过程中的值,而不能访问command1_click(),这两个i是不同的i,所以在不同的过程中可以声明相同名字的局部变量,它们各自独立互不干扰2、模块级变量模块级的变量在通用段处声明,用dim或者是private进行定义,不管是在窗体模块form中,还是在标准模块module中,对于本模块中的所有过程都有效。
下面的例子,首先设置程序的入口为sub main(),执行时module1中的i的值是0,而form1中的i的值都是8,说明模块级的私有变量仅在本模块中使用,对于其他模块不可用3、全局变量全局变量用public进行定义,所有模块都可以访问。
关于在VB中变量的作用域及生命周期近日,连续碰到好几个朋友,询问有关VB中变量的声明以及作用域的问题,结合自己的理解和经验,写一篇文章,仅供参考,不当之处请指正。
一.VB应用程序的组成:为了了解变量的作用域,有必要回顾,在一个完整的VB工程项目中,包括了哪些组成部分?通常一个完整的VB程序里,会包括:窗体模块(.Frm文件)、标准模块(.Bas文件)和类模块(.Cls文件),见下图:根据变量的作用范围(作用域)可分为3个层次:局部变量(私有变量)、模块级变量和全局变量(公共变量)。
下面来详细说明三种变量的作用范围及使用规则。
二.局部变量:1.局部变量的作用域:顾名思义,就是只能在局部范围内被程序代码识别和访问的变量。
这类变量就是在过程(或函数)里,用Dim关键字进行声明的变量。
例如:在窗体上添加一个按钮,单击按钮,完成的功能是:输入2个数,计算并输出它们的和。
完整的代码如下:Option ExplicitPrivate Sub Command1_Click()Dim x As Single ‘声明局部变量Dim y As Single ‘声明局部变量Dim R As Single ‘声明局部变量x = Val(InputBox("请输入第1个加数:"))y = Val(InputBox("请输入第2个加数:"))R = x + yEnd Sub这里,是在按钮Command1的单击事件过程Click()里编写代码,用Dim声明了三个变量x、y、R,它们就属于局部变量。
它们只能被这个过程访问使用。
其它的过程里访问不到它们,甚至在一个程序的任何其它地方都访问不到它们。
这就是局部变量的作用域。
而且,这些变量只有在该过程的执行阶段才会存在,也就是说当系统执行这一段代码的时候:从Private Sub Command1_Click()进入过程的时候起,这3个变量才是存在的,当执行结束,从End Sub退出这段代码后,这些变量就消失了,这就是所谓的变量的生命周期。