第1章Visual Basic工程基礎(chǔ)_第1頁(yè)
第1章Visual Basic工程基礎(chǔ)_第2頁(yè)
第1章Visual Basic工程基礎(chǔ)_第3頁(yè)
第1章Visual Basic工程基礎(chǔ)_第4頁(yè)
第1章Visual Basic工程基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩113頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 第第1章章 Visual Basic工程基礎(chǔ)工程基礎(chǔ) 1.1 認(rèn)識(shí)工程資源管理器認(rèn)識(shí)工程資源管理器 1.2 程序的調(diào)試與錯(cuò)誤處理程序的調(diào)試與錯(cuò)誤處理 1.3 如何交付應(yīng)用程序如何交付應(yīng)用程序 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 1.1 認(rèn)識(shí)工程資源管理器 作為Basic語(yǔ)言的一種擴(kuò)充,Visual Basic語(yǔ)言具有 簡(jiǎn)單易學(xué)的特性,只要稍有語(yǔ)言基礎(chǔ)就可以很快掌握 并進(jìn)而精通??梢暬挠脩艚缑嬖O(shè)計(jì)功能,把程序設(shè) 計(jì)人員從繁瑣復(fù)雜的界面設(shè)計(jì)中解脫出來(lái);所見(jiàn)即所 得的可視

2、化編程環(huán)境,使界面設(shè)計(jì)如玩積木游戲一般; 強(qiáng)大的多媒體功能可輕而易舉地開(kāi)發(fā)出集聲音、動(dòng)畫(huà)、 影像和圖片于一體的多媒體應(yīng)用程序,使得編程成為 一種享受。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 為了使用Visual Basic創(chuàng)建應(yīng)用程序,就應(yīng)當(dāng)使用工 程。一個(gè)工程就是用來(lái)建造應(yīng)用程序文件的集合。當(dāng)需 要?jiǎng)?chuàng)建一個(gè)應(yīng)用程序時(shí),通常就要?jiǎng)?chuàng)建一些新窗體;當(dāng) 然,也可以利用或修改以前工程所創(chuàng)建的窗體,對(duì)于可 能納入工程的其他模塊或文件同樣如此。來(lái)自其他應(yīng)用 程序的ActiveX控件和對(duì)象也可在工程之間共享。 在將工程的所有部件匯集在一起并完成代碼編寫(xiě)之 后,就可

3、以編譯工程來(lái)創(chuàng)建一個(gè)可執(zhí)行文件了。在開(kāi)發(fā) 應(yīng)用程序時(shí),要使用工程來(lái)管理構(gòu)成應(yīng)用程序的所有不 同的文件。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 一個(gè)完整的工程包括如下內(nèi)容: (1) 跟蹤所有部件的工程文件(.vbp)。 (2) 每個(gè)窗體的文件(.frm)。 (3) 每個(gè)窗體的二進(jìn)制數(shù)據(jù)文件(.frx)。 (4) 每個(gè)類(lèi)模塊的一個(gè)文件(.cls)。該文件是可選項(xiàng)。 (5) 每個(gè)標(biāo)準(zhǔn)模塊的一個(gè)文件(.bas)。該文件是可選項(xiàng)。 (6) 一個(gè)或多個(gè)包含ActiveX控件的文件(.ocx)。該文件是可選項(xiàng)。 (7) 單個(gè)資源文件(.res),該文件是可選項(xiàng)。

4、第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 1.1.1 什么是工程文件 在我們每次保存工程時(shí),Visual Basic都要自動(dòng)更 新工程文件(.vbp)。工程文件包含文件列表,它與出現(xiàn) 在工程資源管理器窗口的文件列表相同。工程文件還 引用工程中所使用的Active X控件和可插入對(duì)象。 通過(guò)雙擊一個(gè)現(xiàn)存工程的圖標(biāo),或從菜單中選定 【文件】【打開(kāi)工程】選項(xiàng)選擇現(xiàn)存工程,以及拖 動(dòng)該文件并放入工程資源管理器窗口,都可以打開(kāi)這 個(gè)現(xiàn)存的工程文件。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 1.1.2 創(chuàng)建、打開(kāi)和保存工程

