asp里Sub与Function有什么区别(2)

来源:asp之家 时间:2007-08-17 10:39:00 


    
    
 2. Sub   过程  
   
   
  子过程是在响应事件时执行的代码块。将模块中的代码分成子过程后,在应用程序中查找和修改代码变得更容易了。  
   
  子过程的语法是:   
    

  [Private|Public][Static]Sub   procedurename   (arguments)   
  statements   
    
  End   Sub

   
    
  每次调用过程都会执行   Sub   和   End   Sub   之间的   statements。可以将子过程放入标准模块、类模块和窗体模块中。按照缺省规定,所有模块中的子过程为   Public(公用的),这意味着在应用程序中可随处调用它们。  
   
  过程的   arguments   类似于变量声明,它声明了从调用过程传递进来的值。  
   
  在   Visual   Basic   中应区分通用过程和事件过程这两类子过程。  
   
  通用过程  
  通用过程告诉应用程序如何完成一项指定的任务。一旦确定了通用过程,就必须专由应用程序来调用。反之,直到为响应用户引发的事件或系统引发的事件而调用事件过程时,事件过程通常总是处于空闲状态。  
   
  为什么要建立通用过程呢?理由之一就是,几个不同的事件过程也许要执行同样的动作。将公共语句放入一分离开的过程(通用过程)并由事件过程来调用它,诚为编程上策。这样一来就不必重复代码,也容易维护应用程序。例如,VCR   示例应用程序使用了一个通用过程,几个不同滚动按钮的   Click   事件都调用这个通用过程。Click   事件中的代码调用按钮管理器的子过程,子过程运行自身的代码,然后将控制返回到   Click   事件过程。   
    
  事件过程  
  当   Visual   Basic   中的对象对一个事件的发生作出认定时,便自动用相应于事件的名字调用该事件的过程。因为名字在对象和代码之间建立了联系,所以说事件过程是附加在窗体和控件上的。    
   
  一个控件的事件过程将控件的(在   Name   属性中规定的)实际名字、下划线   (_)   和事件名组合起来。例如,如果希望在单击了一个名为   cmdPlay   的命令按钮之后,这个按钮会调用事件过程,则要使用   cmdPlay_Click   过程。  
   
   
  一个窗体事件过程将词汇   "Form"、下划线和事件名组合起来。如果希望在单击窗体之后,窗体会调用事件过程,则要使用   Form_Click   过程。(和控件一样,窗体也有唯一的名字,但不能在事件过程的名字中使用这些名字。)如果正在使用   MDI   窗体,则事件过程将词汇   "   MDIForm   "   、下划线和事件名组合起来,如   MDIForm_Load。    
  所有的事件过程使用相同的语法。  
   
  控件事件的语法   窗体事件的语法     

  Private   Sub   controlname_eventname   (arguments   )   
  statements     
  End   Sub   
    Private   Sub   Form_eventname   (arguments)   
  statements   
  End   Sub     

    
    
  虽然可以自己编写事件过程,但使用   Visual   Basic   提供的代码过程会更方便,这个过程自动将正确的过程名包括进来。从“对象框”中选择一个对象,从“过程框”中选择一个过程,就可在“代码编辑器”   窗口选择一个模板。  
   
  在开始为控件编写事件过程之前先设置控件的   Name   属性,这不失为一个好主意。如果对控件附加一个过程之后又更改控件的名字,那么也必须更改过程的名字,以符合控件的新名字。否则,Visual   Basic   无法使控件和过程相符。过程名与控件名不符时,过程就成为通用过程。   
   


标签:Sub,Function
0
投稿

猜你喜欢

  • 苹果Macbook Pro13 M1芯片安装Pillow的方法步骤

    2021-01-11 18:23:46
  • Python 序列的方法总结

    2021-12-12 11:14:23
  • openfiledialog读取txt写入数据库示例

    2024-01-16 02:03:35
  • Python爬取视频(其实是一篇福利)过程解析

    2021-09-21 17:52:11
  • 九步学会Python装饰器

    2021-04-05 15:35:07
  • python如何解决指定代码段超时程序卡死

    2023-01-12 04:04:10
  • numpy找出array中的最大值,最小值实例

    2021-11-20 15:42:52
  • 解析Python中的变量、引用、拷贝和作用域的问题

    2023-07-10 16:54:21
  • Go Gin实现文件上传下载的示例代码

    2023-06-21 15:11:13
  • Python中pygame的mouse鼠标事件用法实例

    2021-02-09 12:21:41
  • 浅谈python中的数字类型与处理工具

    2022-02-09 01:07:30
  • 使用Python实现企业微信通知功能案例分析

    2022-12-26 05:03:48
  • python编码最佳实践之总结

    2023-02-07 21:04:44
  • python缩进区别分析

    2022-05-18 00:37:50
  • Python3打包exe代码2种方法实例解析

    2022-03-31 14:36:30
  • 三表左连接查询的sql语句写法

    2024-01-15 01:54:21
  • Python网络编程之ZeroMQ知识总结

    2022-07-06 20:16:25
  • Python使用Beautiful Soup(BS4)库解析HTML和XML

    2023-01-04 18:11:43
  • Python实现扩展内置类型的方法分析

    2021-10-18 02:05:06
  • Python基于随机采样一至性实现拟合椭圆(优化版)

    2021-10-19 15:08:36
  • asp之家 网络编程 m.aspxhome.com