Visual-Basic-程序設計基礎全套電子課件完整版ppt整本書電子教案最全教學教程整套課件_第1頁
Visual-Basic-程序設計基礎全套電子課件完整版ppt整本書電子教案最全教學教程整套課件_第2頁
Visual-Basic-程序設計基礎全套電子課件完整版ppt整本書電子教案最全教學教程整套課件_第3頁
Visual-Basic-程序設計基礎全套電子課件完整版ppt整本書電子教案最全教學教程整套課件_第4頁
Visual-Basic-程序設計基礎全套電子課件完整版ppt整本書電子教案最全教學教程整套課件_第5頁
已閱讀5頁,還剩398頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Visual Basic 程序設計基礎目 錄 第1章 Viaual Basic 概述 第2章 第一個Visual Basic 程序 第3章 Visual Basic 語言基礎 第4章 程序控制結構 第5章 過程 第6章 面向對象程序設計 第7章 窗體的設計 第8章 控件的使用 第9章 菜單的設計 第10章 文件處理 第11章 數據庫應用 第12章 程序調試與文件打包內容簡介 Visual Basic是優(yōu)秀的計算機應用程序開發(fā)軟件,提供了開發(fā)Windows應用程序最迅速、最簡捷的方法,是國際通用的比較簡單易懂的計算機程序設計語言。 本書主要介紹了Visual Basic的基礎知識、編寫應用程序的

2、一般步驟和方法、Visual Basic語言基礎、程序流程控制、過程、面向對象程序設計、窗體、控件、菜單的設計與應用、文件管理、數據庫開發(fā)、程序調試和發(fā)布應用程序等12章內容。最后給出了一個VB應用程序的綜合開發(fā)實例。教學計劃 參考學時 72學時,1/3學時為上機操作。 教學過程 第一層次20學時左右,學習掌握Visual Basic的基礎知識、編寫應用程序的一般步驟和方法、Visual Basic語言基礎、程序流程控制和過程等內容。 第二層次32學時左右,掌握面向對象程序設計基礎、窗體、控件、菜單的設計與應用等內容。 第三層次20學時左右,學習文件管理、數據庫開發(fā)、程序調試和發(fā)布應用程序等高

3、級功能。 第1章 Visual Basic 概述1.1 簡述 Visual Basic1.2 Visual Basic 6.0 的安裝、啟動與退出1.3 Visual Basic 6.0 的集成開發(fā)環(huán)境1.4 獲取幫助1.1 簡述 Visual Basic “Visual”指的是可視化開發(fā)圖形用戶界面 (GUI) 的方法。在設計過程中,用戶不需編寫大量代碼,只要把各種對象添加到交互界面上即可,設計時看到的界面就是程序運行時的外觀。 BASIC語言是一種國際通用的計算機程序設計語言。 Visual Basic有學習版、專業(yè)版和企業(yè)版三種版本,分別滿足不同的開發(fā)需要。本書以學習版的Visual B

4、asic .0 簡體中文版為開發(fā)環(huán)境。 61.2 Visual Basic 6.0的安裝、啟動與退出 VB的安裝 運行環(huán)境 CPU:486DX/66 MHz 或更高的處理器。 內存:24MB以上,Windows NT下要求32MB以上。 磁盤空間:典型安裝 48MB,完全安裝 80MB。 顯示器:VGA 或分辨率更高的監(jiān)視器。 安裝 VB:從 CD 盤上安裝。 VB的啟動與退出 啟動VB:選擇“開始|程序Micrsoft Visual Basic 6.0 中文版Micrsoft Visual Basic 6.0 中文版”命令。 退出VB:選擇“文件|退出”命令。71.3 Visual Basi

5、c 6.0 的集成開發(fā)環(huán)境 啟動VB后,出現 “新建工程”對話框。 在“新建”選項卡中,選中“標準EXE”項,再單擊“打開”按鈕,即進入VB集成開發(fā)環(huán)境。 建立新的工程打開最近使用過的工程打開已有的工程81.3 Visual Basic 6.0 的集成開發(fā)環(huán)境對象窗口工具欄菜單欄工具箱工程資源 管理器屬性窗口立即窗口窗體布局窗口VB的集成開發(fā)環(huán)境91.3 Visual Basic 6.0 的集成開發(fā)環(huán)境 工具箱 利用工具箱中的工具可以設計用戶界面。 選項按鈕OLE對象文本框列表框驅動器列表框文件列表框線條數據水平滾動條 標 簽框 架復選框組合框定時器目錄列表框形 狀選擇對象101.3 Visu

6、al Basic 6.0 的集成開發(fā)環(huán)境 工程資源管理器 在該窗口中可以管理一個應用程序程中使用的所有文件,如工程文件(Vbp)、窗體文件(Frm)、標準模塊文件(Bas)等。 工程文件 是與該工程有關的所有文件和對象的集合,這些文件和對象自動鏈接到工程文件上。 工程文件窗體文件標準模塊文件工程資源管理器111.3 Visual Basic 6.0 的集成開發(fā)環(huán)境 對象窗口 也稱窗體設計器,用來設計應用程序的界面。在該窗口中設計的窗體就是應用程序運行時所顯示的界面。 對象窗口窗體的設計界面窗體的運行界面121.3 Visual Basic 6.0 的集成開發(fā)環(huán)境 屬性窗口 用來設置對象的各項屬