5、如果我們想要?jiǎng)?chuàng)建、打開(kāi)和保存工程,則可以通 過(guò)【文件】菜單上的四個(gè)命令來(lái)實(shí)現(xiàn)。 (1) 利用菜單命令中的【新建工程】可以關(guān)閉當(dāng)前 打開(kāi)的工程,提示用戶保存所有修改過(guò)的文件。 (2) 利用【打開(kāi)工程】選項(xiàng)可以實(shí)現(xiàn)關(guān)閉當(dāng)前工程, 提示用戶保存所有的改動(dòng)。 (3) 使用【保存工程】選項(xiàng)可以更新當(dāng)前工程的工 程文件及其全部窗體、標(biāo)準(zhǔn)和類(lèi)模塊。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 1.1.3 使用多個(gè)工程 在Visual Basic的專(zhuān)業(yè)版和企業(yè)版中,可以同時(shí)打 開(kāi)多個(gè)工程。在建造和測(cè)試有關(guān)用戶創(chuàng)建的控件或其 他部件的解決方案時(shí),這項(xiàng)功能很有用處。在裝入了

6、多個(gè)工程時(shí),工程資源管理器窗口的標(biāo)題將變成“工 程組”,而所有打開(kāi)的工程部件都會(huì)顯示出來(lái)。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 向當(dāng)前工程組添加附加工程的操作方法如下: (1) 在菜單中選取【文件】【添加工程】命令選 項(xiàng),打開(kāi)【添加工程】對(duì)話框,如圖1-1-1所示。 (2) 選定現(xiàn)有工程或新的工程類(lèi)型,并在選取后單 擊【打開(kāi)】按鈕。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-1-1 打開(kāi)【添加工程】對(duì)話框 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 1.1.4 資源

7、文件的調(diào)用 通過(guò)資源文件可以允許用戶將某一應(yīng)用程序使用 的全部特定版本的正文和位圖匯集于一處。它可以包 含常數(shù)聲明、圖標(biāo)、屏幕文本和其他可在本地化版本 之間或在各修正版之間或在特殊配置間改變的資料。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 具體的操作步驟如下: (1) 從菜單中選定【工程】【添加文件】命令選 項(xiàng)或直接按“Ctrl +D”快捷鍵,彈出如圖1-1-2所示的對(duì) 話框。 (2) 選定一個(gè)存在的資源文件(.res),并單擊【打開(kāi)】 按鈕。一個(gè)工程只能有一個(gè)資源文件。如果要添加第 二個(gè)具有 .res擴(kuò)展名的文件,則會(huì)產(chǎn)生錯(cuò)誤。 第第1 1章章 Vi

8、sual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-1-2 打開(kāi)【添加文件】對(duì)話框 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 1.2 程序的調(diào)試與錯(cuò)誤處理程序的調(diào)試與錯(cuò)誤處理 1.2.1 程序設(shè)計(jì)中常見(jiàn)的錯(cuò)誤 凡是接觸過(guò)編程的人都知道,程序設(shè)計(jì)中常見(jiàn)的 錯(cuò)誤可以分為三種:編譯錯(cuò)誤、運(yùn)行時(shí)間錯(cuò)誤和邏輯 錯(cuò)誤。下面逐個(gè)對(duì)這三種錯(cuò)誤進(jìn)行分析。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 1編譯錯(cuò)誤 編譯錯(cuò)誤是指程序在編譯過(guò)程中出現(xiàn)的錯(cuò)誤。編 譯錯(cuò)誤是由于不正確地構(gòu)造代碼而產(chǎn)生的,比如非法 使用或丟失關(guān)鍵字,

9、遺漏了某些必需的標(biāo)點(diǎn)符號(hào),函 數(shù)調(diào)用缺少參數(shù)或括號(hào)不匹配等。下面的代碼都會(huì)導(dǎo) 致編譯錯(cuò)誤: Printf Visual Basic 6.0 關(guān)鍵字Print書(shū)寫(xiě)錯(cuò)誤 Fore I=1 TO 100 For關(guān)鍵字寫(xiě)錯(cuò) x=Sin 函數(shù)調(diào)用缺少參數(shù) 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 假如在窗體的代碼部分書(shū)寫(xiě)如下代碼: Private Sub Form_Load( ) Printf 窗體載入過(guò)程 End Sub 接著按“F5”鍵來(lái)運(yùn)行程序,則會(huì)看到如圖1-2-1所 示的出錯(cuò)信息。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)

