欢迎来到天天文库
浏览记录
ID:14497350
大小:108.00 KB
页数:10页
时间:2018-07-29
《《vb程序设计》第四章第六节 变量和过程的作用范围》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《VB程序设计》第四章第六节 变量和过程的作用范围第六节 变量和过程的作用范围 一、变量的作用范围 变量的作用范围是指变量有效的范围。根据定义变量的位置和定义变量的语句的不同,在VB中变量可以分为过程级变量、模块级变量和全局变量。 1.过程级变量 过程级变量只有在声明它们的过程中才有效,也称为局部变量。用户无法在其他过程中访问或改变该变量的值。用Dim或者Static关键字来声明它们。 语法: Dim变量名As数据类型 Static变量名As数据类型 对任何临时的计算;采用局部变量是最佳选择。例如,有十来个不同的过程,每个过程都包含变量名为i的变量。只要每个i
2、都被声明为局部变量,那么每个过程只识别它自己的变量i,改变它自己的变量i的值,而不会影响别的过程中的变量i。 在Sub过程中显式定义的变量(使用Dim语句)都是局部变量,而没有在过程中显式定义的变量,除非其在该过程外更高级别的位置显式定义过,否则也是局部变量。可以使用OptionExplicit语句来强制显式定义变量。 2.模块级变量 按照默认规定,模块级变量对该模块的所有过程都有效,在模块中的任何过程都可以访问该变量,但其他模块的过程则不可用。可在窗体模块和标准模块顶部用Dim或者Private关键字声明模块级变量。 语法: Dim变量名As数据类型 Priva
3、te变量名As数据类型 通过在代码窗口单击过程列表框的“通用”后,在窗体模块(Form1)中声明模块级变量Temp。 3.全局变量 全局变量的作用范围可以是应用程序的所有过程,也称为公用变量。全局变量可以在模块顶部的声明段用Public关键字声明模块级变量。 语法: Public变量名As数据类型 通过菜单“工程”来添加模块,然后在添加的标准模块(Modulel)的顶部声明全局变量Max。 [例Ex_FormArgu2]在[例ExFormArgu1]人员管理系统中在进入窗体frmSecond后分别计算正式员工或临时员工的平均工资,计算平均工资与[例Ex_Aver
4、Score]中相同。 Frmsecond窗体的运行界面如图4-6-1(b)所示。(a)(b)图4-6-1 标准模块文件Modulel.bas程序代码如下: OptionExplicit Publicsalary1(5)AsSingle,salary2(8)AsSingle PrivateSubfrmselect(fAsForm,cmdcapAsString) '传递窗体参数 f.Caption=cmdcap&"人员管理" EndSub PrivateSublabselect(lAsControl,cmdcapAsString) '传递窗体参数 l
5、.Caption="欢迎进入"&Chr(13)&cmdcap&"人员管理" l.FontSize=16 l.FontBold=True l.Visible=True frmsecond.Show frmfirst.Hide EndSub PrivateSubcmdemployee_click(indexAsInteger) '单击不同按钮 '将按钮的文本传递给frmsecond窗体标题 Callfrmselect(frmsecond,cmdemployee(index).Caption) Calllabselect(frmsecond.
6、Label1,cmdemployee(index).Caption) frmsecond.Show frmfirst.Hide EndSub PrivateSubForm_Load() salary1(0)=1900:salary1(1)=1970:salary1(2)=1915 '设置初始值 salary1(3)=1600:salary1(4)=1655 salary2(0)=2675:salary2(1)=2780:salary2(2)=2715 salary2(3)=2540:salary2(4)=2990:salary2(5)=27
7、70 salary2(6)=2895:salary2(7)=2765 EndSub PrivateFunctionaverage(stuarray()AsSingle,nAsInteger)AsSingle '求平均值 DimiAsInteger DimaverAsSingle,sumAsSingle Fori=1Ton-1 sum=sum+stuarray(i) Next aver=sum/n average=aver EndFunction Priv
此文档下载收益归作者所有