7、性。 對象框:顯示當前被選定對象的名稱。 屬性列表框 左列顯示屬性項。 右列顯示屬性值。 說明:顯示當前屬性的簡要說明。對象框屬性列表框說明131.3 Visual Basic 6.0 的集成開發(fā)環(huán)境 代碼窗口 用來編寫各種通用過程和事件過程的代碼。 打開代碼窗口的方法有: 雙擊窗體的任意位置或窗體上的任意控件。 右擊窗體,從快捷菜單中選擇“查看代碼”命令。 選擇“視圖|代碼窗口”命令。過程列表框代碼編輯區(qū)對象列表框141.3 Visual Basic 6.0 的集成開發(fā)環(huán)境 窗體布局窗口 用來設置應用程序中各窗體運行時出現在屏幕上的位置。窗口中有一個代表屏幕的圖像,拖動其中的窗體圖標,可以調

8、整窗體在屏幕上的顯示位置。 窗體圖標151.3 Visual Basic 6.0 的集成開發(fā)環(huán)境 附加窗口 調試程序時利用立即窗口、本地窗口和監(jiān)視窗口等附加窗口,可以在程序中斷狀態(tài)下查詢表達式的值和命令執(zhí)行的結果。 161.4 獲取幫助 執(zhí)行“幫助”菜單中的“內容”、“索引”、“搜索”命令,可啟動 “MSDN Library Visual Studio 6.0”幫助程序,獲取幫助信息。訪問幫助信息的方法 171.4 獲取幫助VB 的幫助界面18第2章 第一個Visual Basic 6.0 程序 2.1 工程管理 2.1.1 工程的創(chuàng)建、打開和保存 2.1.2 文件的添加、保存和移除 2.1.

9、3 設置工程屬性2.2 程序設計 2.2.1 創(chuàng)建用戶界面 2.2.2 設置屬性 2.2.3 編寫代碼2.1 工程管理 工程是用來建造應用程序的文件的集合。 用VB創(chuàng)建應用程序,首先要建立工程。 202.1.1 工程的創(chuàng)建、打開和保存 創(chuàng)建工程 有兩種方法: 啟動VB時,在“新建工程”對話框中,選擇“新建”選項卡下的“標準EXE”項。 啟動VB后,選擇“文件|新建工程”命令,打開“新建工程”對話框,選擇“標準EXE”項。 建立工程后,工程資源管理器中會顯示新建的工程,并在工程中自動創(chuàng)建一個名為“Form1”的窗體。 212.1.1 工程的創(chuàng)建、打開和保存 保存工程 選擇“文件|保存工程”命令。

10、 先保存窗體文件(.frm),再保存工程文件(.vbp)。 222.1.1 工程的創(chuàng)建、打開和保存執(zhí)行保存操作后,工程資源管理器中的顯示結果:工程文件名窗體文件名工程名稱窗體名稱232.1.1 工程的創(chuàng)建、打開和保存 打開工程 選擇“文件|打開工程”命令。242.1.2 文件的添加、保存和移除 添加文件 選擇“工程”菜單中的“添加”命令。例如,要添加一個窗體,可以選擇“工程|添加窗體”命令。添加的新窗體12252.1.2 文件的添加、保存和移除 保存文件 在工程資源管理器中選定要保存的文件,執(zhí)行“文件|保存 ” 命令。修改文件后,要用新的文件名或新的路徑重新保存,執(zhí)行“文件|另存為”命令。 將

11、Form2窗體保存為“Login.frm”262.1.2 文件的添加、保存和移除 移除文件 在工程資源管理器中選定要移除的文件,執(zhí)行“工程|移除 ”命令。 例如,選擇“文件|移除Login.frm”命令可以從當前工程中移除該窗體文件。 移除文件只是將該文件從工程中移走,而不是將它從磁盤中刪除,被移除的文件仍存在于磁盤上,需要的時候還可以將它添加到工程中。272.1.3 設置工程屬性 選擇“工程|工程1屬性”命令,打開“工程屬性”對話框。 在“通用”選項卡中,可以更改工程名稱、設置啟動對象等。 例如,將默認的工程名稱“工程1”改為“教學管理系統(tǒng)”。新的工程名稱工程文件名282.1.3 設置工程屬

12、性 工程名稱是該工程在程序代碼中的標識,不能以非字母字符開頭,且不能包含點(.)和空格,長度不超過37個字符。 “啟動對象”用于選擇程序運行的起始點,可以是工程中的一個窗體(默認為Form1窗體),或者是Sub Main主程序(編寫無窗體的應用程序時,應將啟動對象設置為“Sub Main”過程)。292.2 程序設計 在VB中設計程序的一般步驟創(chuàng)建用戶界面設置對象屬性編 寫 代 碼保 存 程 序運 行 程 序302.2.1 創(chuàng)建用戶界面 創(chuàng)建用戶界面就是將構成界面的各種控件對象,如文本框、列表框、命令按鈕等添加到窗體上。 添加控件 在工具箱中選擇要添加的控件按鈕。 在窗體上用鼠標拖出控件的大小

13、。 拖出控件大小在窗體上添加的命令按鈕312.2.1 創(chuàng)建用戶界面【例2.1】 在“教學管理系統(tǒng)”工程的“Form1”窗體上添加標簽控件、定時器控件和命令按鈕控件,設計一個歡迎界面。 定時器是不可見控件,運行時不會顯示出來。 標簽控件命令按鈕定時器控件322.2.1 創(chuàng)建用戶界面 調整控件大小 在窗體中單擊控件選定它,控件四周出現8個黑色小方塊。 拖動邊角上的方塊可以按比例改變控件大小。 拖動四邊上的方塊可以在水平或垂直方向上改變控件大小。 按住Shift鍵同時按下鍵盤上的方向鍵可以將控件每次縮放一個網格單元的大?。ㄈ绻P閉網格,則每次縮放一個像素大小)。 在“屬性”窗口中設置控件的Width

