Visual Basic .NET程序設(shè)計(jì)教程_第1頁
Visual Basic .NET程序設(shè)計(jì)教程_第2頁
Visual Basic .NET程序設(shè)計(jì)教程_第3頁
Visual Basic .NET程序設(shè)計(jì)教程_第4頁
Visual Basic .NET程序設(shè)計(jì)教程_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

VisualBasic.NET程序設(shè)計(jì)教程

機(jī)械工業(yè)出版社同名教材

配套電子教案

2005.5

第7章過程

7.1過程的基本概念

7.2SUB過程

7.3Function過程

7.4過程的參數(shù)傳遞

7.5過程的嵌套與遞歸調(diào)用

7.1過程的基本概念

在VB,NET中有三種類型的過程:Sub過程、Function過程和Property過程。它

們的特點(diǎn)是:

①SubE程執(zhí)行操作,但不向調(diào)用它的過程返回值。例如,事件處理程序都是

Sub過程,它們在響應(yīng)事件時(shí)只執(zhí)行一系列操作。

②Function過程可以向調(diào)用它的過程返回值。例如,MsgBox語句就是一個(gè)

Function過程,可以返回一個(gè)數(shù)值。

③Property過程可以返回類、結(jié)構(gòu)或模塊屬性的值,或向它們賦值。

過程可以被其他過程調(diào)用,當(dāng)一個(gè)過程調(diào)用另一個(gè)過程時(shí),控制權(quán)將會轉(zhuǎn)移到后

一個(gè)過程,當(dāng)后一個(gè)過程的代碼運(yùn)行完畢后,它將控制權(quán)返回給調(diào)用它的過程。

在過程中使用訪問修飾符可以定義過程的訪問權(quán)限。訪問權(quán)限也就是其代碼能否

調(diào)用該過程的權(quán)限。如果沒有指定訪問修飾符,默認(rèn)是公有(Public)的。表列

出了用來在模塊中聲明過程的訪問修飾符。

表工1修飾符功能

訪問修飾符描述

Public沒有訪問限制,該過程可以被整個(gè)應(yīng)用程序中的其他過程調(diào)用

Friend可以在包含該過程聲明的程序中,以及相同程序集中的任何地方進(jìn)行訪問

Private可以在包含該過程聲明的模塊中進(jìn)行訪問,

7.2Sub過程

事件過程

事件過程是由VB?NET自行聲明,用戶不能增加或刪除,當(dāng)用戶對某個(gè)對象發(fā)出

一個(gè)動作時(shí),Windows會通知VB?NET產(chǎn)生一個(gè)事件,VB?NET會自動調(diào)用與該事

件相關(guān)的事件過程。即當(dāng)對象對一個(gè)事件的發(fā)生做出認(rèn)定時(shí),VB?NET便自動用相應(yīng)

于事件的名字調(diào)用該事件的過程。因?yàn)槊衷趯ο蠛痛a之間建立了聯(lián)系,所以說

事件過程是依附于窗體和控件上的。事件過程的語法格式為:

PrivateSub〈控件名—事件名〉([〈參數(shù)列表〉])

[〈語句塊〉]

EndSub

編寫事件過程代碼應(yīng)注意以下幾點(diǎn):

①事件過程的命名是有VB.NET自動命名的,用戶不能修改。

②事件過程名可以是用戶輸入建立的,但通常使用摸板更方便。

③在為控件或?qū)ο缶帉懯录a之前,必須設(shè)置Name屬性。Name屬性的值和

控件名應(yīng)該一致,否則控件過對象會失去與代碼的聯(lián)系。

通用過程

通用過程告訴應(yīng)用程序如何完成一項(xiàng)指定的任務(wù)。通用過程不與任何特定的事件

相聯(lián)系,只能由別的過程來調(diào)用。

/

7.2Sub過程

'7.2.1通用過程的創(chuàng)建'

L在“代碼”編輯窗口中輸入

在“代碼”編輯窗口中輸入通用過程代碼。其語法格式為:

[〈訪問權(quán)限〉]Sub〈通用過程名〉([〈形參列表〉])

[〈語句塊1〉]

[ExitSub]

[〈語句塊2〉]

EndSub

2.在模塊文件中建立并保存通用過程

①在項(xiàng)目中,選擇系統(tǒng)菜單“項(xiàng)目”中的“添加新項(xiàng)”選項(xiàng),進(jìn)入“添加新項(xiàng)”

對話框。

②選中“模塊”選項(xiàng),并打開。這時(shí)解決方案中,會出現(xiàn)一個(gè)新的模塊文件。例

如,Modulel.vbo

③進(jìn)入該模塊文件,在該文件中輸入通用過程程序代碼,如下所示:

ModuleModulel

通用過程程序代碼

IEndModule

7.2Sub過程

/7.2.2通用過程的調(diào)用

調(diào)用引起過程的執(zhí)行,也就是說,要執(zhí)行一個(gè)過程,必須調(diào)用該過程。調(diào)用通用

過程可以使用獨(dú)立的調(diào)用語句來顯示調(diào)用過程,不能在表達(dá)式中使用其名稱來調(diào)用。

通用過程的調(diào)用有以下兩種方式。

1,使用關(guān)鍵字Call調(diào)用通用過程

其語法格式為:

Call〈過程名〉[〈實(shí)參列表〉]

2,直接用過程的名稱調(diào)用通用過程

其語法格式為:

〈過程名〉[〈實(shí)參列表〉]

例7-1

1

7.3Function過程

/7?3?1Function過程的倉U建'

與Sub過程一樣,F(xiàn)unction過程也是一個(gè)獨(dú)立的過程,可讀取參數(shù)、執(zhí)行一系列

