Visual Basic程序設計第八章過程-子程序和函數_第1頁
Visual Basic程序設計第八章過程-子程序和函數_第2頁
Visual Basic程序設計第八章過程-子程序和函數_第3頁
Visual Basic程序設計第八章過程-子程序和函數_第4頁
Visual Basic程序設計第八章過程-子程序和函數_第5頁
已閱讀5頁,還剩17頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、NoImageVisual Basic程序設計第八章 過程 子程序和函數樓詩風 Visual BASIC 程序設計 萬 博 科 技 職 業 學 院Wanbo Inst. Of Since & Tech.主要內容 子程序(子程序(Sub過程)過程)函數(函數(Function過程)過程)參數傳遞參數傳遞過程的嵌套調用和遞歸調用過程的嵌套調用和遞歸調用鼠標和鍵盤事件鼠標和鍵盤事件 Visual BASIC 程序設計 萬 博 科 技 職 業 學 院Wanbo Inst. Of Since & Tech.自定義子程序Public|Private|Static Sub Public|Pr

2、ivate|Static Sub ( 參數及其類型列表參數及其類型列表 ) End SubEnd Sub例如:交換兩個變量內容的子程序:例如:交換兩個變量內容的子程序: Public Sub Swap (x,y)Public Sub Swap (x,y) dim t dim t t=x : x=y : y=tt=x : x=y : y=tEnd SubEnd Sub Visual BASIC 程序設計 萬 博 科 技 職 業 學 院Wanbo Inst. Of Since & Tech.自定義函數Public|Private|Static Function Public|Private

3、|Static Function ( 參數及其類型列表參數及其類型列表 )As As ( (內含內含: : = ) )End Function End Function 注意:函數與子程序的區別注意:函數與子程序的區別(1 1)函數必須有返回值,子程序沒有。)函數必須有返回值,子程序沒有。(2 2)如果不指明函數的類型(即其返回值的類型),)如果不指明函數的類型(即其返回值的類型), 則其類型是變體型(則其類型是變體型(VariantVariant型)型) (3 3)函數用在表達式中,子程序不能。)函數用在表達式中,子程序不能。 Visual BASIC 程序設計 萬 博 科 技 職 業 學

4、院Wanbo Inst. Of Since & Tech.子程序的調用格式:Call (參數列表參數列表)或者 參數列表參數列表 Visual BASIC 程序設計 萬 博 科 技 職 業 學 院Wanbo Inst. Of Since & Tech.子程序和函數的參數形參形式參數,定義部分所使用的參數。實參實在(實際)參數,調用時傳遞給子程序或函數的參數。例如:下面的x和y是形參,a和b是實參。定義子程序 Swap:Sub Swap (x,y) Dim t t = x : x = y : y = xEnd Sub調用子程序 Swap: . Swap a , b 交換 . Vi

5、sual BASIC 程序設計 萬 博 科 技 職 業 學 院Wanbo Inst. Of Since & Tech.參數的傳遞方式在子程序或函數的調用過程中,實參內容傳遞給相應的形參可以有兩種方式:傳址和傳值傳址(ByRef) :將實參地址傳給形參。傳值(ByVal) :將實參的值傳給形參。區別:傳址時,形參與實參是同一個內存區域,因而實參隨形參的改變而改變。傳值時,形參被單獨分配內存并獲得實參的值,因而形參的改變并不改變實參的值。 Visual BASIC 程序設計 萬 博 科 技 職 業 學 院Wanbo Inst. Of Since & Tech.傳值和傳址的區別形參

6、x 實參a:形參 y 實參 b:54321定義子程序 Swap:Sub Swap (x,y) Dim t t = x : x = y : y = xEnd Sub調用子程序 Swap: . Swap a , b 交換 .Swap 傳址傳址 x: a:y: b:54321 Swap 傳值傳值54321 Visual BASIC 程序設計 萬 博 科 技 職 業 學 院Wanbo Inst. Of Since & Tech.實例:求直角三角形的斜邊Private Sub Root(ByVal a, ByVal b, c) c = Sqr(a 2 + b 2)End Sub調用: Root

7、3 , 4, z Print z打印結果 5 c ba Visual BASIC 程序設計 萬 博 科 技 職 業 學 院Wanbo Inst. Of Since & Tech.自定義函數的實例用函數求直角三角形的斜邊Public Function Hyp(x !, y !) As Single Hyp = Sqr(x 2 + y 2)End Function調用: Print Hyp (3,4) 打印結果 5 Visual BASIC 程序設計 萬 博 科 技 職 業 學 院Wanbo Inst. Of Since & Tech.變量與過程的作用域變量與過程的作用域在聲明變量