14、(寬度)和Height(高度)屬性值,可以精確地調整控件大小。332.2.1 創(chuàng)建用戶界面 移動控件 方法有: 用鼠標將窗體上的控件拖動到新位置。 選定控件后,按住 Ctrl 鍵同時按下鍵盤上的方向鍵,可以將控 件每次移動一個網格單元的位置。 在“屬性”窗口中設置控件的Top(頂部)和Left(左側)屬性值,可以 精確地調整控件在窗體上的位置。 復制控件 選中要復制的控件,執(zhí)行“編輯”菜單中的“復制”和“粘貼”命令,系統(tǒng)會彈出一個消息框,詢問是否“創(chuàng)建一個控件數組”,選擇“是”,則在窗體上創(chuàng)建一個控件數組;選擇“否”,則在窗體上得到該控件的副本,副本的所有屬性與原控件相同。 342.2.1 創(chuàng)

15、建用戶界面 刪除控件 選中要刪除的控件,按 Delelte鍵。 控件的布局 步驟是: 按住Shift鍵再用鼠標依次單擊各對象,同時選定多個控件。 執(zhí)行“格式”菜單中的“對齊”、“順序”等布局命令。 Command2 置后Command2 置前執(zhí)行“順序|置前”命令執(zhí)行“順序|置后”命令352.2.1 創(chuàng)建用戶界面 鎖定控件 執(zhí)行“格式|鎖定控件”命令,可以鎖定當前窗體中的所有控件, 防止被移動或被改變大小。 控件被鎖定后就不能用鼠標操作來移動位置或改變大小,但仍可在“屬性”窗口中改變控件的Top、Left、Width、Height 屬性。 解除鎖定 再次執(zhí)行“格式|鎖定控件”命令,可以解除對控

16、件的鎖定(此時,鎖定控件項左邊的鎖頭標記從凹陷狀態(tài)恢復為正常狀態(tài))。 362.2.2 設置屬性 在“屬性”窗口中可以為窗體及其界面元素設置屬性。 在窗體設計器中選中需要設置屬性的對象。 在“屬性”窗口的屬性列表框中選擇要修改的屬性,若屬性項右側顯示插入點光標,則可以直接輸入屬性值;若屬性項帶按鈕,則單擊此按鈕會彈出一個對話框,可以用來設置相應的屬性值;若屬性項帶按鈕,則可以雙擊該屬性值遍歷所有選項,或者單擊此按鈕,在出現的一個下拉列表中選擇相應的屬性值。 372.2.2 設置屬性【例 2.2】 為例2.1中創(chuàng)建的Form1窗體中的對象設置屬性。選中窗體對象,在屬性列表框中單擊“Caption”

17、屬性項,將默認的“Form1”改為“歡迎界面” 。 選中標簽控件,將“Height”屬性值改為525,將“Width”屬性值改為4200。選中命令按鈕控件,將“Caption”屬性值改為“確定”。選中定時器控件,將“Interval”屬性值改為600。 設計階段為窗體及各控件設置的屬性,有些可以直接反映在窗體設計器中。 382.2.2 設置屬性設置窗體的Caption屬性窗體對象標簽對象設置標簽的屬性392.2.2 設置屬性設置命令按鈕的屬性命令按鈕對象設置定時器的屬性定時器對象402.2.3 編寫代碼 編寫事件代碼 方法是: 雙擊窗體或窗體中需要編寫響應代碼的控件,打開代碼窗口。 在“過程”

18、列表框中,選擇一個響應事件,如Load、Click等。然后在 Sub 和 End Sub 語句之間輸入代碼。 例如,為命令按鈕編寫Click事件代碼。系統(tǒng)設定 的代碼注釋信息一行一條語句,按回車鍵換行412.2.3 編寫代碼【例2.3】 為例2.1中的命令按鈕和定時器控件編寫事件代碼。 運行結果422.2.3 編寫代碼【例2.4】 在“教學管理系統(tǒng)”工程的“Form2”窗體上添加標簽控件、文本框控件和命令按鈕控件,設計一個登錄界面。 設置屬性后的窗體界面在窗體上添加控件標簽文本框命令按鈕432.2.3 編寫代碼運行時的窗體界面44第3章 Visual Basic 語言基礎3.1 數據類型 3.

19、1.1 數值型數據 3.1.2 字符型數據 3.1.3 布爾型數據 3.1.4 日期型數據 3.1.5 變體型數據 3.1.6 對象型數據 3.1.7 自定義類型45第3章 Visual Basic 語言基礎 3.2變量 3.3 常量 3.4 數組 3.4.1 靜態(tài)數組 3.4.2 動態(tài)數組 3.4.3清空數組 3.4.4訪問整個數組 3.4.5 多維數組46第3章 Visual Basic 語言基礎3.5 運算符 3.5.1 賦值運算符 3.5.2 算術運算符 3.5.3 連接運算符 3.5.4 日期運算符 3.5.5 比較運算符 3.5.6 邏輯運算符 3.5.7 位運算符47第3章 Vi

20、sual Basic 語言基礎3.6 函數 3.6.1 輸入輸出函數 3.6.2 數學函數 3.6.3 字符處理函數 3.6.4 日期函數 3.6.5 格式化函數 3.6.6 數據類型轉換函數 3.6.7 測試函數3.7 語句 483.1 數據類型 數據類型決定了數據的存儲和運算方式。VB的數據類型493.1.1 數值型數據 整型(Integer) 整型數據用來表示不帶小數點的數值。 如:10、+256、0、-68 整型數也可以用十六進制數表示,以&H開頭,數據位數不超過4位,范圍為 &HO &HFFFF,如:&H64表示十進制數100,&HA6表示十進制數166。 長整型(Long) 與整型