10、工程基礎(chǔ) 圖1-2-1 編譯錯(cuò)誤信息 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 在錯(cuò)誤信息框中可以看到對(duì)錯(cuò)誤原因的概要說(shuō)明。 單擊錯(cuò)誤信息框中的【幫助】按鈕,可得到關(guān)于這條錯(cuò) 誤的產(chǎn)生原因及解決辦法的詳細(xì)說(shuō)明,如圖1-2-2所示。 在輸入代碼的同時(shí),Visual Basic會(huì)及時(shí)地對(duì)代碼進(jìn) 行語(yǔ)法檢查,當(dāng)查到不合語(yǔ)法的語(yǔ)句時(shí),它會(huì)及時(shí)地通 知用戶,這對(duì)于減少或避免編譯錯(cuò)誤是很有幫助的。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-2 錯(cuò)誤35的幫助信息 第第1 1章章 Visual BasicVisual

11、Basic工程基礎(chǔ)工程基礎(chǔ) 比如,用戶可以在窗體Form1的From Load過(guò)程中 寫(xiě)入如下代碼: Private Sub Form_Load( ) Dim x(4) as Integer fore I=0 to 4 x(I)=I Next End Sub 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-3 Visual Basic的錯(cuò)誤檢查 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 2運(yùn)行時(shí)間錯(cuò)誤 運(yùn)行時(shí)間錯(cuò)誤是指應(yīng)用程序在運(yùn)行期間執(zhí)行了非 法操作或某些操作失敗,比如打開(kāi)的文件沒(méi)找到,磁 盤(pán)空間不足,網(wǎng)絡(luò)連

12、接斷開(kāi),除法運(yùn)算中除數(shù)為零等。 這種錯(cuò)誤在編譯時(shí)常常不易被開(kāi)發(fā)人員發(fā)覺(jué),只有在 運(yùn)行時(shí)才會(huì)發(fā)現(xiàn)。 數(shù)組下標(biāo)引用越界是一種典型的運(yùn)行時(shí)間錯(cuò)誤, 比如在代碼的Form_Load過(guò)程中加入下面幾行語(yǔ)句: 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) Private Sub Form_Load( ) Dim x(10) As Integer Dim I As Integer For I = 0 To 12 x(I) = I Next I End Sub 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-4 【下標(biāo)越界】的運(yùn)行

13、時(shí)間錯(cuò)誤信息 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 3邏輯錯(cuò)誤 當(dāng)應(yīng)用程序未按預(yù)期方式執(zhí)行時(shí)就會(huì)產(chǎn)生邏輯錯(cuò) 誤。從語(yǔ)法上看應(yīng)用程序的代碼是有效的,應(yīng)用程序 也可以執(zhí)行,但得不到應(yīng)有的結(jié)果。這種錯(cuò)誤是最麻 煩的,需要認(rèn)真分析并借助調(diào)試工具才能查出原因并 改正。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 1.2.2 程序調(diào)試 1Visual Basic提供的調(diào)試工具 Visual Basic提供的調(diào)試工具包括:斷點(diǎn)、臨時(shí)表 達(dá)式、單步運(yùn)行等,打開(kāi)Visual Basic的【調(diào)試】菜單 可以看到所提供的調(diào)試功能,如圖

14、1-2-5所示。在使用 調(diào)試工具時(shí),可以通過(guò)【調(diào)試】菜單選擇,也可以使 用【調(diào)試】工具欄。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 可以按照下面的操作步驟來(lái)打開(kāi)【調(diào)試】工具欄: (1) 從主菜單中選擇【視圖】【工具欄】【調(diào) 試】命令選項(xiàng)。 (2) 此時(shí)便可以看到【調(diào)試】工具欄出現(xiàn)在Visual Basic的桌面上了,如圖1-2-6所示。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-5 【調(diào)試】菜單 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-6 【調(diào)試】工具