8、和過程時:v在什么地方聲明? 過程內部 過程外部(模塊的通用段)v用什么關鍵字? Dim Static Private Public變量的作用域v過程級v模塊級v全局變量過程的作用域v模塊級v全局級Static:作用? Visual BASIC 程序設計 萬 博 科 技 職 業 學 院Wanbo Inst. Of Since & Tech.變量聲明格式:Dim|Public|Private|Static Dim|Public|Private|Static as as 有效范圍:過程模塊全局(公用)隱式聲明和顯式聲明:Option Explicit組合聲明:例: dim i as int

9、eger, j as single, s as string或: dim i%, j!, s$ Visual BASIC 程序設計 萬 博 科 技 職 業 學 院Wanbo Inst. Of Since & Tech.VB應用程序的組成VB應用程序 .vbp窗體模塊 .frm標準模塊 .bas類模塊 .cls函數過程(Function)事件過程子程序(Sub)函數過程(Function)子程序(Sub) Visual BASIC 程序設計 萬 博 科 技 職 業 學 院Wanbo Inst. Of Since & Tech.變量的作用域過程級:在過程內部聲明,使用Dim或Sta

10、tic關鍵字。只能在過程內部使用。模塊級:在模塊的通用段聲明,使用Dim 或Private關鍵字。可以在該模塊的所有過程中使用。全局:在模塊的通用段聲明,使用Public關鍵字??梢栽谡麄€應用程序中使用。如果是在窗體模塊內聲明,則引用時需要在變量名前面加窗體名。例如:Form1.a Visual BASIC 程序設計 萬 博 科 技 職 業 學 院Wanbo Inst. Of Since & Tech.變量的生存期動態變量:聲明時產生(分配內存),過程結束立即釋放。用Dim聲明。靜態變量:過程結束后不釋放內存,其值保留。下次訪問該過程時仍有效。用Static聲明。 Visual BAS

11、IC 程序設計 萬 博 科 技 職 業 學 院Wanbo Inst. Of Since & Tech.變量的作用域作用域:過程級模塊級全局變量窗體標準模塊聲明方式DimStaticDimPrivatePublic聲明在:過程內模塊的通用聲明段本模塊其他過程:不能用能用其他模塊:不能用能用,但要加窗體名.能用 Visual BASIC 程序設計 萬 博 科 技 職 業 學 院Wanbo Inst. Of Since & Tech.過程的作用域模塊級:用Private關鍵字聲明全局級:用Public關鍵字聲明v在標準模塊內聲明:可以直接調用v在窗體模塊內聲明:需要在過程名前面指定對

12、象(窗體)名。靜態(Static):該過程內所有過程級變量均為靜態變量。 Visual BASIC 程序設計 萬 博 科 技 職 業 學 院Wanbo Inst. Of Since & Tech.鼠標事件Click單擊DblClick 雙擊MouseDown按下MouseUp 放開MouseMove移動DragDrop拖放DragOver拖過有關問題同時發生時的先后次序事件過程中的參數Button區分左右鍵Shift鍵盤配合X,Y指針位置有關屬性有關方法 Visual BASIC 程序設計 萬 博 科 技 職 業 學 院Wanbo Inst. Of Since & Tech.M

13、ouseDown和MouseUp事件Button參數,由按下的鼠標鍵決定:1左鍵,2右鍵,4中鍵Shift參數,由先按下的鍵盤鍵決定:1鍵2鍵4 鍵先按下多鍵時,數值相加 Visual BASIC 程序設計 萬 博 科 技 職 業 學 院Wanbo Inst. Of Since & Tech.與鼠標有關的屬性MousePointer 指針形狀MouseIcon 自定義指針形狀當MousePointer99時的指針形狀DragModev 0手工,1自動v自動:可以拖動,此時Click事件和 MouseDown事件失效v手工:需編程(用Drag方法)才能拖動 Visual BASIC 程序設計 萬 博 科 技 職 業 學 院Wanbo Inst. Of Since & Tech.DragDrop事件發生在目標對象,而不是被拖動對象上參數:Source As Control,X As Single,Y As SingleSource 被拖動對象X,Y 放下時的X,Y坐標有關屬性v DragMode: 0手工,1自動v DragIcon:拖動時的圖標D

溫馨提示

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

評論

0/150

提交評論