精华内容
下载资源
问答
  • 6. VB的过程

    2013-08-12 12:27:00
    一: 过程设计及子过程(Sub) 1. 什么是过程 在程序设计中, 各个相对独立的功能模块所编写的一段... (2)“Function”保留字开始的函数过程, 返回一个值。 (3)“Property”保留字开始的属性过程,...

    一: 过程设计及子过程(Sub)

    1. 什么是过程

        在程序设计中, 为各个相对独立的功能模块所编写的一段程序称之为过程。

     

    2. VB中的自定义过程分类

        (1)以“Sub”保留字开始的子程序过程(包括事件调用和通用过程), 不返回值。

        (2)以“Function”保留字开始的函数过程, 返回一个值。

        (3)以“Property”保留字开始的属性过程, 可以返回设置窗体, 标准模块以及类模块的属性值, 也可以设置对象的值。

      

    3. 事件过程

        (1)窗体事件过程

                语法: Private Sub Form_事件名([参数列表])

                【局部变量和常数声明】

                语句块

                 End Sub

                注意:

                    1)窗体事件过程名由Form_事件名组成, 多文档窗体用MDIForm_事件名;

                    2)每个窗体事件过程名之前都有一个Private的前缀, 表示该事件过程不能在它自己的窗体模块之外被调用;

                    3)事件过程有无参数, 完全由VB提供的具体事件本身决定, 用户不可以随便添加。

        (2)控件事件过程

                语法: Private Sub 控件名_事件名([参数列表])

                【局部变量和常数声明】

                  语句块

                  End Sub

                注意:

                       其中的控件名必须与窗体中的某控件相匹配, 否则VB认为它是一个通用过程。

        (3)建立事件过程的方法

     

                 1)打开代码编辑器窗口(两种方法: 双击对象或从工程管理器中单击“查看代码按钮”)。

                2)在代码编辑器窗口中, 选择需要的“对象”和“事件过程”。

                3)在Private Sub ... End Sub间加入代码。

                4) 保存工程和窗体。

        (4)事件过程的调用

                事件由一个发生在VB中的事件来自动调用或者由同一模块中的其他过程显示调用。

             

    二: 通用过程

        通用过程是一个必须从另一个过程显示调用的程序段, 通用过程有助于将复杂的应用程序分解成多个易于管理的逻辑单元, 使应用程序更简洁, 更易于维护。

        通用过程分为Public和Private过程两种, 公有过程可以被应用程序中的任一过程调用, 而私有过程只能被统一模块中的过程调用。

     

    1. 定义方法

        [Private|Public] [Static] Sub 过程名 ([参数列表])

        [局部变量和常数声明] 用 Dim 或 Static 声明

        语句块

        [Exit Sub]

        语句块

        End Sub

        注意:

             1) 缺省public|private时, 系统默认为Public。

            2)Static 表示过程中的局部变量为“静态”变量。

            3)过程名的命名规则与变量命名规则相同, 在同一个模块中, 同一符号不得既用作Sub的过程名, 又用作Function的过程名。

            4)参数列表中的参数称为形式参数, 它可以是变量名或数组名, 只能是简单变量, 不能是常量, 数组元素, 表达式;

                若有多个参数时, 各参数之间用逗号分隔, 形参没有具体的值。

                VB的过程可以没有具体参数, 但一对圆括号不可以省略。

                不含参数的过程称为无参过程。

            5)Sub过程不能嵌套定义, 但可以嵌套调用。

            6) End Sub标识该过程的结束, 系统返回并调用该过程的下一条语句。

            7)过程中可以用Exit Sub提前结束过程, 并返回到调用该过程语句的下一条语句。

           

    2. 建立Sub过程的方法

        方法一:

            1)打开代码编辑器窗口

            2) 选择“工具”菜单中的“添加过程”

            3) 从对话框中输入过程名, 并选择类型和范围。

            4) 在新创建的过程中输入代码。

     

    3. Sub子过程的调用

        (1)用Call语句调用Sub过程。

                语法: Call 过程名(实在参数表)

                实在参数的个数, 顺序和类型, 应该与被调用过程的形式参数想匹配, 有多个参数时, 用逗号分隔。

        (2)把过程名作为一个语句来调用

                语法: 过程名[]

                与(1)不同的是, 去掉了关键字和实参列表的括号

                如 area a,b,c,w。

     

    三: 参数的传递

    1. 形参与实参的传递

        形参可以是

        (1)除定长字符串变量之外的合法变量名

        (2)后面根()括号的数组名。

    2. 按值传递参数(定义时加ByVal)

    3. 按地址传递参数(定义时没有修饰词或带关键字ByRef)

    4. 数组参数

        形参数组只能按地址传递参数。

    5. 对象参数

        VB中可以向过程传递对象, 在形参表中, 把形参变量的类型声明为“Control”, 可以向过程传递控件; 若声明为“Form”, 则可向过程传递窗体。 对象的传递只能按地址传递。

     

    四: 变量, 过程, 作用域

    1. VB应用程序的组成

    2. 过程的作用域

    3. 变量的作用域

        P44。

     

    五: 递归过程

    转载于:https://www.cnblogs.com/gavinwu/p/3252679.html

    展开全文
  • 第六章 VB的过程设计

    2007-11-23 16:16:00
    第六章 VB的过程设计 1.什么是过程  在程序设计中,各个相对独立的功能模块所编写的一段程序称之过程。...(1)“Sub”保留字开始的子程序过程 (包括事件...(2)“Function” 保留字开始的函数过程...
    轉自:http://wwww.hyit.edu.cn/edu/vb/study/index.htm

    第六章 VB的过程设计

    1.什么是过程

        在程序设计中,为各个相对独立的功能模块所编写的一段程序称之为过程。

    2VB中的自定义过程分类

    (1)以“Sub”保留字开始的子程序过程 (包括事件过程和通用过程),不返回值;

    (2)
    以“Function 保留字开始的函数过程,返回一个值;

    (3)
    以“Property 保留字开始的属性过程,可以返回和设置窗体、标准模块以及类模块的属性值,也可以设置对象的值。

    6.1 子过程(Sub)的定义与调用

    1. 事件过程

    (1)窗体事件过程

       语法Private  Sub Form_事件名[参数列表]

           [
    局部变量和常数声明]

          
    语句块

         
    End Sub

       
    注意

         
    1窗体事件过程名由Form_事件名组成,多文档窗体用MDIForm_事件名;

         
    2)每个窗体事件过程名前都有一个Private的前缀,表示该事件过程不能在它自己的窗体模块之外被调用;

         
    3)事件过程有无参数,完全由VB提供的具体事件本身决定,用户不可以随意添加。

    (2)控件事件过程

       语法Private  Sub 控件名_事件名[参数列表]

           [
    局部变量和常数声明]

           
    语句块

         
    End Sub 

       注意
    :其中的控件名必须与窗体中某控件相匹配,否则VB将认为它是一个通用过程。

    (3)建立事件过程的方法

      1)打开代码编辑器窗口(两种方法:双击对象或从工程管理器中单击“查看代码”按钮)

      2)在代码编辑器窗口中,选择所需要的“对象”和“事件过程”

      
    3)Private Sub …… End Sub之间键入代码

      4)保存工程和窗体

    4)事件过程的调用

      事件过程由一个发生在VB中的事件来自动调用或者由同一模块中的其他过程显示调用。

    2.通用过程

      通用过程是一个必须从另一个过程显示调用的程序段,通用过程有助于将复杂的应用程序分解成多个易于管理的逻辑单元,使应用程序更简洁、更易于维护。

      通用过程分为公有(Public)过程私有( Private)过程两种,公有过程可以被应用程序中的任一过程调用,而私有过程只能被同一模块中的过程调用。

      1定义方法:

         [ Private | Public ]  [ StaticSub 过程名[参数列表]

          [
    局部变量和常数声明]     ‘用Dim Static声明

          
    语句块

       
    [Exit Sub]

          
    语句块

       
    End Sub

        注意:

      
    1)缺省[ Private | Public ]时,系统默认为 Public

      
    2Static 表示过程中的局部变量为“静态”变量;

      
    3)过程名的命名规则与变量命名规则相同,在同一个模块中,同一符号名不得既用作Sub过程名,又用作Function过程名。

      
    4)参数列表中的参数称为形式参数,它可以是变量名或数组名,只能是简单变量,不能是常量、数组元素、表达式;若有多个参数时,各参数之间用逗号分隔,形参没有具体的值。VB的过程可以没有参数,但一对圆括号不可以省略。不含参数的过程称为无参过程。

         形参格式为:

            [ ByVal ]
    变量名[()] [As  数据类型]

      
    式中:

      
    变量名[()]:变量名为合法的VB变量名或数组名,无括号表示变量,有括号表示数组。

      
    ByVal :表明其后的形参是按值传递参数(传值参数 Passed By Value),若缺省或用ByRef,则表明参数是按地址传递的(传址参数)或称“引用”(Passed By Reference)。

       As:
      数据类型:缺省表明该形参是变体型变量,若形参变量的类型声明为String,则只能是不定长的。而在调用该过程时,对应的实在参数可以是定长的字符串或字符串数组,若形参是数组则无限制。

      5)Sub 过程不能嵌套定义,但可以嵌套调用。

      6)  End Sub 标志该过程的结束,系统返回并调用该过程语句的下一条语句。

      7) 过程中可以用Exit Sub提前结束过程,并返回到下调用该过程语句的下一条语句。

     2)建立Sub过程的方法

      方法一:

      1)打开代码编辑器窗口

      2)选择“工具”菜单中的“添加过程”

      3)从对话框中输入过程名,并选择类型和范围

      
    4)在新创建的过程中输入内容

      方法二:

       1)在代码编辑器窗口的对象中选择“通用”,在文本编辑区输入 Private Sub 过程名

       2)按回车键,即可创建一个Sub过程样板

       3)在新创建的过程中输入内容

    3.Sub子过程的调用

     (1) Call语句调用Sub过程

          语法:Call 过程名实在参数表

        
    实在参数的个数、类型和顺序,应该与被调用过程的形式参数相匹配,有多个参数时,用逗号分隔。

        
    例:利用过程编写求三角形面积的程序


     (2)把过程名作为一个语句来用

       语法:过程名 [实参1[,实参2……]]

       它与(1)的不同点是:去掉了关键字和实参列表的括号

      
    如上例中可以改成:area a,b,c,w

    6.2 函数过程(Function)的定义与调用

    1.函数过程的定义

      有两种方法:

     (1) 在代码窗口中,利用“工具”菜单下的“添加过程”命令,插入一个函数过程模板来定义

     
    (2)在代码窗口中,把插入点放在所有现有过程之外,直接输入函数来定义

       [ Private | Public ]  [ StaticFunction
    函数名[参数列表][As 数据类型]

        [
    局部变量和常数声明]     ‘用Dim Static声明

       
    [
    语句块 ]

        [
    函数名=表达式 ]

        [
    Exit Function]

        
    语句块

        [
    函数名=表达式 ]

       
    End Function

    2.注意事项

     (1)   函数名的命名规则与变量命名规则相同;函数过程必须由函数名返回一个值。

     
    (2) 如果函数体内没有给函数名赋值,则返回对应类型的缺省值,数值型返回0,字符型返回空字符串。

     
    (3) 函数过程内部不得再定义Sub过程或Function过程。
       
    例:编写一个计算N!的函数过程

    3.Function过程的调用

      调用Function过程与调用VB内部函数的方法一样,即在表达式中写出它的名称和相应的实在参数。

     
    语法:    过程名[实参列表]
     

      注意:(
    1)必须给参数加上括号,即使没有参数也不可省略括号;

        
    2VB中也允许象调用Sub过程一样来调用Function,但这样就没有返回值。

    4.调用其他模块中的过程

     (1)调用窗体中的过程

      
     从窗体模块的外部调用窗体中的公有过程,必须用窗体的名字作为调用前缀。如:

      
     
    Call  Form1.Examsub([实参表])

     (2)调用标准模块中的过程

       
    如果在应用程序中,过程名是唯一的,则调用时不必加模块名。如果有同名的,则在同一模块内调用时可以不加模块名,而在其他模块中调用时必须加模块名。

     (3)类模块中的过程

       
    调用类模块的公有过程时,要求用指向该类某一实例的变量修饰过程,即首先要声明类的实例为对象变量,并以此变量作为过程名前缀修饰词,不可直接用类名作为前缀修饰词。

       如:在类模块Class1中含有过程clssub,变量Democlass是类Class1的一个实例,则调用clssub的方法是:

         Dim  Democlass AS New Class1

         Call  Democlass.clasub

     
    例:函数过程子过程的异同,计算级数的部分和

      1 + x + x2/2! +……+ xn/n! +……, |xn/n!|<exp



    6.3 参数的传递

    1.形参与实参的概念

      形参:指出现在Sub Function过程形参表中的变量名、数组名,过程被调用前,没有分配内存,其作用是说明自变量的类型和形态以及在过程中的角色。形参可以是:

      1)除定长字符串变量之外的合法变量名;

      2)后面跟()括号的数组名。

      实参:是在调用Sub Function过程时,传送给相应过程的变量名、数组名、常数或表达式。在过程调用传递参数时,形参与实参是按位置结合的,形参表和实参表中对应的变量名可以不必相同,但位置必须对应起来。

         形参与实参的关系:形参如同公式中的符号,实参就是符号具体的值;调用过程:即实现形参与实参的结合,也就是把值代入公式进行计算。

    2. 按值传递参数(定义时加ByVal

      按值传递参数(Passed By Value)时,是将实参变量的值复制一个到临时存储单元中,如果在调用过程中改变了形参的值,不会影响实参变量本身,即实参变量保持调用前的值不变。

    3.按地址传递参数(定义时没有修饰词或带关键字ByRef

      按地址传递参数时,把实参变量的地址传送给被调用过程,形参和实参共用内存的同一地址。在被调用过程中,形参的值一旦改变,相应实参的值也跟着改变。如果实参是一个常数或表达式,VB会按“传值”方式来处理。

    4.数组参数

       VB允许把数组作为形参出现在形参表中,语法: 形参数组名() [As 数据类型]

        形参数组只能按地址传递参数,对应的实参也必须是数组,且数据类型相同。调用过程时,把要传递的数组名放在实参表中,数组名后面不跟圆括号。在过程中不可以用Dim语句对形参数组进行声明,否则会产生“重复声明”的错误。但在使用动态数组时,可以用ReDim语句改变形参数组的维界,重新定义数组的大小。

    5. 对象参数

      VB中可以向过程传递对象,在形参表中,把形参变量的类型声明为“Control”,可以向过程传递控件;若声明为“Form”,则可向过程传递窗体。对象的传递只能按地址传递。

    6.4  变量、过程的作用域

    1. VB应用程序的组成:

    2. 过程的作用域

    作用范围

    模块级

    全局级

    窗体

    标准模块

    窗体

    标准模块

    定义方式

    过程名前加Private

    例:Private Sub my1(形参表)

    过程名前加Pubilc 或默认

    例:[ Pubilc ] Sub my2(形参表)

    能否被本模块其他过程调用

    能否被本应用程序其他模块调用

    不能

    不能

    能,但必须在过程名前加窗体名。例:

    Call 窗体名. My1(实参表)

    能,但过程名必须唯一,否则需要加标准模块名。例:

    Call 标准模块名.My2(实参表)

    3. 变量的作用域

    作用范围

    局部变量

    窗体/模块级变量

    全局变量

         

    窗体

    标准模块

    声明方式

    DimStatic

    DimPrivate

    Public

    声明位置

    在过程中

    窗体/模块的“通用声明”段

    窗体/模块的“通用声明”段

    能否被本模块其他过程存取

    不能

    能否被其他模块存取

    不能

    不能

    能,但在变量名前加窗体名

    4.静态变量

      Static声明的静态变量,在每次调用过程时保持原来的值,不重新初始化。而用Dim声明的变量,每次调用过程时,重新初始化

      
    例:显示15个数。

    5.同名变量

      对不同范围内出现的同名变量,可以用模块名加以区别。一般情况下,当变量名相同而作用域不同时,优先访问局限性大的变量。

    6.5   递归过程

    1.递归的概念

      通俗的讲,用自身的结构来描述自身就称为“递归”。如对阶乘运算的定义就是递归的:

      
    n!=n(n-1)!     (n-1)!=(n-1)(n-2)!

    2.递归子过程和递归函数

        VB 允许一个自定义子过程或函数过程在过程体的内部调用自己,这样的子过程或函数就叫递归子过程和递归函数。递归过程包含了递推和回归两个过程。构成递归的条件是:

     1)递归结束条件和结束时的值

     
    2)能用递归形式表示,并且递归向结束条件发展。

     
    例:编制程序求facn=n!的函数

    3.注意事项

     (1)递归算法设计简单,但消耗的上机时间和占据的内存空间比非递归大

     
    (2) 设计一个正确的递归过程或函数过程必须具备两点:1)具备递归条件;2)具备递归结束条件

     
    (3) 一般而言,递归函数过程对于计算阶乘、级数、指数运算有特殊效果。

    展开全文
  • 不同编译器给出不同的i值,有的为3,有的为4,哪个是正确的? *3.4 有这样一个巧妙的表达式:a^=b^=a^=b;它不需要临时变量就可以交换a和b的值。 3.5 可否用显式括号来强制执行我所需要的计算顺序并控制相关的副...
  • 不同编译器给出不同的i值,有的为3,有的为4,哪个是正确的? 63 *3.4 有这样一个巧妙的表达式:a^= b^= a^= b; 它不需要临时变量就可以交换a和b的值。 63 3.5 可否用显式括号来强制执行我所需要的计算顺序并控制...
  • 《你必须知道495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    《你必须知道495个C语言问题》问答形式组织内容,讨论了学习或使用C语言的过程中经常遇到一些问题。书中列出了C用户经常问400多个经典问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预...
  • 不同编译器给出不同的i值,有的为3,有的为4,哪个是正确的? 34  *3.4 有这样一个巧妙的表达式:a^= b^= a^= b; 它不需要临时变量就可以交换a和b的值。 34 3.5 可否用显式括号来强制执行我所需要的计算顺序并...
  • 这个自己构造 Matrix 类型必须实现一系列操作运算符重载以及提供大量实现函数,这是一个极度复杂的过程,在此不作一一论述。整个 Matrix 类型结构可以大致设计如下,此处仅作参考,不必雷同: // 数据类型...
  • 默认参数使函数能够自动为函数调 用中省略函数参数提供值。函数重载使程序员能够创建多个参数列表不同同名函数。类设计中经常使 用这些特性。另外,读者还将学习函数模板,它们使程序员能够指定相关函数族...
  • 默认参数使函数能够自动为函数调 用中省略函数参数提供值。函数重载使程序员能够创建多个参数列表不同同名函数。类设计中经常使 用这些特性。另外,读者还将学习函数模板,它们使程序员能够指定相关函数族...
  • 默认参数使函数能够自动为函数调 用中省略函数参数提供值。函数重载使程序员能够创建多个参数列表不同同名函数。类设计中经常使 用这些特性。另外,读者还将学习函数模板,它们使程序员能够指定相关函数族...
  • 其中最上面的为菜单栏。 2.我们在Type Here 那里双击,并输入“文件(&F)”,这样便可将其文件菜单的 快捷键设为Alt+F。(注意括号最好用英文半角输入,这样看着美观) 3.输入完按下Enter 键确认即可,然后在子菜单中...
  • 不同编译器给出不同的i值,有的为3,有的为4,哪个是正确的? 3.4 有这样一个巧妙的表达式:a^= b^= a^= b; 它不需要临时变量就可以交换a和b的值。 3.5 可否用显式括号来强制执行我所需要的计算顺序并控制相关的副...
  • 不同编译器给出不同的i值,有的为3,有的为4,哪个是正确的? 3.4 有这样一个巧妙的表达式:a^= b^= a^= b; 它不需要临时变量就可以交换a和b的值。 3.5 可否用显式括号来强制执行我所需要的计算顺序并控制相关的副...
  • 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档内容和纸质论文内容相一致。除在保密期内保密论文和在...
  • 引用类型和原始类型具有不同特征和用法,它们包括:大小和速度问题,这种类型哪种类型数据结构存储,当引用类型和原始类型用作某个类实例数据时所指定缺省值。对象引用实例变量缺省值 null,而原始...
  • 当次数等于0时候,在下一个数字时候重新复制新数字以及出现次数置1,直到进行到最后,然后再验证最后留下数字是否出现次数超过一半,因为可能前面次数依次抵消掉,最后一个数字就直接是保留下来数字...
  • 把此值传给函数s时,形参 n 初值也100,在执行函数过程中,形参n值变为5050。 返回主函数之后,输出实参n值仍100。可见实参值不随形参变化而变化。 二、函数值  函数值是指函数被调用之后, ...
  • 到此处的过程为:根域服务器(.) -> 顶级域名服务器(eg: .com,.org)-> 主域名服务器(eg: google.com) 如果域名正常,应该就会返回 IP 地址ÿ...
  • 非常适用于作为高年级本科生和一年级研究生开设重点讲授绘制技术计算机图形学课程教科书。 目录 封面 -32 封底 -31 扉页 -30 版权 -29 插图 -28 出版者话 -12 译者序 -9 序 -8 第1版序 -6 目录 -4 第1...
  • 你必须知道495个C语言问题(PDF)

    热门讨论 2009-09-15 10:25:47
    不同编译器给出不同的结果, 有的为 3, 有的为4, 哪个是正确的? . . . . . . . . . . . . . . . . . . . . . 14 3.4 这是个巧妙的表达式: a ˆ= b ˆ= a ˆ= b 它不需要临时变量就可 交换a 和b 的值。. . . . . ....
  • (9)编写一个函数void fun(char a[],int k,int n),其功能是:删除字符串中指定下标开始的n 个字符。其中,a中放字符串,k中存放指定的下标。 例如,字符串内容:Hellollo World!,k中值:5,n中的值:3,则...
  • EXCEL集成工具箱V6.0

    2010-09-11 01:44:37
    完 美 背 景 着 色 【选区背景】 默认启动智能着色方式,此功能会清除一部分背景颜色,但对工作表中条件格式会作完全保留,丝毫没有影响。最大特点是支持屏幕行列捲轴操作而不影响显示。 【选区背景选择】 ...
  • 【选区背景】 默认启动智能着色方式,此功能会清除一部分背景颜色,但对工作表中条件格式会作完全保留,丝毫没有影响。最大特点是支持屏幕行列捲轴操作而不影响显示。 【选区背景选择】 进行着色功能切换,...
  • 【转置选区值】 将选中存储格区域内容自动识别行转置列与列转置行,支持多行多列相互转置并且能保留转置前多样格式。 【数字符分离】 将存储格内容按需求进行字符分离与表达式计算。(1-只保留数字. 2-只...
  • 保留字的清单参见附录 语言功能及语句 语言是一种介于关系代数与关系演算之间语言,其功能主要包括数据定义、查询 操纵和控制四个方面,通过各种不同语句米实现。按照所实现功能, 语句分 以下几种 ...
  • javascript入门笔记

    2018-05-15 15:01:07
    Javascript Basic 1、Javascript 概述(了解) ... 调用函数时,所传递参数列表,称之"实参(实际参数)" 3、练习 1、定义一个函数 change ,该函数中接收两个参数(a,b) 2、在函数体中,如果 a 大于 b话...
  • 完 美 背 景 着 色 【选区背景】 默认启动智能着色方式,此功能会清除一部分背景颜色,但对工作表中条件格式会作完全保留,丝毫没有影响。最大特点是支持屏幕行列捲轴操作而不影响显示。 【选区背景选择】 ...
  •  关键字是由C语言规定具有特定意义字符串,通常也称为保留字。用户定义标识符不应与关键字相同。C语言关键字分为以下几类: (1)类型说明符 用于定义、说明变量、函数或其它数据结构类型。如前面例题...

空空如也

空空如也

1 2 3 4 5
收藏数 83
精华内容 33
关键字:

以保留字开始的为函数过程