21、類似,但取值范圍比整型數大。 整型或長整型數據的運算速度較快,而且比其它數據類型占據的內存要少。 字節(jié)型(Byte) 可用來表示無符號的整數,不能表示負數。除一元減法外,所有可對整數進行操作的運算符均可操作 Byte 數據類型。 Byte 數據類型在存儲二進制數據時很有用。503.1.1 數值型數據 單精度浮點型(Single) 浮點型數據用來表示一個實數,小數點可以放在數字的任何位置。 單精度數的最大有效位數為7,超過7位時,四舍五入。如: -4.5、12.3、+12.34、0.0069、-31.24683 雙精度浮點型(Double) 雙精度數比單精度數的取值范圍大,最大有效位數為15 。

22、如: -123456789012345、0.98765432101234、1234567890.12345 貨幣型(Currency) 貨幣型數據可表示15位整數和4位小數,是一個定點數據類型(小數點位置固定),適用于貨幣計算。其精度高于單精度和雙精度浮點數。513.1.2 字符型數據 字符型數據(String) 是用雙引號(”)括起來的一串字符,包括漢字、字母、數字、符號等,如: Visual Basic、教學管理系統(tǒng)V1.0、123456789“ 字符串的類型 變長字符串 是指字符串的長度可以改變。當給一個變長字符串變量賦予不同的值時,其長度可增可減。 定長字符串 是指在程序執(zhí)行過程中,長

23、度始終保持不變的字符串。例如,定義一個長度為20個字符的字符串變量: Dim strTemp As String *20 如果賦予字符串的字符少于20個,則不足部分用空格填充;如果超過20個,則多出的字符被截去。 523.1.2 字符型數據【例3.2】 字符型數據的使用。選擇“文件|新建工程”命令,新建一個“標準EXE”類型的工程文件。然后執(zhí)行“工程|添加模塊”命令,在當前工程中添加一個名為“Module1(Module1)”的模塊。在工程資源管理器中右擊“工程1”項,從快捷菜單中選擇“工程1屬性”命令,打開“工程屬性”對話框,選擇“通用”選項卡,從“啟動對象”下拉列表框中選擇“Sub Mai

24、n”選項。當編寫無窗體的應用程序時,必須將啟動對象設置為“Sub Main”過程,作為程序運行的起始點。 在代碼窗口中輸入代碼。結果在立即窗口中輸出。533.1.2 字符型數據運行結果543.1.2 字符型數據 說明: VB是用雙引號來標識字符串的,當遇到第一個“時,系統(tǒng)就認為是字符串的開始,當遇到下一個”時,就認為是字符串的結束。 當字符串本身要包含“時,可以輸入兩個連續(xù)的”“,這時VB就會判定它是一個單純的雙引號,而不會將它作為字符串的開始或結束標志。 例如,要顯示字符串This is my first VB program, 可以在立即窗口中輸入以下語句: ? This is my fi

25、rst VB program553.1.3 布爾型數據 布爾型數據(Boolean) 只有兩個值:真(True)和假(False),通常用來表示邏輯判斷的結果,也稱之為邏輯型數據。 任何只有兩種狀態(tài)的數據,如真/假、是/否、開/關等,都可以用Boolean型表示。 說明: 當把數值型數據轉換為Boolean型時,0會轉換為False,其他非0值轉換為True。 當把Boolean值轉換為數值型時,False轉換為0,True轉換為-1。 563.1.4 日期型數據 日期型數據(Date) 用來表示日期和時間。Date型數據要用兩個“#”號作為定界符,例如: 2003年1月12日表示為: #1/

26、12/2003# 2003年1月12日下午1時20分45秒表示為: #1/12/2003 1:20:45 pm# 如果輸入的日期或時間是非法的,系統(tǒng)將顯示出錯信息。573.1.5 變體型數據 變體型數據(Variant) 能夠表示任何數據類型。 把常量賦予Variant型數據時,VB按以下規(guī)則判定其類型: 用雙引號括起來的數據是字符型 用#號括起來的數據是日期型 值為True或False的數據是布爾型 對于數值型數據,如果不含小數位,且大小不超出整型數范圍就被看作是整型;如果數值大于整型數范圍但不超過長整型數范圍,就被看作是長整型;除此以外,其它的數值型數據都被看作雙精度浮點型。583.1.6

27、 對象型數據 對象型數據(Object) 用來存儲應用程序中的某個對象,用4個字節(jié)來表示該對象在內存中的地址引用。 一個被聲明為 Object 的變量可以引用應用程序所識別的任何對象。例如: Dim objDb As Object Set objDb = OpenDatabase (c:Vb6Biblio.mdb) 上述兩條語句首先聲明一個名為objDb的對象型變量,然后引用了應用程序中的一個數據庫對象。 593.1.7 自定義類型 自定義類型 用Type語句創(chuàng)建,可以包含多個不同類型的數據元素、數組或一個已定義過的自定義類型。 例如,自定義一個名為Student的數據類型: Type Stu

28、dent Dim Number As Long 聲明Number為長整型變量 Dim Name As String 聲明Name為字符型變量 Dim Birthday As Date 聲明Birthday為日期型變量 Dim Sex As Boolean 聲明Sex為布爾變量 End Type 603.2 變量 變量 是指在數據處理過程中其值可以改變的量。 每個變量都有一個名字(變量名)和一種數據類型,(確定該變量能夠存儲哪種數據)。 變量的命名 變量必須以字母開頭,由漢字、字母、數字或下劃線組成,不能包含空格、!、#、$、%、&、.等字符,且長度不超過256個字符。 不能使用VB中的關鍵字、

29、對象名稱或屬性名稱。613.2 變量 變量的聲明 格式: Dim As 數據類型, As 數據類型 功能:聲明變量并分配存儲空間。 使用AS類型子句可以指定變量的數據類型,如果沒有指定數據類型,默認為Variant型。 聲明一個變量后,該變量的初始值默認為:數值型數據為0,字符型數據為空字符串(),日期時間型數據為0:00:00,邏輯型數據為False。623.2 變量例如,下列語句分別聲明了String 、Date和 Single類型的變量: Dim strName As String Dim datBirthday As Date Dim fltScore As Single 在 Dim

