电脑维修第一互动门户_www.PC106.com 为了方便您再次访问电脑维修站,请点击收藏本站!设为首页
操作系统 · 硬件学院 · 软件学院 · 网络学院 · DIY 经验 · 数据恢复 · 网站技术 · 维修网点 · IT 黄 页 · 大师答疑
故障症状 · 电脑优化 · 病毒快报 · 黑客安全 · 维修宝典 · 电脑保养 · 服 务 器 · 在线杀毒 · 在线电视 · 网址服务
维修 CPU·主板·硬盘·内存·显卡·显示器·键盘鼠标·声卡音箱·软驱光驱·打印机·机箱电源·BIOS·网卡·局域网·浏览器
您现在的位置: 电脑维修 >> 网站技术 >> .NET技术 >> .NET基础 >> 网站技术正文
程序
作者:佚名 文章来源:不详 点击数: 更新时间:2007-2-3 15:02:04


了解程序的种类
    在VB.NET 中有三种程序(Procedure),分别是一般程序、事件程序以及属性程序。属性程序最主要是在建立对象类别时定义对象的属性,超过我们所要讨论的范围,这里的重点放在一般程序以及事件程序。一般程序是指Sub 或Function,可以帮助我们将复杂的程序做成许多容易管理的单元,至于Sub 和Function 的差别我们后面再来了解。而事件程序会自动触发,用来响应系统或使用者所执行的动作。例如当网页被加载时会触发Init 这个事件,并会自动执行Page_Init()这个事件程序

一般程序
    一般程序要被其它程序呼叫才能执行,它可以帮助我们将复杂的程序代码分成容易管理的单元,并且可被不同的程序所叫用。一般程序有两种,分别为Sub 以及Function。

Sub
    以Sub 方式写成的程序没有传回值,也就是不会传回执行的结果。我们先看看Sub 的语法:

Sub 程序名称(参数1 As 型态, 参数2 As 型态,...)
程序代码...
End Sub

另外,ASP.NET 规定所有的程序必需另外放在script 标注中,如下所示:


    被Script 标注所围起来的部分表示为程序不管是一般程序或是事件程序都必需被Script 标注所围起来,程序只有被呼叫或是发生一件事件的时候才会被执行。Script 标注的Language 属性可以设定程序要使用的语言,这里我们所使用的语言为VB.NET,所以设定值为VB;Runat 属性值为Server,表示这些程序会在Server 端执行。我们要执行程序的时候,只要直接输入程序的名称并且要加上小括号即可;我们称使用程序的动作为「呼叫」。我们在呼叫程序时,主程序的执行会暂时停止,并跳到程序中继续执行,等遇到End Sub 时表示程序执行完毕,程序的执行便跳回到刚刚呼叫的地方继续执行下一个叙述。例如:

    程序可以重复再利用,我们可以多次呼叫使用同一个程序,这样不但好管理而且比较简洁。上述程序执行的结果为:


参数的传递
    若有要一并传送的参数,则可以在小括号内输入。我们可以将变量的内容或是直接将数据传入程序内做处理,若参数为一个以上,则使用逗号来做分隔。

    由于我们的程序要接收参数,所以就必需在宣告程序的时候,在小括号内宣告一个变量来接受参数。所以在主程序执行SayHello("煌章")时,即将参数"煌章"传递给程序。这时候我们在宣告程序时,要在小括号内宣告变量来接收。在小括号内宣告变量不需要加Dim 关键词,直接指定变量名称及数据型态即可。

    接下来我们来撰写传递两个参数的程序。参数若是有两个以上,在宣告的时候必需用逗号来做区隔,而且在传递参数时参数的顺序也要对应正确。下面的例子我们将刚刚的英制单位转公制单位的程序改成以呼叫程序的方式执行:



Function 程序
    以Function 的方式写成的程序有传回值,也就是会传回执行的结果,所以在呼叫Function 的时候必需用变量或对象的属性来接收。Function 的语法:

    Function 程序也是一样必需被Script 标注所括起来。以Function 关键词所宣告的程序,表示是有传回值的Function 程序。Function 程序一样可以接收参数,我们将处理完的结果利用Return关键词传回。下面的例子是将摄氏温度转换成华式温度,我们知道其转换的公式为F=(C×(9/5))+32:

    Function 一样可以接受参数,可以让我们在呼叫Function 的时候顺便将要处理的数据或必需的参数一并传递给Function 处理,等Function 将数据处理完毕后,则利用Return 关键词将结果传回至原来呼叫Function 的地方。由于Function 有传回值,所以我们在呼叫Function 时必需用变量或对象的属性来接收其执行结果。另外要特别注意一点,那就是接收传回值的变量其数据型态要和传回值的数据型态相符合,如果不符合则可以使用转换函式进行数据型态的转换。以下为在浏览器输入http://127.0.0.1/cr/ch03/ex09.aspx?C=30 的执行结果:


传值及传址
    参数的传递有两种情形:一种是传递变量的值,另一种是传递变量的地址。上述两种情形称为传值(By Value)或传址(By Reference)。传递参数时要指定以传值或传址的方式来传递,只要在宣告程序时在要接收参数的变量前加上关键词ByVal(传值)或是ByRef(传址)即可。VB.NET 的程序对于参数的传递预设是以传值的方式执行,所以如果要以传值的方式传递参数,则ByVal 关键词可以省略。什么是传递值及传递地址呢?我们来看下列的例子:

<html>
<%
Dim shtA As Short
shtA=100
MyProcA(shtA)
Response.Write("传值后的shtA 变数值:" & CStr(shtA) & "<br>")
MyProcB(shtA)
Response.Write("传址后的shtA 变数值:" & CStr(shtA))
%>
<Script Language="VB" Runat="Server">
Sub MyProcA(ByVal shtB As Short)
shtB=10End Sub
Sub MyProcB(ByRef shtB As Short)
shtB=10End Sub
<Script>
</html>


    上述程序总共有两个Sub 程序,分别为MyProcA 以及MyProcB。这两个程序都宣告了一个精简整数型态的变量shtB,分别以传值以及传址的方式来接收参数,然后将shtB 的值填入整数10。而在主程序中有个精简整数型态的变量shtA,我们将100 填入变量shtA 之后分别呼叫MyProcA以及MyProcB,并将变量shtA 当作参数传进程序中。结果以传值的方式传递参数的MyProcA接收到的是shtA 的值100,并将接收到的100 存入变数shtB 中。所以我们将变量shtB 变量内的值100 改成10,并不会影响传递进来的变量shtA,shtA 的值还是100。

    执行完MyProcA 后接下来我们呼叫MyProcB,并以传址的方式将参数shtA 传入程序中。此时我们所传递的不是值100,而是shtA 所在的内存位置。所以shtB 所接收的信息为一个内存地址,任何程序叙述要存取变量shtB 的值时,会读到shtB 内所存放的内存地址,此时程序会将变量shtB 所指到的内存地址进行存取。因为变量shtA 以及变量shtB 所参考到的内存地址是同一块,所以当我们改变shtB 的值时,就是改变shtA 的内容,变量shtA 当然会受影响。故原来变量shtA的值为100,后来变数shtB 被填入10 后,变量shtA 的内容也改变了。


程序的负载
    VB.NET 也支持程序的负载。负载就是可以宣告许多名称一样的程序,但是接收不同的参数,并可以视使用者的使用情形决定由哪个程序动作。我们在呼叫程序时,程序会自动依不同的执行条件来呼叫不同的程序。支持负载的程序其宣告语法如下所示:

Overloads Sub|Function 程序名称(参数1 As 型态, 参数2 As 型态,...)
叙述..
.End Sub|Function

下列范例中我们负载了四个程序。这四个程序会依照使用者呼叫程序时,所输入的参数而自动执
行相对应的程序

<Html>
<%
Dim strRev As String
Test("字符串一") '输入一个字符串数据, 执行第一个对应的程序
Test(12345) '输入一个数值数据, 执行第二个对应的程序
Test(12345,12345) '输入两个数值

[1] [2] 下一页

上网速度更快更爽、更安全下载使用Firefox火狐浏览器

网站技术录入:admin    责任编辑:admin 
  • 上一篇网站技术:

  • 下一篇网站技术:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

     IT图片报道

    14万元天价!640GB闪存硬盘美国问

    双核独显19寸液晶惠普PC机只卖49

    佳能MP160售价仅580元

    神舟双核液晶电脑3999起
     IT热点报道

    普通IT报道 中国电信称三年内实现光纤到户
    普通IT报道 广达个人电脑宣布已开始在江苏投入量产
    普通IT报道 14万元天价!640GB闪存硬盘美国问世
    普通IT报道 节后病毒猖獗系统瘫痪
    普通IT报道 AMD推出6款节能处理器
    推荐IT报道 双核独显19寸液晶惠普PC机只卖4999元
    普通IT报道 微软无奈下调Vista销售预期 XP仍是主角
    普通IT报道 佳能MP160售价仅580元
    推荐IT报道 神舟双核液晶电脑3999起
    推荐IT报道 4999元玩Vista 七喜12寸轻薄本升级
    关于公司 | 免责声明 | 广告服务 | 招贤纳士 | 联系我们 | 友情链接 1 2 3
    Copyright©2005 - 2007  http://www.PC106.com  All Right Reserved   
    桂ICP备06015569号