第六章过程5学时内容摘要:

832iibt调用: Sub Command1_Click() Dim a%(1 To 5), b%(3 To 8) … t1 = tim(a()) t2 = tim(b()) Print t1, t2 End Sub 使用过程注意事项: 1. 确定自定义的过程是子过程还是函数过程 函数过程名有值,子过程名无值。 2.过程中形参的个数和传递方式的确定 过程中参数的作用是实现过程与调用者的数据通信。 (1)从主调程序获得初值,值传递。 (2)将结果返回给主调程序,地址传递。 3. 实参与形参结合时对应问题 个数、类型、位置、次序一一对应。 形参是值传递,对应实参可以是表达式、常量、数组元素。 形参是地址传递,对应实参只能是简单变量。 数组、记录类型、对象只能是地址传递。 实验 1. 函数过程,形参一个,值传递对所判断的数字;函数名是否为回文数。 Function IsH(ByVal ss As String) As Boolean 2. 子过程,形参两个,值传递对所判断的数字,地址传递是否位回文数。 Sub hui(ByVal ss As String, Tag As Boolean) 实验 DeleStr(s1, s2)形参的确定 s1,要处理的字符串,从主调程序得初值,删除子串后结果在 S1中,所以地址传递。 s2删除的子串,值传递。 实验 MaxLength(s)形参的确定 S要处理的字符串,值传递。 MaxLength函数名,最长的单词长度。 四、 变量、过程的作用域 作用域: 变量、过程随所处的位置不同,可被访问的范围。 窗体 /模块级 :加 Private关键字的过程,只能被定义的窗体或模块中的过程调用。 全局级 :加 Public关键字(缺省)的过程,可供该应用程序的所有 窗体和所有标准模块中的过程调用。 2. 变量的作用域 局部变量 :在过程内用声明的变量,只能在本过程中使用。 窗体 /模块级变量 :在“通用声明”段中用 Dim语句或用 Private语句声明的变量 ,可被本窗体 /模块的任何过程访问。 全局变量 :在 “通用声明”段中用 Public语句声明的变量,可被本应用程序的任何过程或函数访问。 例如在下面一个标准模块文件中不同级的变量声明: Public Pa As integer 39。 全局变量 Private Mb As string *10 39。 窗体 /模块级变量 Sub F1( ) Dim Fa As integer 39。 局部变量 … End Sub Sub F2( ) Dim Fb As Single 39。 局部变量 … End Sub 若在不同级声明相同的变量名 ,系统按局部、窗体 /模块、全局次序访问如 : Public Temp As integer 39。 全局变量 Sub Form_Load() Dim Temp As Integer 39。 局部变量 Temp=10 39。 访问局部变量 =20 39。 访问全局变量必须加窗体名 Print , Temp 39。 显示 20 10 End Sub 3. 静态变量 局部变量声明: Dim声明 ,随过程的调用而分配存贮单元,变量的初始化;过程体结束,变量的内容自动消失,存贮单元释放。 Static声明 ,每次调用过程,变量保持原来的值。 声明形式 : Static 变量名 [AS 类型 ] Static Function 函数过程名 ([参数列表 ]) [As 类型 ] Static Sub 子过程名 [(参数列表 )] 过程名前加 Static,表示该过程内的局部变量都是静态变量。 例 Private Sub Form_Click() Dim i% , isum% For i = 1 To 5 isum = sum(i) Print isum, Next i End Sub Private Function sum(n As Integer) Dim j As Integer j = j + n sum = j End Function Static j As Integer,结果。 1, 2, 3, 4, 5 Sub f1(x) … x=f2(xx)*3… End Sub Sub Command1_Click() …… Call f1(y) End Sub Function f2(x) …… f2=f3(x)+3 End Sub Function f3(x) …… f3=x*x End Sub Sub f1(x) … Call f1(y) End Sub 过程。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。