30、語句中聲明多個變量時,如果沒有用As子句指定類型,就被認為是Variant類型。例如: Dim strName As String, datBirthday As Date 該語句分別聲明了一個字符型變量和一個日期型變量。 Dim strName, strAddress As String 該語句將strAddress聲明為字符型變量,strName默認為Variant型變量。633.2 變量 變量的隱式聲明 先用Dim語句聲明一個變量,然后再使用該變量的方式稱作顯式聲明。 不事先聲明某個變量而直接在程序中使用的方式稱作隱式聲明。在執(zhí)行程序時,VB會根據該變量名自動創(chuàng)建一個Variant型變量

31、。 643.2 變量 強制聲明變量 方法是: 在程序開頭加上一條語句:Option Explicit。 選擇“工具|選項”命令,選中“要求變量聲明”選項。VB將會在任何一個新建立的模塊中自動插入Option Explicit語句。 653.2 變量 類型聲明字符 在變量名的后面加一個類型聲明字符,也可以指定變量的數據類型。 常用類型聲明字符 663.2 變量 在Dim語句中可以使用類型聲明符號來代替“As”子句。 例如:Dim iTemp% 等同于 Dim iTemp As Integer 當一個變量未經聲明第一次使用時,若后面加上了類型聲明字符,就會被自動聲明為該類型聲明字符所代表的數據類型

32、。 例如: a% = 55 隱式聲明變量a并指定其數據類型為整型 給Variant型變量賦值時,可以使用類型聲明字符指定類型。 例如:Dim varTemp As Variant varTemp = 10& 指定varTemp中存儲的數據為長整型673.3 常量 常量 指在程序運行過程中其值始終保持不變的量。 類型 系統(tǒng)常量 是系統(tǒng)內部預定義的常量,以小寫的vb字母開頭,如:vbRed(代表紅色數值)。在程序中可以直接使用系統(tǒng)常量。 用戶定義的常量 使用Const語句自定義的常量。 格式:Const As 數據類型 = 功能:聲明用于代替文字量的常數。例如,自定義一個雙精度浮點型常量Pi: C

33、onst Pi = 3.1415926 用Const語句定義常量后,就可以在程序的其他位置使用這個常量,但不能再用任何代碼去改變該常量的值。 683.4 數組 數組是內存中連續(xù)的一片存儲區(qū)域,由一組稱為數組元素的變量組成。每個數組元素通過數組名和相應的索引編號被引用。 通常情況下,一個數組中的所有元素具有相同的數據類型,數組的數據類型可以聲明為任何一種基本數據類型(包括用戶自定義類型和對象類型);當數據類型為Variant時,各個元素能夠包含不同種類的數據。 第1個元素 第2個元素 第3個元素 第4個元素 第5個元素 第6個元素內存中的數組元素 數組示意圖693.4.1 靜態(tài)數組 靜態(tài)數組 是

34、指在程序運行過程中大小固定不變的數組。 聲明靜態(tài)數組 格式1: Dim (索引值上界) As 數據類型 格式2: Dim (最小索引值 To 最大索引值) As 數據類型 功能:聲明數組并分配存儲空間。 引用數組元素 數組經過聲明后,就可以象普通變量一樣引用數組中的任何一個元素。 格式:數組名(索引號) 703.4.1 靜態(tài)數組例如: Dim a(5)As Integer Dim a(0 to 5) As Integer 這兩條語句都表示定義一個數組a,包含a(0)、a(1)、a(2)、a(3)、a(4)、a(5) 6個元素,且每個元素的類型都是整型。 Dim a(-1 to 4) As In

35、teger 該語句表示數組a中包含a(-1)、a(0)、a(1)、a(2)、a(3)、a(4) 6個元素。 a(1) = 10 給數組元素a(1)賦值為10 a(2) = 20 給數組元素a(2)賦值為20713.4.2 動態(tài)數組 動態(tài)數組 是指程序運行時大小可以改變的數組。 靜態(tài)數組的大?。磾到M元素的個數)是在聲明該數組時指定的,在程序運行過程中其大小就固定不變。 若事先不知道數組大小的情況下,可以使用動態(tài)數組。 聲明動態(tài)數組 格式:Dim () As 數據類型 功能:聲明動態(tài)數組,但不分配存儲空間。 分配動態(tài)數組的空間 格式:ReDim Preserve (索引值) As 數據類型 功能

36、:定義或重定義動態(tài)數組的大小。723.4.2 動態(tài)數組例如: 聲明動態(tài)數組fltScore,其數組元素的類型為Single Dim fltScore() As Single 給動態(tài)數組分配10個元素 ReDim fltScore(10) 獲取動態(tài)數組的元素個數 UBound(數組名) 取得索引上界 LBound(數組名) 取得索引下界733.4.3 清空數組 清空數組 即釋放數組占用的存儲空間。 清空動態(tài)數組 格式:Erase 功能:釋放動態(tài)數組的存儲空間或重新初始化靜態(tài)數組的元素。 說明 對動態(tài)數組執(zhí)行Erase語句后,將釋放它所占用的內存,所以在下次引用該動態(tài)數組之前,還必須用 ReDim