15、欄 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 表1-2-1 調(diào)試功能簡(jiǎn)述 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 2應(yīng)用舉例 下面再通過(guò)一個(gè)實(shí)例來(lái)講述Visual Basic的調(diào)試工 具。首先我們需要建立這個(gè)程序,其目的是求一個(gè)整 數(shù)的階乘。當(dāng)用戶輸入一個(gè)正整數(shù)時(shí),程序首先對(duì)輸 入?yún)?shù)進(jìn)行有效性檢查。如果參數(shù)有效,則求出階乘 值并返回結(jié)果;否則,將會(huì)提示輸入?yún)?shù)無(wú)效,并要 求用戶重新進(jìn)行輸入。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 1) 建立程序 下面就來(lái)詳細(xì)講述一下建

16、立這個(gè)程序的操作步驟: (1) 運(yùn)行Visual Basic 6.0并建立標(biāo)準(zhǔn)工程。 (2) 單擊工具欄中的【Label】工具,在Form1窗體 中繪制一個(gè)標(biāo)簽,并將其Caption屬性設(shè)為“請(qǐng)輸入 (020)之間的整數(shù)”。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) (3) 單擊工具欄中的【Text】工具,并在Form1窗體 中繪制,然后將其Text屬性設(shè)置為空,即沒(méi)有任何字符。 (4) 單擊工具欄中的【Command Button】并將其放 置在窗體中,將其Caption屬性設(shè)為“計(jì)算階乘”。 (5) 放置兩個(gè)標(biāo)簽到窗體Form1中,屬性采用其缺 省值

17、。如圖1-2-7所示即為設(shè)計(jì)好的界面。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-7 設(shè)計(jì)好的程序界面布局 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 2) 編寫(xiě)代碼 我們編寫(xiě)了如下的兩個(gè)函數(shù)來(lái)完成這兩件事情: (1) 函數(shù)CheckParameters用來(lái)檢查用戶輸入的參數(shù), 返回值是檢查過(guò)的合法參數(shù)。該函數(shù)的代碼如下所示: Function CheckParameters( ) 將用戶輸入轉(zhuǎn)化為數(shù)值參數(shù) x=Val(Text1.Text) 檢查用戶輸入是否有效,如果輸入錯(cuò)誤,則提示 用戶重新輸入,如果輸

18、入正確,則把檢查過(guò)的參數(shù)作 為結(jié)果返回 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) If X20 And X=0 Then Label3.Caption=Str$(JIECHENG(retV) End If End Sub 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 3) 程序測(cè)試 (1) 按F5鍵運(yùn)行程序,并在文本框中輸入0,按 【計(jì)算階乘】按鈕,得到如圖1-2-8所示的結(jié)果,這個(gè) 結(jié)果是正確的。 (2) 再來(lái)測(cè)試計(jì)算 1的階乘。正常情況下程序應(yīng)顯 示輸入錯(cuò)誤等提示。在文本框中輸入?1,單擊【計(jì)算 階乘】按鈕,這時(shí)所

19、看到的結(jié)果如圖1-2-9所示。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-8 測(cè)試計(jì)算0的階乘 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-9 測(cè)試計(jì)算-1的階乘 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) (3) 這時(shí)候就可以打開(kāi)代碼窗口,在調(diào)用 CheckParameters處設(shè)置斷點(diǎn),以便程序在檢查參數(shù)之 前中斷運(yùn)行,這樣便可以查看程序狀態(tài)和中間結(jié)果。 可按下面的操作步驟來(lái)實(shí)現(xiàn)加入斷點(diǎn)的操作: 在【代碼】窗口中,把光標(biāo)移動(dòng)到要增加斷點(diǎn) 的一行。 打開(kāi)菜單

20、【調(diào)試】【切換斷點(diǎn)】命令選項(xiàng)或 按F9鍵,這時(shí)所選的語(yǔ)句出現(xiàn)一個(gè)紅色亮條,標(biāo)識(shí)所 設(shè)斷點(diǎn)處。如圖1-2-10所示顯示了加入斷點(diǎn)后的情形。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-10 在程序中加入斷點(diǎn) 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 如果要去除斷點(diǎn),則可以再次在菜單中單擊【調(diào) 試】【切換斷點(diǎn)】命令選項(xiàng)或按F9鍵,或者在菜單 中單擊【調(diào)試】【清除所有斷點(diǎn)】命令選項(xiàng)以清除 所有斷點(diǎn)。 (4) 按F5鍵運(yùn)行程序。在文本框中輸入-1,單擊 【計(jì)算階乘】按鈕,這時(shí)程序在斷點(diǎn)處中斷,如圖1-2- 11所示

