資源描述:
《碼農手冊 VB應用程序代碼模塊的概述》由會員上傳分享,免費在線閱讀,更多相關內容在工程資料-天天文庫。
1、代碼模塊的概述VB應用程序(通常稱為工程)的組織結構,它由窗體模塊、標準模塊和類模塊組成。VB程序代碼就保存在窗體模塊文件(*.Frm)、標準模塊文件(*.Bas)或類模塊文件(*.Cls)中。它們形成了工程的一種模塊層次結構,如圖7-1所示。圖7-1一、窗體模塊(文件擴展名為.FRM)窗體模塊可以包含處理事件的過程、通用過程以及變量、常數、類型和外部過程的窗體級聲明。如果要在文本編輯器中觀察窗體模塊,則還會看到窗體及其控件的描述,包括它們的屬性設置值。寫入窗體模塊的代碼是該窗體所屬的具體應用程序專用的;它也可以引用該應用程序內的其它
2、窗體或對象。二、標準模塊(文件擴展名為.BAS)標準模塊可以包含變量、常數、類型、外部過程和全局過程的全局(在整個應用程序范圍內有效的)聲明或模塊級聲明。寫入標準模塊的代碼不必綁在特定的應用程序上,則在許多不同的應用程序中可以重用標準模塊。三、類模塊(文件擴展名為.CLS)在VisualBasic中類模塊是面向對象編程的基礎。可在類模塊中編寫代碼建立新對象。這些新對象可以包含自定義的屬性和方法。實際上,窗體正是這樣一種類模塊,在其上可安放控件,可顯示窗體窗口。§7.2過程的作用域應用程序中的過程有作用域。所謂作用域,就是過程可在哪些地
3、方被使用。作用域的大小和過程所處的位置及定義方式有關。按過程的作用范圍分為:窗體/模塊級過程和全局級過程。通用子過程和函數過程既可寫在窗體模塊中也可寫在標準模塊中,在定義時可選用關鍵字Private(局部)和Public(全局),來決定它們能被調用的范圍。[Public
4、Private]Sub子過程名([形式參數列表]) ……………EndSub1、窗體/模塊級過程:加Private關鍵字的過程,只能被定義的窗體或模塊中的過程調用。2、全局級過程:加Public關鍵字(或缺省)的過程,可供該應用程序的所有窗體和所有標準模塊中的過程調用
5、??偨Y歸納過程的定義及作用域如表7-1所示。表7-1作用范圍模塊級 全局級 窗體標準模塊窗體標準模塊定義方式過程名前加Private例:PrivateSubMysub1(形參表)過程名前加Private或缺省例:[Private]SubMysub2(形參表)能否被本模塊其它過程調用能能能能能否被應用程序本其它模塊調用不能不能能,但必須在過程名前加窗體名。例:Call窗體名.My2(實參表)能,但過程名必須唯一,否則要加標準模塊名。例:Call標準模塊名.My2(實參表)7.3.1過程級變量——局部變量變量的作用域決定了哪些子過
6、程和函數過程可訪問該變量。變量的作用域分為局部變量、窗體/模塊級變量和全局變量。三種變量作用范圍及使用規(guī)則如表7-2所示。表7-2作用范圍局部變量窗體/模塊級變化全局變量 窗體標準模塊聲明方式Dim,staticDim,privatepublic聲明位置在過程中窗體/模塊的“通用聲明段”窗體/模塊的“通用聲明段”被本模塊的其它過程存取不能能能被其它模塊存取不能不能能,在變量名前加窗體名能1、局部變量(過程級變量)2、窗體/模塊級變量(私有的模塊級變量,能被本模塊的所有過程和函數使用)3、全局級變量(公有的模塊級變量)過程級變
7、量——局部變量局部變量:在過程內用聲明的變量,在一個過程內部使用Dim或者Static關鍵字來聲明的變量稱為局部變量。只能在本過程中使用,別的過程不可訪問。所以可以在不同的過程中聲明相同名字的局部變量而互不影響?!纠吭谝粋€窗體中可以定義相同名字的局部變量。PrivateSubCommand1_Click()DimCountAsIntegerDimSumAsInteger...EndSubPrivateSubCommand2_Click()DimSumAsInteger...EndSub7.3.2窗體/模塊級變量在“通用聲明”段中用
8、Dim語句或用Private語句聲明的變量,可被本窗體/模塊的任何過程訪問。但其他窗體或模塊卻不能引用該變量。以Public聲明的變量,允許在其他窗體和模塊中引用。例如:在“通用聲明”段聲明變量如圖7-2所示。DimtempAsStringPrivateaAsInteger,bAsSingle圖7-27.3.3全局變量一、全局變量全局變量也稱公有的模塊級變量,在窗體模塊或標準模塊的頂部的“通用”聲明段用Public關鍵字聲明,它的作用范圍是整個應用程序,即可被本應用程序的任何過程或函數訪問。例如:PublicaAsInteger,bA
9、ssingle二、應用舉例不同作用域變量的使用。在Form1窗體代碼窗口輸入如下程序:Privatea%'窗體/模塊級變量PrivateSubForm_Click()Dimc%,s%'局部變量c=20s=a+Form2.