37、 語句重新定義大小。 對于靜態(tài)數組,執(zhí)行Erase語句后,會清除數組中的所有數據,但是不會改變數組的大小,即不會釋放靜態(tài)數組所占用的內存。743.4.4 訪問整個數組 將一個數組賦給一個Variant變量或者賦給一個動態(tài)數組,可以一次讀取整個數組中的數據。 說明: 把一個靜態(tài)數組賦給一個Variant變量時,系統(tǒng)會在Variant變量中構建一個與靜態(tài)數組大小一樣的同類型數組,并將靜態(tài)數組中的元素一一復制到Variant變量中。 把一個靜態(tài)數組賦給一個動態(tài)數組時,系統(tǒng)會自動改變動態(tài)數組的空間使它與靜態(tài)數組的大小相同,然后再將靜態(tài)數組中的元素一一復制到動態(tài)數組中。753.4.5 多維數組 多維靜態(tài)

38、數組 格式1:Dim (索引值,索引值,索引值,) As 數據類型 格式2:Dim (最小索引值1 To 最大索引值1, 最小索引值2 To 最大索引值2, 最小索引值3 To最大索引值3,) As 數據類型 功能:聲明多維數組并分配存儲空間。 說明:包含一個索引項時,為一維數組;包含二個索引項時,為二維數組;包含三個索引項時,為三維數組,以此類推。VB中最多可以定義 60 維的多維數組。763.4.5 多維數組 例如,要存儲2個學生3門課程的成績信息,可定義一個二維數組, 包含6個Single類型的元素: Dim fltScore(2,3) As Single 引用多維數組中的元素 格式:

39、數組名(索引號,索引號,) 例如,第1個學生第3門課程的成績 為 88.5 分,可表示為: fltScore(1,3) = 88.5 多維數組示意圖 fltScore(1,1) fltScore(1,2) fltScore(1,3)fltScore(2,1) fltScore(2,2) fltScore(2,3) 第1個元素 第2個元素 第3個元素 第4個元素 第5個元素 第6個元素773.4.5 多維數組 多維動態(tài)數組 與一維動態(tài)數組類似,先用Dim語句聲明一個數組,再用ReDim語句分配數組空間,然后才可以使用。 利用 ReDim 語句改變多維數組的大小時,如果帶 Preserve 關鍵字

40、,則只能改變最后一維的大小,否則就會出錯。例如: Dim fltNumber() As Single ReDim fltNumber(3, 5, 4) 正確,只改變最后一維的大小 ReDim Preserve fltNumber(3, 5, 6) 錯誤,改變了兩個維度的大小 ReDim Preserve fltNumber(3, 9, 8) 錯誤,改變的不是最后一維的大小 ReDim Preserve fltNumber(3, 6, 4)783.5 運算符 運算符是對相同類型的數據進行運算操作的符號。 用運算符將常量、變量和函數等數據連接起來的式子稱為表達式。表達式的類型通常由運算符的類型決定

41、,每個表達式按照規(guī)定的運算規(guī)則產生一個惟一的值。793.5.1 賦值運算符 賦值運算符 就是“=”號。 格式: = 說明:“=”右邊可以是一個常量或已賦過值的變量,也可以是一個表達式。如果是表達式,VB將先計算表達式的值,再將此值賦給“=”左邊的變量。例如:a = 3 將數值常量3賦予變量ab = a 將變量a的值賦予變量b 將表達式2 * a + b的運算結果賦予變量cc = 2 * a + b 變量還可以用它當前的值參加運算,再將運算結果賦給變量自身。 例如:X=X+1 表示先計算表達式 X+1,再將運算結果存回變量 X中,替換原來的值。803.5.2 算術運算符 算術運算符 用來進行數學

42、計算的運算符。運算優(yōu)先級依次為:括號指數運算負數乘、除、整型除法、求模加、減,其中乘、除、整型除法和求模同級,加和減同級,分別從左到右進行計算。算術運算符 813.5.3 連接運算符 連接運算符 將兩個字符串連接起來合并為一個字符串。 連接運算符的類型 有 “+”和“&” 兩種 當運算符前后的數據都是字符串時,兩者完全相同。 例如, 在立即窗口中輸入兩個表達式,結果是一樣的。 在立即窗口中輸出表達式表達式1表達式2相同的輸出結果在立即窗口中輸出表達式時,需使用“?”命令823.5.3 連接運算符 運算符前后的數據不都是字符串時,兩者的處理方式不同。 “+” 有處理數值運算的作用。當一個字符串與

43、一個數值數據相加時,如果該字符串是一個數值格式的字符串,則VB先將字符串轉換成數值,然后再相加,此時進行的是數值相加操作。如果字符串不能轉換成數值的格式,就會發(fā)生錯誤。例如, ?“12”+ 45 結果為 57(12+45) ?abc+ 45 錯誤 “&” 是專門用來進行字符串連接的運算符。使用“&”時,不管是何種類型的數據,都會先轉換成字符串再進行連接。例如, ?12.34 & 43 結果為1 2.3443 ?“a12bc” & 56 結果為 a12bc56 833.5.4 日期運算符 日期型運算符有“+”和“-”兩種。 ,結果為一個新的日期時間。的單位是“天”。 -,結果為兩個日期相差的天數

44、。 例如, ?#2003-4-28# + 10 結果是:原來的日期加上10天,為 2003-5-8 ?#3-24# - #1-21# 結果是:兩個日期相減,相差62天 843.5.5 比較運算符 比較運算符 用來對兩個表達式進行比較運算。運算結果為Boolean值(True或False)。比較運算符有種,優(yōu)先級相同。 比較運算符 說明 參加比較的數據的類型必須一致。 數值型數據按數值的大小比較,西文字符按ASCII碼的值比較,漢字按國標碼的值比較,日期時間型數據分別按年月日和時分秒的值比較。 853.5.5 比較運算符例如, 數值的比較 ?1=2, 1=2, 11.1 結果分別是 False,