21、。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-11 程序運(yùn)行到斷點(diǎn)處 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) (5) 下面再來(lái)進(jìn)行單步執(zhí)行以跟蹤檢查參數(shù)這部分 代碼的運(yùn)行情況。打開(kāi)【調(diào)試】菜單,單擊【逐語(yǔ)句】 命令或按F8鍵單步執(zhí)行。這時(shí),程序?qū)⒆詣?dòng)轉(zhuǎn)入 CheckParameters函數(shù)中,如圖1-2-12所示。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-12 單步執(zhí)行進(jìn)入到CheckParameters函數(shù)中 第第1 1章章 Visual Basic

22、Visual Basic工程基礎(chǔ)工程基礎(chǔ) 在執(zhí)行到if.語(yǔ)句處的時(shí)候,在菜單中單擊【視圖】 【立即窗口】命令選項(xiàng),這時(shí)桌面上出現(xiàn)【立即】 窗口,其使用效果如圖1-2-13所示。在【立即】窗口中 輸入“ -x”,觀察程序接收到的參數(shù)值?!玖⒓础看翱?中顯示X的值為-1,說(shuō)明程序接收到的參數(shù)是正確的, 錯(cuò)誤可能在下面,所以繼續(xù)單步執(zhí)行。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-13 在【立即】窗口觀察變量 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) (6) 按F8鍵使用單步運(yùn)行,程序流程轉(zhuǎn)到Else語(yǔ)句 處,

23、如圖1-2-14所示?,F(xiàn)在發(fā)現(xiàn)問(wèn)題就出在這里:因輸 入的-1不在020之間,程序應(yīng)執(zhí)行 Label2.Caption=輸入錯(cuò)誤!請(qǐng)重新輸入! 語(yǔ)句,顯示輸入錯(cuò)誤提示,而現(xiàn)在程序沒(méi)有執(zhí)行 這條語(yǔ)句,因此在if判斷語(yǔ)句中的條件設(shè)置可能有問(wèn)題。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-14 單步運(yùn)行流轉(zhuǎn)到Else語(yǔ)句處 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 仔細(xì)查看if語(yǔ)句,果然問(wèn)題出在這里,這條語(yǔ)句寫(xiě) 的是: If x20 AND x20 AND x20 or x0”,然后修改成 正確的代碼,按F5鍵運(yùn)

24、行。這時(shí),程序運(yùn)行的結(jié)果如 圖1-2-15所示,顯示出錯(cuò)信息,表示參數(shù)檢查部分已正 常工作。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-15 修改if語(yǔ)句后的運(yùn)行結(jié)果 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) (7) 然后關(guān)閉運(yùn)行著的程序,在菜單中單擊【調(diào)試】 【清除所有斷點(diǎn)】命令選項(xiàng)并按F5鍵運(yùn)行程序。先 在輸入文本框中輸入5,再單擊【計(jì)算階乘】按鈕,程 序運(yùn)行的結(jié)果如圖1-2-16所示。觀察計(jì)算結(jié)果,5的階 乘等于0,顯然是不正確的,這說(shuō)明階乘計(jì)算也有錯(cuò)誤。 第第1 1章章 Visual BasicV

25、isual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-16 計(jì)算5的階乘 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) (8) 下面再觀察求解階乘的函數(shù)。關(guān)閉運(yùn)行著的程 序,然后在菜單中單擊【調(diào)試】【添加監(jiān)視】命令 選項(xiàng),并按如圖1-2-17所示進(jìn)行設(shè)置。單擊【確定】按 鈕,按F5鍵運(yùn)行程序。在輸入文本框重新輸入5,單擊 【 計(jì) 算 階 乘 】 按 鈕 , 這 時(shí) 候 , 程 序 將 在 調(diào) 用 JIECHENG函數(shù)處中斷,如圖1-2-18所示。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-17 【添加監(jiān)視】對(duì)話框

26、 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-18 監(jiān)視JIECHENG函數(shù)值 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 單擊菜單中的【視圖】【調(diào)用堆棧】命令選項(xiàng) 來(lái)觀察JIECHENG函數(shù)遞歸調(diào)用是否有問(wèn)題。打開(kāi) 【調(diào)用堆?!看翱冢鐖D1-2-19所示。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-19 使用【調(diào)用堆棧】窗口 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) (9) 在【調(diào)用堆?!看翱谥袉螕簟娟P(guān)閉】按鈕,關(guān) 閉

