程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB6 >> vb編碼(一)

vb編碼(一)

編輯:VB6

開始編碼之前

在 Visual Basic 中創建應用程序的最重要的(又往往為人忽視的)部分是設計階段。需要為應用程序設計一個用戶界面,這是顯然的;但需要設計代碼的結構就不那麼顯然了。構造應用程序的方法不同,可造成應用程序的性能及代碼的可維護性、可使用性不同。 Visual Basic 應用程序的代碼是用分層方式組織的。典型應用程序包括若干模塊:應用程序中每個窗體的窗體模塊、共享代碼的可選標准模塊以及可選的類模塊。 每個模塊包含若干含有代碼的過程:event過程、Sub子過程或Function過程,以及Property過程。 判定什麼過程屬於什麼模塊,這與創建的應用程序的類型有一定關系。因為 Visual Basic 是基於對象的,所以,利用應用程序代表的對象來考慮應用程序將是有益的。在這一章,示例應用程序 Vcr.vbp 的設計建立在盒式錄像機和電視機組成的對象基礎之上。VCR 應用程序包含兩個窗體模塊、一個標准模塊和兩個類模塊。可用“對象浏覽器”來檢查工程的結構(圖5.2)。

VCR 應用程序的主窗體 (frmVCR) 是 VCR與電視屏幕組合的可視圖像(圖 5.3)。它包括幾個對象,這些對象以現實世界中的圖景為模型。一組命令按鈕(cmdPlay、cmdRecord 等等)模仿的是操作 VCR 的按鈕。軟件VCR 還包括時鐘 (lblTime)、通道指示器 (lblChannel)、功能指示器(shpPlay、shpRecord 等等)以及顯像管 (picTV)。Vcr.frm 窗體模塊包括所有這些對象的事件過程。

在很多情況中都存在著多個對象共享的重復過程。例如,“按下”“放像”、“倒帶”或“錄像”按鈕時就要求“暫停”和“停止”按鈕有效。最好創建一個共享的子過程,所有按鈕都可調用它,而不要在每個按鈕的 Click 事件過程中重復這段代碼。如果將來要修改這些子程序,則只在一個地方修改就可進行全部修改。標准模塊 Vcr.bas 包含各種共享過程。
VCR 的某些部分是不可視的,比如磁帶的輸送機置或錄制電視節目的邏輯便是如此。同樣,軟件 VCR 的一些功能沒有可視圖像。這些部分和功能是作為兩個類模塊 Recorder.cls 和 Tape.cls 實現的。clsRecorder 模塊包含啟動“錄像”進程的代碼;而 clsTape 模塊則包含控制“磁帶”方向和速度的代碼。這些模塊中所定義的類與窗體中的任何對象都沒有直接關系。因為它們是獨立的代碼模塊,所以不作任何修改就可輕輕松松重建一個錄音程序。
除了設計代碼結構之外,建立命名約定也是很重要的。按照缺省規定,VisualBasic 將工程的第一個窗體命名為 Form1,第二個窗體為 Form2,依此類推。如果應用程序中有幾個窗體,則最好賦予它們有含義的名字,以免在編寫或編輯代碼時出現混淆情況。在附錄 B“Visual Basic 編碼約定”中列舉了一些 Visual Basic 建議的命名約定。
在進一步了解對象和學習編寫代碼時,可參考 VCR 示例應用程序,查找有關各種編碼技巧的例子。

代碼編寫機制
在著手編寫代碼之前,了解 Visual Basic 編寫代碼的機制是很重要的。和任何編程語言一樣,Visual Basic 有自身的組織、編輯和格式化代碼規則。