45、True,True 字符串的比較 ?“張” “帳” 結果是 True 日期時間的比較 ?#2003-2-2 12:12:12# #2003-3-1# 結果是 True ?#2003-3-1 12:12:12# 5 AND 85 XOR 84 結果為 True ?True XOR (2=3) OR (3=3) AND NOT(5=5) 結果為 True883.3.7 位運算符 位運算 先將整型數據轉換為二進制數,然后將其中的每一位分別進行運算處理,其中0相當于False,1相當于True。 邏輯運算符可以作為位運算符使用。 例如, Dim a, b As Byte a = 5 b = 9 ?a

46、And b 結果為1 ?a Or b 結果為13 ?Not b 結果為246 ?a XOR b 結果為12893.3.7 位運算符 說明:進行位運算時,VB先將十進制數5和9轉換成二進制,(5)10=(00000101)2,(9)10=(00001001)2,運算過程下表所示。 位運算示例903.6 函數 函數(Function) 是一種能夠完成某種特定操作或功能的程序段。函數的運算結果稱為函數值。 函數調用的格式 Call (參數1,參數2,) 參數1,參數2, 變量 = (參數1,參數2,)說明:任何可以使用表達式的地方都可以使用函數,表達式將函數 的返回值作為運算對象。 函數分類 系統(tǒng)函

