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 无法使控件和过程相符。过程名与控件名不符时,过程就成为通用过程。


猜你喜欢
- 博主做过比较多项目的archive脚本编写,对于这种删除数据的脚本开发,肯定是一开始的话用最简单的一个delete语句,然后由于部分表数据量
- 前一段时间完成了一个数据可视化项目,由后台NodeJS+Highcharts框架进行搭建。下面分享一下整个开发过程的流程,以及使用Highc
- 本文实例讲述了Python实现查找两个字典相同点的方法。分享给大家供大家参考,具体如下:问题:寻找两个字典中间相同的地方(相同的键、相同的值
- 1.引言环形图(圆环)在功能上与饼图相同,整个环被分成不同的部分,用各个圆弧来表示每个数据所占的比例值。但其中心的空白可用于显示其他相关数据
- <?phphighlight_file(__FILE__);error_reporting(0);$content = $_POST[
- 总的来讲,JavaSever PagesTM(JSP)和 微软的Active Sever Pages(ASP)在技术方面有许多相似之处。两者
- os.remove不能用来删除文件夹,否则拒绝访问。# -*- coding:utf-8 -*-import osif __name__ =
- TCP协议用在python和wifi模块之间python建立TCP连接需要用到socket协议 如果是TCP Server,建立T
- 下面要学的是列表:任务1、“千年虫”我来了函数enumerateenumerate() 函数用于将一
- 方式1:引入普通的js文件,如user.js1.1、属性和方法都写在一个变量内部const user={ logi
- 上周对线上某几个磁盘进行了fio硬盘性能测试,测试完成之后的结果需要绘制成图像展示出来。我在官网上查找
- 监控中,通常要使用图片更直观的看出集群的运行状况。以下是一个简单的demo,通过rrdtool生成动态的图片。Python3, tornad
- 前言CORS 即 Cross Origin Resource Sharing 跨域资源共享.跨域请求分两种:简单请求、复杂请求.简单请求简单
- 图像处理工具——灰度直方图灰度直方图时图像灰度级的函数,用来描述每个灰度级在图像矩阵中的像素个数或者占有率。例子:矩阵图片来自网络,侵删!上
- 在1943年,沃伦麦卡洛可与沃尔特皮茨提出了第一个脑神经元的抽象模型,简称麦卡洛可-皮茨神经元(McCullock-Pitts neuron
- 前言用Python如何写一个接口呢,首先得要有数据,可以用我们在网站上爬的数据,在上一篇文章中写了如何用Python爬虫,有兴趣的可以看看:
- 本地环境设置在这里我们介绍设置Go编程语言环境,需要在你的计算机上的准备以下两个软件,(A)文本编辑器和(B)Go编译器。文本编辑器这将用来
- 数据import numpy as npimport pandas as pddata = [{'Name': '小
- 我就废话不多说,直接上代码吧:# -*- coding: utf-8 -*-import osout=os.system('nets
- 对于部署在新浪应用引擎SAE上的项目,使用新浪SAE云存储是不错的存储方案。新浪SAE云存储仅能在SAE环境中正常使用,对它进行简单封装后,