語句。與Sub過程不同的是,F(xiàn)unction過程可返回一個(gè)值到調(diào)用的過程。其語法格

式為:

[〈訪問權(quán)限〉]Function〈函數(shù)名〉([〈形參列表〉])[As〈數(shù)據(jù)類型〉]

[〈語句塊1〉]

[〈函數(shù)名〉=〈表達(dá)式〉]

[ExitFunction]

[〈語句塊2〉]

EndFunction

7.3.2Function過程的調(diào)用

Function過程的調(diào)用比較簡單,可以像使用VB?NET內(nèi)部函數(shù)一樣來調(diào)用

Function過程,即在表達(dá)式中寫上它的名字。

例7?2

<_________________________J

7.4過程的參數(shù)傳遞

廣741實(shí)際參數(shù)和形式參數(shù)

傳遞給過程的每個(gè)值稱為“實(shí)參”(實(shí)際參數(shù)),即在調(diào)用過程時(shí),傳給過程的

常量、變量或表達(dá)式。過程中用來接收這些實(shí)參值,需要另外一些參數(shù),這些參數(shù)

稱為“形參”(形式參數(shù)),即在定義過程時(shí),出現(xiàn)在過程中的變量名。

實(shí)際參數(shù)和形式參數(shù)的對應(yīng)關(guān)系為:

實(shí)際參數(shù)

調(diào)用過程:CallTest(10、"Hello",MyStiing)

定義過程:SubTest(ByVaiiAsIntegerBy\alStilasString,ByAalStr2AsString)

形式參數(shù)

實(shí)際參數(shù)和形式參數(shù)中對應(yīng)的變量名不必相同,但是變量個(gè)數(shù)必須相同,而且各

實(shí)際參數(shù)的書寫順序必須與相對應(yīng)的形式參數(shù)的類型相符。所謂類型相符,對于變量

參數(shù)就是類型相同;對于值參數(shù)則要求實(shí)際參數(shù)對形式參數(shù)賦值相容。

7.4過程的參數(shù)傳遞

C7.4?按值傳遞和按地址傳遞參數(shù)、

傳遞參數(shù)的方式有兩種:如果調(diào)用語句中的實(shí)際參數(shù)是常量或表達(dá)式,或者定

義過程時(shí)選用Byval關(guān)鍵字,就可以按值傳遞。如果調(diào)用語句中的實(shí)際參數(shù)是變量,

或者定義過程時(shí)選用Byref關(guān)鍵字,就可以按地址傳遞。默認(rèn)情況下是通過傳值傳遞

參數(shù)的。

例7-4

7.4.3傳遞數(shù)組

除了可以引用變量參數(shù)之外,還可以引用數(shù)組作為參數(shù)。引用數(shù)組時(shí)應(yīng)注意:

①每一個(gè)過程只能引用一個(gè)數(shù)組作為參數(shù)。

②作為參數(shù)的數(shù)組只能放在所有參數(shù)最后面。

③數(shù)組參數(shù)只能按值傳遞。

④數(shù)組參數(shù)只能是一維的,且數(shù)組中所有的元素?cái)?shù)據(jù)類型必須一致。

例7?5

7.4過程的參數(shù)傳遞

17.4.4可選參數(shù)

在設(shè)置過程時(shí),可以指定過程的參數(shù)是可選。這樣在調(diào)用過程時(shí)就可以不提供

參數(shù)的值。用戶可以通過將參數(shù)設(shè)置為可選的來靈活調(diào)用過程。

1.聲明可選參數(shù)

一個(gè)參數(shù)是否是可選的,一定要在過程中用Optional聲明??蛇x參數(shù)的聲明語法

格式為:

Optional[<ByVAI>|<Byref>]〈參數(shù)名稱〉A(chǔ)s〈參數(shù)數(shù)據(jù)類型〉=〈默認(rèn)值〉

說明:

①必須指定所有可選參數(shù)的默認(rèn)值。

②可選參數(shù)的默認(rèn)值必須是常數(shù)或常數(shù)表達(dá)式。

③過程定義中,可選參數(shù)后面的每個(gè)參數(shù)也必須是可選的。

2.可選參數(shù)的調(diào)用

例7-6

7.4過程的參數(shù)傳遞

(745參數(shù)的傳遞

在調(diào)用過程時(shí),可以“通過位置”傳遞參數(shù)(即按參數(shù)出現(xiàn)在過程定義中的順

序),也可以“通過名稱”傳遞參數(shù)而不考慮位置。通過名稱傳遞參數(shù)時(shí),指定參

數(shù)的名稱,后接冒號和等號(:=),后面是參數(shù)值。

1.通過位置傳遞參數(shù)

可以通過位置傳遞參數(shù)(以逗號分隔)來調(diào)用Studentlnfo過程,如下所示:

StudentlnfoC^ary",19,#9/21/1981#)

如果在一個(gè)按位置排列的參數(shù)列表中省略可選參數(shù),必須用逗號保留它的位置。

下面的示例調(diào)用不帶Age參數(shù)的Studentinfo過程:

HH

StudentInfo(Maryz,#9/21/1981#)

2.通過名稱傳遞參數(shù)

另一種方法是,可以通過名稱傳遞參數(shù)(同樣以逗號分隔)來調(diào)用Studentinfo

過程,如下所示:

HH

StudentInfo(Age:=19,Birth:=#9/21/1981#zName:=Mary)

3.通過位置和通過名稱混合參數(shù)

在單個(gè)過程調(diào)用中,可以同時(shí)通過位置和通過名稱提供參數(shù),如下所示:

StudentlnfoC'Mary",Birth:=#9/21/1981#)

\______________________________________________

7.5過程的嵌套與遞歸調(diào)用

C7

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論