教学材料《VB导论》_第6章.pptVIP

  • 0
  • 0
  • 约9.21千字
  • 约 47页
  • 2026-01-21 发布于广东
  • 举报

6.5变量和过程的作用域2.窗体/模块级变量窗体/模块级变量指在“通用声明”段中用Dim语句或Private语句声明的变量,它可被所在窗体/模块内的任何过程访问。3.全局变量全局变量指在“通用声明”段中用Public语句声明的变量,它可被所在工程内的任何过程或函数访问。全局变量的值在整个工程中始终不会消失和重新初始化。不同作用范围的3种变量声明及使用规则如表6-3所示。上一页下一页返回6.5变量和过程的作用域6.5.3静态变量局部变量声明除了可用Dim语句声明外,还可用Static语句将变量声明为静态变量。其区别在于:(1)Dim声明:随过程的调用而分配存储单元并对其初始化,过程调用结束,变量的内容自动消失,存储单元释放。(2)Static声明:首次被调用分配存储单元并对其初始化,过程调用结束,分配的存储单元不释放,变量的内容继续保留作为下次调用时的初值,直到工程结束。上一页下一页返回6.5变量和过程的作用域声明形式:Static变量名[AS类型]{Private|Public}StaticFunction函数过程名([参数列表])[As类型]{Private|Public}StaticSub子过程名[(参数列表)]在过程名前加Static,表示该过程内的局部变量都是静态变量。例如,分析下列程序的执行结果:OptionExplicitPrivateSubCommand1_Click()上一页下一页返回6.5变量和过程的作用域DimKAsIntegerK=5CallStatic_Variable(K)Debug.Print"第一次调用:K=";KK=5CallStatic_Variable(K)Debug.Print"第二次调用:K=";KEndSubPrivateSubStatic_Variable(ByRefNAsInteger)上一页下一页返回6.5变量和过程的作用域StaticStaAsInteger′改成Dim之后的结果又如何呢?Sta=N+StaN=Sta+NEndSub分析:过程Variable中Sta是静态变量,保留上次的值,形参N和实参K传地址,形参变则实参变。结果:第一次调用:K=10;第二次调用:K=15。上一页返回6.6递归6.6.1递归的概念用自身的结构来描述自身称为“递归”,例如:n!=n?(n-1)!;(n-1)!=(n-1)?(n-2)!;sum(10)=10?sum(9),sum(9)=9?sum(8)6.6.2递归子过程和递归函数VisualBasic允许一个自定义子过程或函数过程在过程体的内部调用自己,这样的子过程或函数称为递归子过程或递归函数。返回6.7常用算法6.7.1数制转换【例6-7】将一个十进制整数m转换成r(2~16)进制字符串,如图6-5所示。方法:将m不断除r取余数,直到商为零,以反序得到结果。6.7.2加密和解密【例6-8】对一串字符串加密,如图6-6所示。分析,简单加密的思想是,将每个字母C加一序数K,式子C=Chr(Asc(C)+K)。例如序数K为5,这时“A”转换成“F”,“a”转换成“f”,“B”转换成“G”,当加序数后的字母超过“Z”或“z”时,则C=Chr(Asc(C)+K-26)。解密为加密的逆过程。返回图6-1返回图6-2返回图6-3返回图6-4返回表6-1返回表6-2返回表6-3返回图6-5返回图6-6返回6.1子过程的定义与调用将程序分割成较小的逻辑部件可以简化程序设计任务,这些部件就叫过程。利用过程进行编程的两大好处是:过程可以使程序被划分成离散的逻辑单元,每个单元都比无过程的程序容易调试;一个程序中的过程往往只要稍作修改,便可以成为另一个程序的过程,可移植性好。在VisualBasic6.0中过程可分为以下几种:(1)以“Sub”保留字开始的称为子过程;(2)以“Function”保留字开始的称为函数过程;(3)以“Property”保留字开始的称为属性过程;(4)以

文档评论(0)

1亿VIP精品文档

相关文档