27、【調(diào)用堆?!看翱冢缓蟀碏5鍵繼續(xù)運(yùn)行。這時(shí)。 JIECHENG函數(shù)的返回值改變了,程序進(jìn)入中斷方式, 如圖1-2-20所示。 (10) 再打開(kāi)【調(diào)用堆?!看翱冢鐖D1-2-21所示, 查看堆棧。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-20 JIECHENG函數(shù)返回值改變 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-21 查看堆棧 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) JIECHENG函數(shù)的返回值為0,而實(shí)際應(yīng)為2,這 里發(fā)生了錯(cuò)誤。關(guān)閉【調(diào)用堆棧】

28、窗口,結(jié)束程序的 運(yùn)行,仔細(xì)查看JIECHENG函數(shù)部分的代碼。 Function JIECHENG(ByVal X AS Integer) As Long 利用遞歸算法來(lái)求階乘,如果x等于0或等于1,則 遞歸退出 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) If X=0 or x=1 Then JIECHENG=1 Else 否則,遞歸求解 JIEHENG=X*JIECHENG(X-1) End If End Function 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 1.2.3 錯(cuò)誤的捕獲及處理 1On Erro

29、r Goto標(biāo)號(hào)Resume結(jié)構(gòu) 這種語(yǔ)句結(jié)構(gòu)如下: On Error Goto 標(biāo)號(hào) 為錯(cuò)誤處理語(yǔ)句處的標(biāo)號(hào) 可能出錯(cuò)的語(yǔ)句部分 Exit Sub (Function) 標(biāo)號(hào): 錯(cuò)誤處理語(yǔ)句 Resume 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 2On Error Goto標(biāo)號(hào)Resume Next語(yǔ)句 這種語(yǔ)句結(jié)構(gòu)如下: On Error Goto 標(biāo)號(hào) 可能出錯(cuò)的部分 Exit Sub (Function) 標(biāo)號(hào): 錯(cuò)誤處理語(yǔ)句 Resume Next 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 1.2.4

30、條件編譯的使用 條件編譯是由一組源代碼根據(jù)不同的編譯條件編 譯出不同的可執(zhí)行文件版本,也可用來(lái)調(diào)試程序。 Visual Basic提供的條件編譯語(yǔ)句同標(biāo)準(zhǔn)條件語(yǔ)句 If.Then.Else.End if類(lèi)似,不過(guò)要在關(guān)鍵字If、Then、 Else、End if前加入“#”符號(hào),如下所示: 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) #If 測(cè)試編譯常量表達(dá)式Then 語(yǔ)句1 #Else if 測(cè)試編譯常量表達(dá)式2 Then 語(yǔ)句2 #Else 語(yǔ)句3 #End if 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 其中,

31、編譯常量是由#const語(yǔ)句定義的常量名。定 義編譯常量的語(yǔ)法如下: #Const 常量名=常數(shù)或表達(dá)式 也可以通過(guò)菜單在工程屬性中對(duì)其進(jìn)行設(shè)置,具 體的設(shè)置步驟如下: (1) 在主菜單中單擊【工程】【工程屬性】命令 選項(xiàng)。 (2) 在【工程屬性】窗口中選擇【生成】項(xiàng)。 (3) 在【條件編譯參數(shù)】欄中輸入編譯常量并賦值, 如圖1-2-22所示。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-22 設(shè)置編譯常量 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 首先按下面的步驟建立這個(gè)小程序: (1) 新建一個(gè)【標(biāo)準(zhǔn)工

32、程】,再在窗體中放置一個(gè) 按鈕,并且一切屬性都使用缺省值。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) (2) 在【代碼】窗口中輸入如下的代碼: #Const DebugFlag=1 設(shè)置編譯常量 Private Sub Command1_Click( ) #If DebugFlag=1 Then MsgBox 程序處于調(diào)試狀態(tài) #Else MsgBox 程序處于正常狀態(tài) #End if End Sub 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-23 調(diào)試狀態(tài)編譯運(yùn)行 第第1 1章章 Visual Basi

33、cVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-2-24 正常狀態(tài)編譯運(yùn)行 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 1.3 如何交付應(yīng)用程序如何交付應(yīng)用程序 應(yīng)用程序開(kāi)發(fā)完畢后,還有一項(xiàng)重要的工作要做, 就是如何讓購(gòu)買(mǎi)應(yīng)用程序的用戶方便地把已開(kāi)發(fā)的應(yīng) 用程序安裝到自己的系統(tǒng)中。在發(fā)布應(yīng)用程序時(shí),必 須經(jīng)過(guò)下述兩個(gè)步驟: 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) (1) 打包。為應(yīng)用程序打包是指創(chuàng)建一個(gè)軟件包的 操作,該軟件包可以將應(yīng)用程序安裝到用戶的計(jì)算機(jī)上。 (2) 部署。必須將打好包的應(yīng)用程序放置到適當(dāng)?shù)?

34、位置,以便用戶可以從該位置安裝應(yīng)用程序。這意味著 將軟件包復(fù)制到軟盤(pán)、光盤(pán)、磁盤(pán)上,或部署到一個(gè) Web站點(diǎn)中。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 1.3.1 使用打包向?qū)?由于是控制Access 2000及其更高版本的數(shù)據(jù)庫(kù), 因此在開(kāi)發(fā)之前需要在Visual Basic環(huán)境中明確引用 Access 9.0和DAO 3.6運(yùn)行庫(kù)。在主菜單中單擊【工程】 【引用】選項(xiàng),出現(xiàn)如圖1-3-1所示的引用選項(xiàng)選擇 對(duì)話框,從中選擇所需選項(xiàng),即在所選選項(xiàng)前打上勾, 否則,程序無(wú)法正確運(yùn)行,并且打包時(shí)不能自動(dòng)包含 控制Access 2000數(shù)據(jù)庫(kù)所需的文件。

35、 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-3-1 明確引用控制Access 2000數(shù)據(jù)庫(kù)所需的運(yùn)行庫(kù) 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 當(dāng)程序編寫(xiě)調(diào)試完畢之后,單擊Visual Basic程序 的【文件】【生成MainManager.exe】命令選項(xiàng),將 該數(shù)據(jù)庫(kù)程序編譯生成可執(zhí)行程序MainManager.exe就 可以了。 下面就來(lái)介紹為某個(gè)應(yīng)用程序進(jìn)行打包的具體方法。 在Visual Studio中提供了專(zhuān)門(mén)為應(yīng)用程序打包的向 導(dǎo)工具,如圖1-3-2所示。找到并打開(kāi)該向?qū)С绦蚝笾?步根據(jù)提示

36、進(jìn)行相關(guān)的操作即可。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-3-2 啟動(dòng)打包向?qū)?第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 其具體應(yīng)用步驟和方法如下: (1) 首先來(lái)確定打包對(duì)象。向?qū)С绦蜻\(yùn)行的初始界 面如圖1-3-3所示。單擊【瀏覽】按鈕,出現(xiàn)如圖1-3-4 所示對(duì)話框,設(shè)置要打包的Visual Basic工程文件。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-3-3 打包向?qū)С跏冀缑?第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工

37、程基礎(chǔ) 圖1-3-4 確定打包對(duì)象 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) (2) 單擊【打包】按鈕來(lái)開(kāi)始打包。如果向?qū)С绦?發(fā)現(xiàn)要打包的Visual Basic項(xiàng)目文件的修改日期比對(duì)應(yīng) 的可執(zhí)行程序晚,則會(huì)提示用戶是否重新編譯Visual Basic項(xiàng)目,如圖1-3-5所示。通常用戶要選擇【編譯】 按鈕,以保證打包正確。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-3-5 確認(rèn)是否重新編譯 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) (3) 選擇打包的類(lèi)型。向?qū)Ы缑嫒鐖D

38、1-3-6所示,要 求用戶選擇打包類(lèi)型。前者將以標(biāo)準(zhǔn)類(lèi)型打包(包含完 整的程序運(yùn)行所需的內(nèi)容),后者僅列出一個(gè)運(yùn)行所需 的清單。這里選擇前者,單擊【下一步】按鈕。 (4) 設(shè)置打包存放的路徑。如圖1-3-7所示,通過(guò)目 錄控制列表設(shè)置打包結(jié)果存放的路徑。如果用戶所設(shè) 路徑不存在時(shí),則向?qū)С绦驎?huì)提示是否創(chuàng)建(確認(rèn)即可), 單擊【下一步】按鈕繼續(xù)向下進(jìn)行。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-3-6 確認(rèn)打包類(lèi)型 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-3-7 設(shè)置打包存放的路徑 第第1 1章章 V