代碼模塊
Visual Basic 的代碼存儲在模塊中。模塊有三種類型:窗體、標准和類。簡單的應用程序可以只有一個窗體,應用程序的所有代碼都駐留在窗體模塊中。而當應用程序龐大復雜時,就要另加窗體。最終可能會發現在幾個窗體中都有要執行的公共代碼。因為不希望在兩個窗體中重復代碼,所以要創建一個獨立模塊,它包含實現公共代碼的過程。獨立模塊應為標准模塊。此後可以建立一個包含共享過程的模塊庫。
每個標准模塊、類模塊和窗體模塊都可包含:
聲明。可將常數、類型、變量和動態鏈接庫 (DLL) 過程的聲明放在窗體、類或標准模塊的模塊級。
過程。Sub、Function 或者 Property 過程包含可以作為單元來執行的代碼片段。本章後面的“過程概述”一節中將討論這些內容。

窗體模塊
窗體模塊(文件擴展名為 .FRM )是大多數 Visual Basic 應用程序的基礎。窗體模塊可以包含處理事件的過程、通用過程以及變量、常數、類型和外部過程的窗體級聲明。如果要在文本編輯器中觀察窗體模塊,則還會看到窗體及其控件的描述,包括它們的屬性設置值。寫入窗體模塊的代碼是該窗體所屬的具體應用程序專用的;它也可以引用該應用程序內的其它窗體或對象。

標准模塊
標准模塊(文件擴展名為 .BAS)是應用程序內其它模塊訪問的過程和聲明的容器。它們可以包含變量、常數、類型、外部過程和全局過程的全局(在整個應用程序范圍內有效的)聲明或模塊級聲明。寫入標准模塊的代碼不必綁在特定的應用程序上;如果能夠注意不用名稱引用窗體和控件,則在許多不同的應用程序中可以重用標准模塊。

類模塊
在 Visual Basic 中類模塊(文件擴展名為 .CLS)是面向對象編程的基礎。可在類模塊中編寫代碼建立新對象。這些新對象可以包含自定義的屬性和方法。實際上,窗體正是這樣一種類模塊,在其上可安放控件,可顯示窗體窗口。
詳細信息 關於在類模塊中編寫代碼的更詳細的信息,請參閱第九章“用對象編程”。
注意 Visual Basic 的專業版和企業版也包含 ActiveX 文檔、ActiveX 設計器和用戶控件。它們引入了具有不同文件擴展名的新模塊類型。從編寫代碼的角度來看,這些模塊應視同為窗體模塊。

使用“代碼編輯器”
Visual Basic “代碼編輯器” 是一個窗口,大多數代碼都在此窗口上編寫。它像一個高度專門化的字處理軟件,有許多便於編寫 Visual Basic 代碼的功能。圖 5.4所示為“代碼編輯器”窗口。
因為要操作模塊中的 Visual Basic 代碼,所以要為每一個從“工程資源管理器”中選擇的模塊打開一個獨立的“代碼編輯器”窗口。在每個模塊中,對於模塊中所包含的每個對象,將模塊中的代碼再細分出與對象對應的獨立部分。用“對象列表框”實現各部分間的切換。 在窗體模塊中,該列表包含一個通用段,一個屬於窗體自身的段以及窗體所包含的每一控件的段。對於類模塊,列表包括一個通用段和一個類段;對於標准模塊,只有一個通用段被顯示。
每一段代碼都可包含幾個用“過程列表框”訪問的不同過程。對窗體或控件的每一個事件過程,窗體模塊的過程列表都包含一個獨立的段。例如,Label控件的過程列表就包含 Change 事件段、Click 事件段和 DblClick 事件段等等。類模塊只列舉類本身的事件過程——初始化和終止。標准模塊不列舉任何事件過程,因為標准模塊不支持事件。

模塊通用段的過程列表只包含唯一段——聲明段,其中放置模塊級的變量、常數和 DLL 聲明。當在模塊中添加子過程或函數過程時,那些過程被添加到聲明段下方的“過程列表框”中。
代碼的兩種不同視圖都可用於“代碼編輯器”窗口。可以一次只查看一個過程,也可以查看模塊中的所有過程,這些過程彼此之間用線隔開(如圖 5.4所示)。為了在兩個視圖之間進行切換,利用編輯器窗口左下角的“查看選擇”按鈕。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved