变量与过程的作用范围.ppt

上传人:za****8 文档编号:13201090 上传时间:2020-06-07 格式:PPT 页数:24 大小:323.51KB
返回 下载 相关 举报
变量与过程的作用范围.ppt_第1页
第1页 / 共24页
变量与过程的作用范围.ppt_第2页
第2页 / 共24页
变量与过程的作用范围.ppt_第3页
第3页 / 共24页
点击查看更多>>
资源描述
第8章变量与过程的作用范围,81代码模块的概念82变量的作用范围83过程的作用范围84高级变量85用户定义类型,81代码模块的概念,VB中的程序代码可以存储在三种不同的模块中:一、窗体模块(.Frm)二、标准模块(.Bas)三、类模块(.Cls)在每一种模块中可以定义相应的变量、常量和过程。根据定义位置和方式的不同,这些变量、常量和过程的作用范围也不同。,一、窗体模块(.Frm),每个窗体对应一个窗体模块,保存在扩展名为.Frm的文件中。窗体模块中包含窗体及控件的属性设置、窗体变量的说明、事件过程及通用过程的声明等。1查看窗体模块的内容用任何一种文本编辑器可以打开窗体模块文件(.Frm)进行查看。(写字板),一、窗体模块(.Frm),2添加窗体在“工程”菜单中选择“添加窗体”对话框,或从工具栏中选择相应按钮即可打开添加窗体的对话框。共有10种新建窗体,当然也可从已有的窗体中选择一个添加进来。,某些窗体已有部分代码,用户可以直接使用或稍加修改后使用。,一、窗体模块(.Frm),3选择工程的启动窗体当一个工程中有多个窗体时,可以在“工程”菜单中选择“工程属性”对话框,从“启动对象”列表框中可以选择启动窗体。,二、标准模块(.Bas),简单的应用程序通常只有一个窗体,所有的代码都存放在窗体模块中。对于一个庞大而复杂的工程,往往需要多个窗体,而且某些通用过程在各个窗体模块中可以通用。为了避免代码的重复键入,我们可以将通用代码、全局变量等放在一个公共模块中,此模块就是标准模块。在标准模块中可以定义公用的常量、变量、通用过程等,但不能定义事件过程。,二、标准模块(.Bas),1添加标准模块在“工程”菜单中选择“添加模块”对话框。可以“新建”,也可以从“现存”的模块中选择一个。,2修改模块名称标准模块只有一个“名称”属性,在其中修改即可。虽然保存工程时也可以给模块起名,但这是Bas文件的名字,模块的名称仍然使用的是默认名称Module1、Module2等。,三、类模块(.Cls)*,在“工程”菜单中选择“添加类模块”对话框。可以“新建”,也可以从“现存”的类模块中选择一个。在类模块(Class)中,可以建立新对象,并为新对象设置属性和方法。,案例程序1:模拟安装制作案例程序2:大赛评分程序,81代码模块的概念回顾,一、窗体模块(.Frm)二、标准模块(.Bas)三、类模块(.Cls),82变量的作用范围,一、过程级变量二、模块级变量三、变量的生存期,变量的分类:,按变量的作用范围:局部变量和全局变量。按变量的定义位置:过程级变量和模块级变量。按变量的生存期限:静态变量和动态变量。,一、过程级变量,1.过程级变量:在过程内部定义的变量,其作用域是它所在的过程。可用Dim或Static来定义;用Dim定义的变量,过程每调用一次,变量的存贮单元重新分配一次,而用Static定义的变量其存贮单元在整个程序运行期间都一直存在。从变量的作用范围来看,过程级变量属于局部变量。,2.举例:案例程序3:制作按钮动画,二、模块级变量,在模块的开头部分(通用段)定义的变量,叫做模块级变量。根据其作用范围的不同,又分为:1私有的模块级变量在模块的开头部分用关键字Private或Dim来定义,两者没有什么区别,但Private更好一些。其作用范围是整个模块内部,即在模块内的各个过程都可以使用,其它模块不能使用。2公有的模块级变量在模块的开头部分用关键字Public来定义,其作用范围是所有模块,即整个应用程序。3.举例案例程序4:文字与窗口同变,三、变量的生存期,1动态变量程序进入变量所在的过程时,给变量分配一定的存储单元,一旦程序退出该过程,变量所占有的存储单元自动释放,其值消失。在过程中,用Dim定义的变量就是动态变量。2静态变量在整个程序运行期间,系统分配给变量的存储单元都是固定的,即使程序退出该过程,变量所占有的存储单元也不释放,其值一直存在,下次进入过程时还可以直接引用该值。在过程中,用Static定义的变量就是静态变量。,82变量的作用范围回顾,1.按变量的作用范围:局部变量和全局变量。2.按变量的定义位置:过程级变量和模块级变量。3.按变量的生存期限:静态变量和动态变量。,83过程的作用范围,一、模块级过程在模块内用Private定义的过程,其作用域为本模块。二、全局级过程在模块内用Public(默认)定义的过程,其作用域为整个工程。三、调用其它模块中的过程1调用其它窗体中的过程窗体名过程名2调用标准模块中的过程如果过程名唯一,则可直接调用;如果过程名不唯一,则需指明模块名称。模块名过程名,84高级变量*,一、使用多个同名的变量二、公有变量与局部变量的比较三、阴影窗体属性和控件(屏蔽)四、使用同名的变量和过程,85用户定义类型,一、用户定义类型的概念二、创建用户定义类型三、建立和使用用户定义类型变量四、用户定义类型数组(记录数组)五、程序举例,一、用户定义类型的概念,描写某些事物时(如通讯录等),用单一的基本数据类型往往是不够的;我们希望能将若干种基本类型的数据组合起来,形成一个整体,便于管理和引用。这时就需要我们用户(程序设计者)自己去定义相应的数据类型。自定义类型又叫做记录类型,其成员可以是各种不同的数据类型。记录类型跟数组类型都是将若干个数据组成的整体,但是数组类型中的每一个元素都是同一种类型,而记录类型中的各个成员类型可以不同。数组中的元素用下标来识别,记录中的成员用成员名来识别。,二、创建用户定义类型,1定义格式Private|PublicType类型字段名1As类型名1字段名2As类型名2字段名nAs类型名nEndType,如:PrivateTypeStudentRecStuNumAsString*6NamesAsString*8CreditAsIntegerAvgAsSingleEndType,2说明在窗体模块中定义类型时,只能用Private!在标准模块中定义类型时,可用Public也可用Private!字段名又称为成员名,其命名规则同变量名的命名规则相同。成员的类型可以是任何类型,包括另一种用户定义类型。成员的类型是字符串时,其类型不见到非是定长的!书上有误!但定义成定长比较好!,三、建立和使用用户定义类型变量,1建立用户定义类型变量必须先定义好类型,然后再定义相应的变量。如:有了上面的用户自定义类型后,就可以定义相应的变量:DimA1AsStudentRec,A2AsStudentRec2使用用户定义类型变量例8-7,Page176。,四、用户定义类型数组,1.记录数组如果数组中的元素是记录类型,则这样的数组就叫做用户定义类型数组,简称为记录数组。若要存放50个学生的相关信息,则可定义相应的记录数组:DimStudent(1To50)AsStudentRec2.访问格式访问记录数组时,先得访问数组元素,然后引用其成员。数组名(下标)成员名3.举例Page177,例8-8。,五、程序举例,例8-9:Page178。本例题很好,但程序有很多问题(Bug),请同学们学习过程中多加注意!请参照本人改写的程序!案例程序5:电脑彩票,第8章变量与过程的作用范围回顾,81代码模块的概念82变量的作用范围83过程的作用范围84高级变量85用户定义类型,作业:,1Page180:32Page180:43Page180:5,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!