39、isual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) (5) 確定需要發(fā)布的文件,此時(shí)向?qū)Ы缑嫒鐖D1-3-8所 示。向?qū)г趧?chuàng)建軟件包前,將確定執(zhí)行應(yīng)用程序所需的 各個(gè)文件,有些文件打包向?qū)軌蜃孕姓业剑行┳远?義性質(zhì)的文件則需要用戶手工加入,特別是開(kāi)發(fā)人員自 定義的數(shù)據(jù)庫(kù)、圖像、聲音及readme.txt等文件。 (6) 此時(shí),向?qū)ё層脩暨x擇發(fā)布程序中壓縮文件的方 式以便于確定壓縮文件的個(gè)數(shù)及大小,如圖1-3-9所示。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-3-8 確定需要發(fā)布的文件 第第1 1章章 Visual BasicVisu

40、al Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-3-9 確定壓縮文件的個(gè)數(shù)及大小 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) (7) 設(shè)置安裝標(biāo)題和程序組??梢允止ご_認(rèn)程序的 安裝標(biāo)題,如圖1-3-10所示。單擊【下一步】按鈕進(jìn)入 程序組設(shè)置界面,如圖1-3-11所示。在其中確認(rèn)程序在 Windows系統(tǒng)菜單的【開(kāi)始】【程序】中對(duì)應(yīng)的顯 示內(nèi)容。設(shè)置完畢后進(jìn)入下一步。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-3-10 設(shè)置發(fā)布程序的安裝標(biāo)題 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程

41、基礎(chǔ) 圖1-3-11 設(shè)置程序在Windows【開(kāi)始】系統(tǒng)菜單中的顯示 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) (8) 確定將文件安裝到用戶機(jī)器上的位置。程序和 安裝文件通常被安裝到Program Files目錄的某個(gè)子目錄 中,而系統(tǒng)文件和從屬文件通常被安裝到 WindowsSystem或WinntSystem32目錄中。安裝程序必 須考慮這一點(diǎn),并確定每個(gè)文件要被安裝的位置,如圖 1-3-12所示。 (9) 下面講述一下設(shè)置共享文件的方法。共享的應(yīng) 用程序文件是指可能被系統(tǒng)中多個(gè)應(yīng)用程序使用的文件。 第第1 1章章 Visual BasicVisu

42、al Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-3-12 確定將文件安裝到用戶機(jī)器上的位置 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-3-13 設(shè)置共享文件 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) (10) 最后再來(lái)設(shè)置軟件包腳本名稱(chēng)。如圖1-3-14所 示,輸入腳本名稱(chēng),單擊【完成】按鈕,系統(tǒng)開(kāi)始?jí)?縮文件,完成打包過(guò)程,向?qū)崾救鐖D1-3-15所示。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-3-14 設(shè)置軟件包腳本名稱(chēng) 第第1 1章章 Visual BasicVi

43、sual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-3-15 打包完畢的提示信息 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 這時(shí)候,向?qū)С绦蛟诖虬娣诺穆窂絻?nèi)生成了若 干文件和子目錄,如圖1-3-16所示。其中,打包路徑下 的文件用于發(fā)布運(yùn)行。執(zhí)行setup.exe文件即可安裝此數(shù) 據(jù)庫(kù)應(yīng)用程序。在Support子目錄下列出了打包的所有 內(nèi)容,如圖1-3-17所示。 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-3-16 打包存放路徑的內(nèi)容 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 圖1-3-17 打包的全部?jī)?nèi)容 第第1 1章章 Visual BasicVisual Basic工程基礎(chǔ)工程基礎(chǔ) 1.3.2 在Visual Basic中制作可執(zhí)行文件 下面再來(lái)看一下在Visual Basic中制作可執(zhí)行文件 的方法,具體操作步驟如下: (1) 在編寫(xiě)完程序之后,從菜單中單擊【文件】 【生成工程1.exe】選項(xiàng),這里“

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論