47、數:VB提供的內部函數。 用戶自定義函數:用戶根據程序設計的需要自行編寫的函數。913.6.1 輸入輸出函數 使用輸入輸出函數可以實現一些簡單的人機對話。 輸入函數 格式:InputBox( , , 功能:顯示一個用戶自定義的對話框,等待用戶輸入文本或按下 按鈕,并返回用戶在文本框中輸入的字符串。 例如,在立即窗口中輸入以下語句: ? InputBox(“請輸入學生性別” ,“學生情況”, “男”) 結果如圖所示。標題提示信息默認值923.6.1 輸入輸出函數 輸出函數 格式:MsgBox(, Buttons , ) 功能:顯示一個消息對話框,并等待用戶單擊按鈕,作為繼續(xù)執(zhí)行程序的依據。 說明

48、: 參數是一個數值表達式,指定消息框中的按鈕類型、圖標樣式和默認按鈕等,默認值為0。 用戶在消息框中單擊某一按鈕后,該函數返回一個整數值,表示某個按鈕被選中。933.6.1 輸入輸出函數按鈕類型 943.6.1 輸入輸出函數圖標樣式和默認按鈕 953.6.1 輸入輸出函數MsgBox 函數的返回值 963.6.1 輸入輸出函數例如,在立即窗口中輸入以下語句: ?MsgBox(“性別輸入錯誤, & Chr(10)& 只能輸入男或女。, _ 2 + 256 + 16, _ “輸入錯誤”) 結果如圖所示。標題提示信息按鈕類型默認按鈕圖標類型973.6.2 數學函數常用數學函數983.6.3 字符處理

49、函數993.6.4 日期函數常用的日期函數1003.6.5 格式化函數 數值格式化函數 格式:FormatNumber(數值,小數位數,前導0字符, 負數格式,數字分組) 功能:按指定的數據格式對數值數據進行格式化。 例如,? FormatNumber(-123456.789,2,-1) 結果為 -123,456.79 日期時間格式化函數 格式: FormatDateTime(日期,格式) 功能:按指定的日期時間格式對日期時間數據格式化。1013.6.5 格式化函數 通用格式化函數 格式:Format(表達式, 格式) 功能:按指定的格式對表達式進行格式化。例如, Dat = #5/10/20

50、03 20:12# ? Format(Dat, hh:mm am/pm) 結果為 08:12 pm ? Format(Dat,“現在是yyyy年m月”) 結果為:現在是2003年5月 ? Format(514, “總分是#.0”) 結果為:總分是514.0 1023.6.6 數據類型轉換函數 常用轉換函數 強制將一個表達式轉換成某種特定類型的數據。 1033.6.6 數據類型轉換函數 數值轉換為字符串函數 格式:Str() 功能:將數值型數據轉換成字符串。例如,? str(123) 結果為字符串 123 字符串轉換為數值函數 格式:Val() 功能:將字符串轉換為Double型的數值。例如,?

51、 Val(“123.45”) 結果為數值 123.451043.6.7 測試函數 數字測試函數 格式:IsNumeric() 功能:測試表達式的值是否為數值型數據或符合數值格式的字 符串,若是,返回值為True;否則,返回值為False。例如,? isNumeric(12.25) 結果為 True ? isNumeric(ab) 結果為 False 日期測試函數 格式:IsDate() 功能:測試表達式的值是否為日期時間型數據或符合日期時間 格式的字符串,若是,返回值為True;否則,返回值為False。例如,? isDate(#2003-5-20 8:30#) 結果為 True ? isDa

52、te(#2003-5-20#) 結果為 False1053.6.7 測試函數 數組測試函數 格式:IsArray() 功能:測試表達式是否為數組,若是,返回值為True;否則, 返回值為False。例如,Dim XX(5) As Single Dim YY As Single ?IsArray(XX) 結果為True ?IsArray(YY) 結果為False 數據類型測試函數 格式:TypeName() 功能:測試表達式的數據類型。例如,Dim X1 As Single ? TypeName(X1) 結果為Single1063.7 語句 語句 是指程序中的一行代碼,由VB關鍵字、函數、運算符

53、以及VB可識別的指令組成。 語句的書寫規(guī)則 通常是一條語句占一行,行尾不加任何終結符。 將兩個或多個語句放在同一行時,各語句之間要用冒號 (:) 隔開。 在一行語句的末尾加續(xù)行符“_”(下劃線),可以將一條語 句分成數行書寫。 一行語句中以單撇號()開始的內容為注釋信息。程序中的注釋內容不會影響程序運行的結果。 1073.7 語句 輸入完一行代碼并按回車鍵后,VB會自動對輸入的內容進行語法檢查;發(fā)現錯誤時,會顯示一個提示框。自動語法檢查出錯語句用紅色標識1083.7 語句 VB會按約定對語句進行格式化處理,例如,關鍵字和函數的第1個字母自動變?yōu)榇髮憽?在代碼窗口中輸入語句時,可以自動顯示有關語

54、句和函數語法格式的快速信息。 自動顯示快速信息參考信息109第4章 程序控制結構4.1 順序結構 4.2 分支結構 4.2.1 單分支結構 4.2.2 雙分支結構 4.2.3 多分支結構 4.3 循環(huán)結構 4.3.1 For Next 循環(huán) 4.3.2 Do Loop 循環(huán) 4.3.3 For Each Next 循環(huán) 4.3.4 多重循環(huán) 4.4 跳轉控制1104.1 順序結構 程序:是為解決某一問題而將有關命令按照一定的控制結構組成的命令序列。 順序結構:按程序中語句的書寫順序逐條執(zhí)行。 VB程序從主體上說都是順序執(zhí)行的,每個命令執(zhí)行完后都自動執(zhí)行下一個,只有當遇到分支結構、循環(huán)結構、過程

55、函數等才會改變執(zhí)行的順序。 1114.1 順序結構【例4.1 】 順序結構的使用。 程序流程圖1124.2.1 單分支結構 分支結構:根據邏輯條件的結果執(zhí)行不同的命令序列,也稱為選擇結構。 單分支結構 格式:If Then End If 功能:若條件表達式的值為真,就執(zhí)行;否則,直接執(zhí)行End If之后的語句。單分支結構流程圖N條件語句序列End IfY1134.2.1 單分支結構【例4.2】 單分支結構的使用。 程序流程圖單分支結構1144.2.2 雙分支結構 雙分支結構 格式:If Then Else End If 功能: 若條件成立,就執(zhí)行 ,然后轉去執(zhí)行End If后面的語句;否 則,

56、執(zhí)行 ,再執(zhí)行End If后面的語句。 雙分支結構流程圖N條件語句序列1End If 后面的語句Y語句序列21154.2.2 雙分支結構 【例4.3】 雙分支結構的使用。 程序流程圖雙分支結構1164.2.3 多分支結構 嵌套If語句 在一個If 語句中包含另一個 If 語句。If Then If Then Else End If Else If Then Else End If End If流程圖1174.2.3 多分支結構 【例4.4】 用嵌套If語句計算分段函數。 程序流程圖嵌套的If語句1184.2.3 多分支結構 If.Then.ElseIf.End If語句 If Then Els

57、eIf Then ElseIf Then Else End If流程圖1194.2.3 多分支結構【例 4.5】 用ElseIf語句計算分段函數。 程序流程圖ElseIf 語句1204.2.3 多分支結構 Select Case 語句 根據判斷數據的結果,選擇執(zhí)行一種操作。 Select Case Case Case Case Case Else End Select流程圖1214.2.3 多分支結構【例4.6 】 Select Case 語句的使用。 1224.3.1 ForNext 循環(huán) 循環(huán)結構:按規(guī)定的條件重復執(zhí)行一段命令序列。 For Next循環(huán):用于已知循環(huán)次數 For = To

58、 Step Exit For Next For 循環(huán)流程圖1234.3.1 ForNext 循環(huán) 【例4.8】 用For循環(huán)求1+2+100和。 程序流程圖For 循環(huán)1244.3.2 DOLoop 循環(huán) Do Loop循環(huán) 常用于不知道循環(huán)次數的情況。 格式1: Do While | Until Exit Do Loop 功能:先判斷條件,若條件不成立, 則結束循環(huán);若條件成立,則執(zhí)行循 環(huán)體內的語句序列,直到條件不成立, 執(zhí)行過程中遇到 Exit DO 語句時被 強制退出循環(huán)。1254.3.2 DOLoop 循環(huán) 格式2: Do Exit Do Loop While | Until 功能:

59、先執(zhí)行一次循環(huán)體,再判斷條件。若條件不成立,就結束循環(huán);否則,重復執(zhí)行循環(huán)體內的語句序列,直到條件不成立,執(zhí)行過程中遇到 Exit DO 語句時被強制退出循環(huán)。1264.3.2 DOLoop 循環(huán) 【例4.11】 用Do循環(huán)求1+2+100的和。 程序流程圖Do 循環(huán)1274.3.3 For Each Next 循環(huán) For Each.Next循環(huán): 用于對數組或對象集合中的每一個元素重復執(zhí)行一組操作。 格式For Each In Exit For Next 1284.3.3 For Each Next 循環(huán) 【例4.13】 用For Each 循環(huán)求1+2+100和。 程序流程圖For Ea

60、ch 循環(huán)1294.3.4 多重循環(huán) 多重循環(huán) 在VB中,幾種循環(huán)結構可以自我嵌套,也可以相互嵌套,由此構成雙重循環(huán)或三重、四重等多重循環(huán)結構。 Do循環(huán)和For兩種循環(huán)可以混合嵌套,且層數不限。但內層循環(huán)的所有語句必須完全嵌套在外層循環(huán)之中。否則就會出現循環(huán)的交叉,產生錯誤或造成邏輯上的混亂。 循環(huán)結構與分支結構也可以混合嵌套使用,但不允許交叉;并且各自的入口語句與相應的出口語句(如 For 與 Next、Select Case 與 End Select、Do 與 Loop、If 與 End If)必須成對出現。1304.3.4 多重循環(huán)外層循環(huán)內層循環(huán)【例4.14】 多重循環(huán)的使用,打印九

溫馨提示

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

評論

0/150

提交評論