1 / 32

Visual Basic 6.0 學習範本

第十二章. 模組與專案. Visual Basic 6.0 學習範本. 模組 Module. 「專案檔案」裡面所存放的是該專案所用到的模組檔案、外加控制項檔案的路徑以及相關的檔名等資訊。當電腦載入某個專案檔的同時,會將記錄在該專案檔內的各個檔案一併載入電腦內。一般專案依照需求,可由下列檔案所組成:. 1. 表單模組檔:副檔名為 .frm ,專案中若有用到表單時,每個        表單產生一個表單模組檔,儲存表單的屬性及        程式碼。 2. 專案工作區檔:副檔名為 .vbw ,專案中有用到的表單名稱與        資料,其主檔名與該專案的主檔名相同。

malo
Télécharger la présentation

Visual Basic 6.0 學習範本

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第十二章 模組與專案 Visual Basic 6.0 學習範本

  2. 模組 Module 「專案檔案」裡面所存放的是該專案所用到的模組檔案、外加控制項檔案的路徑以及相關的檔名等資訊。當電腦載入某個專案檔的同時,會將記錄在該專案檔內的各個檔案一併載入電腦內。一般專案依照需求,可由下列檔案所組成: 1. 表單模組檔:副檔名為.frm,專案中若有用到表單時,每個        表單產生一個表單模組檔,儲存表單的屬性及        程式碼。 2. 專案工作區檔:副檔名為.vbw,專案中有用到的表單名稱與        資料,其主檔名與該專案的主檔名相同。 3. 一般模組檔:副檔名為.bas,專案中有使用到一般模組來存放        公用程序時,每個一般模組會產生一個檔案。 4. ocx控制項檔:副檔名為.ocx,專案中所引用到工具箱未提供        的外加控制項檔案

  3. 5. 二進位資料檔:副檔名為.frx,表單內若使用到二進位資料如         圖片、功能表…等,這些二進位資料會另外存          成案檔案,主檔名與該表單的主檔名相同。 6. 類別模組檔:副檔名為 .cls,專案中有使用到物件類別時,專        案檔內會記錄該類別模組檔。 7. 專案群組檔:副檔名為 .vbg,當使用二個專案以上時會產生        專案群組檔,記錄所使用的專案檔名 8. 資源檔:副檔名為.res,專案中用到其它的文字或點陣圖時,      專案檔內會記錄該資源檔。 9. 其它檔案:其它還有.ctl(使用者控制項檔案)、.ctx(使用者控制       項的二進位檔案)、.pag(屬性頁檔案)、.dca(使用中       設計工具的快取記憶體檔案)、.dep(安裝精靈所使       用的儲存檔案)…等,請參閱Visual Basic 6.0的線       上輔助說明。

  4. 1.表單模組(Form Module)  以.frm為附檔名,該檔按案包括表單本身的文字說明、在表單上 面的控制項及其屬性設定。簡單應用程式的專案檔可以只用一 個表單,便可以將所有程式碼放到表單模組。表單模組可以含 有事件程序和一般程序。 2.一般模組 (Standard Module)  以.bas為副檔名。若程式很大且複雜,在專案檔中要二個或二個 以上的表單,在多個表單模組中,可能會有一些相同的程式區段 ,可建一個獨立的模組,將這相同的區段放在一個程序中,彼此 可以共用,這些的程序稱為「公用程序」,我們將這個獨立的模 組稱為「一般模組」。但是「一般模組」只能撰寫「一般程序」 3.類別模組 (Class Module)  以.cls為副檔名,是用來建立自己的物件,包括定義物件的方法 和屬性的程式碼。其功能和表單模組很類似,只是缺少使用者介 面。

  5. 專案檔(P1.vbproj) 表單2 (F2.vb) Public Sub aa() Private Sub dd() Public Sub cc() : : : 表單1 (F1.vb) 一般模組2 (M2.vb) Public Sub aa() Public Sub bb() 一般模組1 (M1.vb) Public Sub bb() Private Sub ee() : : 多個模組的程式設計 程序的宣告 Public及用Private宣告的程序,在相同模組與不相同模組下被呼叫的情形:

  6. 1.每個表單中都可以用來撰寫事件程序及一般程序;一  般模組只能撰寫一般程序。 2.不同模組可以擁有相同名稱的程序,但同一模組中,  程序名稱不可重複出現。 3.呼叫同一模組中的程序,該程序無論是用Public宣告或   是用Private宣告,皆可優先有效被呼叫而執行。 4.若某一程序被不同模組的程式呼叫則須用Public來宣告 5.若要呼叫不同表單中的程序,則必須註明表單名稱。   在F2.vb表單中執行Call F1.aa(),則會執行F1.vb表單的  aa程序。但F1.vb表單的aa程序必須是使用Public宣告。 6.若不同的一般模組中有相同名稱的程序,而且皆使用  Public宣告,則呼叫時要註明一般模組名稱。 Call M2.bb(),會執行M2.vb一般模組的bb程序。

  7. 專案檔(P2.vbp) 表單1(f1.frm) 表單2(f2.frm) 一般模組(g.bas) 宣告區 宣告區 宣告區 Option Explicit Option Explicit Option Explicit Dim v1 As String Public v3 Public v5 Public v2 As Integer Dim v7 As String Sub S1 Sub Form_Activate() Static v4 Static Sub S2 Dim v1 As Integer Dim v6 Print v5 Print f2.v3 End Sub … End Sub … … End Sub  事件程序 …  事件程序 … … … … 變數、常數、陣列的宣告 變數的宣告方式及其有效範圍:

  8. 程序範圍:在程序內用Dim或Static宣告變數;用Dim      或ReDim及Static宣告陣列;用Const宣告      常數,但有效範圍僅局限在所屬程序內。程序範圍:在程序內用Dim或Static宣告變數;用Dim      或ReDim及Static宣告陣列;用Const宣告      常數,但有效範圍僅局限在所屬程序內。 • 模組範圍:在模組的宣告區以Dim來宣告變數及陣列;      以Const來宣告常數,為所屬模組任何程序      都可使用。 • 專案範圍:變數在所屬表單模組或一般模組的宣告區      用Public宣告;陣列及常數只能在一般模組      的宣告區分別用Public及Public Const宣告。 • 當變數的名稱相同有效範圍不同時,較小區域的變數 會優先使用。

  9. 5. 表單內的專案範圍變數被不同模組使用時,須加上變  數所屬模組名稱。 6. 一般模組內的專案範圍變數被不同模組使用時,不用  加上變數所屬模組名稱。但若有名稱相同而區域較小  的有效變數或不同的一般模組內也有同名稱的有效變  數,則使用時須加上所 屬模組名稱。 7. 程序內若用static宣告變數,則該變數為靜態變數,也  就是該變數在離開程序時仍保留其變數值。 8. 程序名稱的前面,在宣告時若加上Static,則該程序內  的區域變數皆為靜態變數。

  10. 如何建立多個模組的專案 • 建立新的表單的方法為,執行功能表之 [專案/ 新增表單] 指令,或直接按   圖示。所新建 立的表單預設名稱為「Form2」,其檔案格式 為.frm,如需增加新的表單,所建立的表單名 稱再依序為「Form3」、「Form4」…。 • 新表單的屬性設定和控制項的建立方法,都與  原來的表單Form1相同。

  11. 建立一般模組 • 建立新的一般模組檔(簡稱模組)的方法為:   執行功能表[專案/加入模組] 指令來開啟「加入  新項目」對話方塊。新建立的一般模組檔預設名  稱依序為Module1.vb、Module2.vb…,模組的名  稱亦可更改。 • 在同一個專案中,所有表單或模組會共用到的函數 、程序或整體變數,都可以放在同一個模組中。您 只要在模組中的函數、程序或整體變數宣告前面加 上Public關鍵字,例如: Public Function Mul(A As Integer, B As Integer) As Integer Mul = A * B End Function

  12. 表單檔和一般模組檔的載入、刪除 • 載入:   選取功能表[專案/新增檔案] 指令,加入到專案中。  同一個模組檔可以供多個專案共同使用,所以我們  可將同一性質的程序合併成一般模組檔,專案有需  要就載入該模組檔套用。 • 刪除: 如果要將表單檔或一般模組檔,由專案中移走,只  要在專案視窗中選擇該檔,然後執行功能表[專案/移除xxx]指令就可以,其中xxx代表所選取表  單或一般模組的名稱。

  13. 1 2 3 4 設定程式起黠 VB如果沒有經特別的設定,就會以第一個建立的表單當作程式的起始物件。除此之外,一般模組中若有Main程序,也可當作VB的起始程式。

  14. 多模組專案常用的敘述與方法 載入表單 語法:Load表單名稱 功能:將指定表單檔載入記憶體中 1. Load敘述只會將表單載入到記憶體而不會在螢 幕上顯示表單,但可以讀取、設定或修改表單 的屬性值。 2.Load敘述後面除了可以接表單外,還可以接控  制項名稱,以載入新的控制項。

  15. 刪除表單 語法:Unload表單名稱 功能:將指定表單檔從記憶體中釋放 1. Unload敘述可以將表單由記憶體中釋放掉。如 果要再使用該表單時,必須用Load敘述重新載 入。 2. Unload敘述亦可以刪除控制項。 3. Unload Me敘述就是將目前的表單刪除。

  16. 顯示表單 語法:[表單名稱.]Show [style] 功能:顯示指定之表單 1.執行Show方法時,如果該表單尚未載入記憶體  時,Visual Basic會自動先載入再顯示。 2. style參數值可為0或1(0為預設值),說明如下:  0:所顯示的表單可與其它表單並存。亦即表單   間可自由切換。 1:顯示所指定的表單時,不可切換至其它表單   ,除非指定的表單關閉。

  17. 隱藏表單 語法:[表單名稱.]Hide 功能:隱藏指定之表單 1.執行Hide()方法時,只讓表單暫時在螢幕上消失,但 表單仍在記憶體中,所以還是可以取得和設定該表單 的屬性值,但無法操作表單上的物件。 2. 如果該表單已不再使用,請使用Unload敘述刪除該 表單,以節省記憶體。 3.當表單被隱藏時,其表單的Visible屬性被設為False。

  18. 2. 在主視窗有二個變化選擇,任選其中一個選擇按鈕,  再按   鈕,則分別出現所對應的視窗。 3. 在每一個視窗中,先輸入一英文字串,再按      鈕,會顯示變化結果,全部如下圖所示。 【範例】建立三個表單模組及一個一般模組,使輸入字    串分別以不同形式顯示。(程式碼請參照程式碼) 1. 程式一執行,出現如下圖程式主視窗。

  19. frmSel fraChoice optInver cmdOk optDelSpace cmdEnd frmDelSpace lblInput txtInput cmdExit cmdOk lblOutput lblRes frmInver lblInput txtInput cmdExit cmdOk lblOutput lblRes

  20. 物件 屬性 預設名稱 Name (名稱) Caption (標題) Font/大小 (字體大小) Form1 frmMain f12_2_1字串處理 (預設值) Frame1 fraChoice 變化選擇 12 Option1 optInver 反向排列 12 Option2 optDel 清除空白 12 Command1 cmdOk 確定 12 Command1 cmdEnd 結束 12 jMAIN.FRM

  21. 物件 屬性 預設名稱 物件 屬性 預設名稱 Name (名稱) Name (名稱) Caption (標題) Caption (標題) Text (文字) Font/大小 (字體大小) Form3 Form2 frmInver frmDelSpace 反向排列 清除空白 - 12 Label1 lblInput 輸入英文字串 - Label2 lblOutput 結果 - Label3 lblRes <空字串> - Text1 txtInput - <空字串> Command1 cmdOk 確定 - Command1 cmdExit 離開 - kINVER.FRM lDEL_SPA.FRM

  22. 多個專案的操作 • 組合式應用程式設計:  將許多可供共同使用功能獨立寫成一個小單元稱為  組合元件,將來在開發應用程式時若有用到同樣的  功能時,只要在程式中加入先前寫好的組合元件,  而不必再重新去寫程式。 • 程式設計時,這些小單元可以交給各個程式設計師同 時分工進行,只要在最後完成階段將各個小單元組合 起來即可完成一個大型軟體,而且這些小單元就像軟 體零件一樣,將來再以不同的方式組合這些軟體零件 就可完成另一套大型軟體,如此一來可節省許多程式 開發的時間以及所耗費的資源。

  23. 如何新增專案 Step1執行「檔案/建立新專案」指令,出現「建立新專   案」對話方塊。 Step2在「建立新專案」對話方塊,選取「標準執行檔   」圖示,按確定鈕,此時在「專案總管」視窗有    一Project1專案並擁有一個Form1表單。 Step3執行 [檔案/新增專案] 指令,再開啟一個專案,   則在「專案總管」視窗內存有兩個專案(Project1   及Project2)、而「專案總管」視窗的標題變成「   專案群組-Group1」、在主視窗工作區中有二個表   單,其名稱皆為Form1,但分別屬於Project1與    Project2兩個專案。

  24. Step4若「專案總管」視窗太小,則拖曳「專案總管」視窗   左側邊沿向左擴張寬度;或拖曳「專案總管」視窗下   方邊沿向下擴展高度。 Step5「專案總管」視窗的工具列有三個圖示鈕,其功能    如下:   (檢視程式碼):可用來開啟「程式碼」視窗。   (檢視物件):可用來開啟表單。   (切換資料夾):隱藏或顯示物件資料夾。 Step6開啟Project1專案的「程式碼」視窗  按一下「專案總管」視窗內Project1的 Form1  按 圖示鈕,開啟Project1專案的「程式碼」視窗

  25. 專案的編輯與執行 在專案總管中的每個專案可個別編輯與編譯成可執行檔。VB內定執行第一個專案,若希望執行或編譯其它專案,將滑鼠移至「專案總管」視窗,選取該專案名稱,按滑鼠右鍵顯示快捷功能表,執行「設為啟始動專案」指令。

  26. 如何移除專案 Step1選取「專案總管」視窗內之Project2的Form1。 Step2執行[檔案/移除專案]指令,則: 「專案總管」視窗只留下Project1專案。 工作區內的有關Project2專案的視窗一併移除。

  27. MDI 開發環境 Step 1執行 [工具/選項] 指令。 Step 2在「選項」對話方塊中選取「進階」標籤頁。

  28. Step8在test資料夾中查詢所有檔案,共有7個如下所示:Group1.vbg,Project1.vbp,Project1.vbw,Form1.frm Project2.vbp,Project2.vbw,Form2.frm。 Step9重新啟動Visual Basic 6.0,則會進入MDI開發環境。 Step10執行 [檔案/開啟舊專案] 指令,顯示「開啟舊專案」 對話方塊。 Step11選取test資料夾下的Group1檔案,按鈕,顯   示MDI開發環境下的專案群組,

  29. Shell函數-呼叫應用程式 語法:ok = Shell(“檔名.exe”, w) 功能:以 w 參數所指定方式開啟可執行檔視窗。 1. ok代表呼叫Shell函數的傳回值,如果Shell函數可 以成功啟動所要的執行檔,它會傳回所啟動執行 檔的工作代碼,否則會產生錯誤,無法繼續執行。 2. 副檔名.exe可省略。 3. 檔名可以使用變數,若有需要應該加上磁碟機名  稱與路徑。

  30. 4. w參數表示程式在執行時,被啟動應用程式的視窗所  呈現型態。如果w省略,則被啟動應用程式以最小化 (w=2)來執行: w=0:視窗被隱藏且駐點移到隱藏的視窗上。  w=1:視窗具有駐點,以原來大小和位置顯示。  w=2:視窗以圖示在顯示,並具有駐點。  w=3:視窗最大化,並具有駐點。  w=4:視窗以原來大小和位置顯示,而目前使用中     的視窗仍然維持使用中。   w=6:視窗會以一個圖示來顯示,而目前使用中的     視窗仍然維持使用中。

  31. 在    鈕上按一下滑鼠左鍵,啟動Windows95所提供「小算盤」應用程式。在    鈕上按一下滑鼠左鍵,啟動Windows95所提供「小算盤」應用程式。 在    鈕上按一下滑鼠左鍵,啟動第七章7.7.2節的數字「小時鐘」應用程式,但以      圖示置於工作列中,滑鼠在此圖示上按一下,才會出現下圖: 【範例】啟動「小算盤」與「小時鐘」應用程式(程式碼請參照光碟)

  32. 物件   屬性 預設名稱 Name (名稱) Caption (標題) Font/大小 (字型大小) Form1 f12_4_1 f12_4_1啟動應用程式 (預設值) cmdCalc Command1 cmdCalc 小算盤 18 cmdClock Command2 cmdClock 小時鐘 18 cmdEnd Command3 cmdEnd 結束 18

More Related