VB課程教案
《VB課程教案》由會(huì)員分享,可在線閱讀,更多相關(guān)《VB課程教案(190頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
Visual Basic 程序設(shè)計(jì)教案 第一章 VB 程序設(shè)計(jì)概述 對(duì)于每一位有志于掌握 Windows 平臺(tái)上應(yīng)用程序開(kāi)發(fā)技術(shù)的學(xué)習(xí)者 都必須首先學(xué)習(xí) 和掌握至少一門(mén)計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言作為應(yīng)用程序的開(kāi)發(fā)工具 VB 是當(dāng)今世界應(yīng)用軟件 開(kāi)發(fā)中最為流行的工具之一 要學(xué)習(xí) VB 程序設(shè)計(jì)的語(yǔ)言和方法 就必須了解 VB 語(yǔ)言的 基本特性 功能特點(diǎn)及其開(kāi)發(fā)環(huán)境 本章教學(xué)目標(biāo) 本章主要介紹 VB 語(yǔ)言的基本特性 功能特點(diǎn)及其開(kāi)發(fā)環(huán)境 知識(shí)點(diǎn) 1 Visual Basic 在程序開(kāi)發(fā)中的地位及作用 2 掌握開(kāi)發(fā)環(huán)境的窗口作用 3 對(duì) Visual Basic 的使用環(huán)境加以介紹 技能點(diǎn) 1 理解并能解釋面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思想 2 熟悉并基本掌握 Visual Basic 的運(yùn)行環(huán)境 3 理解并能運(yùn)用 Visual Basic6 0 的主要開(kāi)發(fā)窗口 1 1 概述 教學(xué)目標(biāo) 學(xué)習(xí)可視化程序語(yǔ)言與其他程序設(shè)計(jì)語(yǔ)言的區(qū)別 了解 Visual Basic 程序設(shè)計(jì)語(yǔ)言 的基本特點(diǎn) 教學(xué)要求 了解 Visual Basic 程序的基本特點(diǎn) 了解 Visual Basic 6 0 的運(yùn)行的軟硬件環(huán)境和啟動(dòng)方法 理解 可視化程序語(yǔ)言與其他程序設(shè)計(jì)語(yǔ)言的區(qū)別 本節(jié)重點(diǎn) Visual Basic 程序的基本特點(diǎn) 顏華城教授于 1999 年底開(kāi)始為北京市建筑物資租賃公司開(kāi)發(fā)研制 計(jì)算機(jī)建筑物資租 賃管理信息系統(tǒng) 該系統(tǒng)現(xiàn)已投入該公司所屬各租賃站和公司本部實(shí)際運(yùn)行 3 年 取得了 良好的經(jīng)濟(jì)和社會(huì)效益 建筑物資租賃管理是一個(gè)集物流和資金流相互交織為一體 數(shù)據(jù) 處理過(guò)程復(fù)雜的系統(tǒng) 它是在 Windows 95 98 以及 Windows 2000 平臺(tái)上 以 Visual Basic 6 0 企業(yè)版 為開(kāi)發(fā)工具 開(kāi)發(fā)研制的數(shù)據(jù)庫(kù)應(yīng)用軟件 系統(tǒng)以 ADO 方式連接 Access 97 數(shù)據(jù)庫(kù)中的數(shù)據(jù) 并集成 Excel 97 作為報(bào)表輸出的工具 計(jì)算機(jī)建筑物資租賃管理系統(tǒng)系統(tǒng)共包括 61 個(gè)主要數(shù)據(jù)處理與操作功能 這些功能分 為 9 個(gè)子系統(tǒng) 源程序中共含 72 個(gè) VB 窗體以及一個(gè)標(biāo)準(zhǔn)模塊 開(kāi)發(fā)者之所以選擇 VB 作為系統(tǒng)的開(kāi)發(fā)工具 是因?yàn)?VB 繼承了其先輩 Basic 程序設(shè) 計(jì)語(yǔ)言簡(jiǎn)單易用的特點(diǎn) 其編程系統(tǒng)又采用了面向?qū)ο?事件驅(qū)動(dòng)的編程機(jī)制 提供了一 種所見(jiàn)即所得的可視界面設(shè)計(jì)方法 更可貴的是 VB 可以與 Microsoft 微軟 公司提供的 Microsoft Office 中的應(yīng)用程序緊密結(jié)合 即與 Microsoft Office 中的宏語(yǔ)言混合編程 開(kāi)發(fā) 者可以充分利用 Microsoft Office 中功能強(qiáng)大的應(yīng)用軟件完成系統(tǒng)所需要的各項(xiàng)工作 一 Windows 平臺(tái)上應(yīng)用程序的可視化開(kāi)發(fā)工具 Visual Basic Visual Basic 最早于 1991 年由 Microsoft 公司推出 其中 Visual 表示 可視化 可 視化程序設(shè)計(jì)語(yǔ)言是當(dāng)代計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言的先進(jìn)代表與主流 1998 年 Microsoft 公司 又推出 Visual Basic 6 0 Visual Basic 6 0 在開(kāi)發(fā)環(huán)境 功能方面比前幾版進(jìn)一步完善和擴(kuò) 充 尤其在數(shù)據(jù)庫(kù)管理 網(wǎng)絡(luò)應(yīng)用方面更勝一籌 使得 Visual Basic 6 0 成為大多數(shù)程序員 首選的編程工具 VB 6 0 包括三個(gè)版本 分別為學(xué)習(xí)版 專業(yè)版和企業(yè)版 其中 學(xué)習(xí)版 為 VB 6 0 的基礎(chǔ)版本 主要供初學(xué)者學(xué)習(xí)使用 專業(yè)版 主要供專業(yè)人員使用 它除具有學(xué)習(xí)版的 全部功能外 還包括 ActiveX Internet 控件開(kāi)發(fā)工具 動(dòng)態(tài) HTML 頁(yè)面設(shè)計(jì)等高級(jí)特性 企業(yè)版 是 VB 6 0 的最高版本 供開(kāi)發(fā)研制企業(yè)應(yīng)用程序使用 在本門(mén)課程的教學(xué)中 我們使用的是 Visual Basic 6 0 的中文企業(yè)版 二 VB 功能特點(diǎn) 1 具有面向?qū)ο蟮目梢暬O(shè)計(jì)工具 在 VB 中 應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法 OOP 方法 把程序和數(shù)據(jù)封裝起來(lái)視為 一個(gè)對(duì)象 每個(gè)對(duì)象都是可視的 程序員在設(shè)計(jì)時(shí)只需根據(jù)界面設(shè)計(jì)的要求 直接在計(jì)算 機(jī)屏幕上 畫(huà) 出各種需要的不同類型的對(duì)象 控件和窗體 并為每個(gè)對(duì)象設(shè)置屬性 就 可以完成應(yīng)用程序的人機(jī)對(duì)話的界面設(shè)計(jì) 最后程序員的編程工作僅針對(duì)對(duì)象要完成的功 能進(jìn)行編程 就可以完成應(yīng)用程序的全部程序設(shè)計(jì)工作 2 事件驅(qū)動(dòng)的編程機(jī)制 事件驅(qū)動(dòng)編程是當(dāng)代最先進(jìn)的編程方法 VB 中每個(gè)對(duì)象都有相應(yīng)的各種事件 每個(gè)事 件都能夠驅(qū)動(dòng)一段程序的運(yùn)行 針對(duì)對(duì)象所響應(yīng)的事件進(jìn)行編程 能夠令應(yīng)用程序完成設(shè) 計(jì)者所期望的各種數(shù)據(jù)處理及其他工作 此種編程機(jī)制既可以極大地減少編程量 又可以 降低編程的難度 使得程序易于編寫(xiě)和維護(hù) 3 提供了易學(xué)易用的應(yīng)用程序集成開(kāi)發(fā)環(huán)境 VB 為用戶提供了開(kāi)發(fā)應(yīng)用程序的集成開(kāi)發(fā)環(huán)境 用戶可以在同一個(gè)開(kāi)發(fā)環(huán)境中設(shè)計(jì)應(yīng) 用程序界面 編寫(xiě)程序代碼 調(diào)試程序 進(jìn)行應(yīng)用程序的編譯等各項(xiàng)工作 4 結(jié)構(gòu)化的程序設(shè)計(jì) 5 支持多種數(shù)據(jù)庫(kù)系統(tǒng)的訪問(wèn) 利用 VB 提供的數(shù)據(jù)控件或 ODBC VB 可以訪問(wèn)各種當(dāng)代流行的數(shù)據(jù)庫(kù)系統(tǒng) 如 Access SQL Server 以及 Oracle 等各種類型的數(shù)據(jù)庫(kù) 也可訪問(wèn) Microsoft 的 Excel 電子電 子表格以及 Loutus1 2 3 等 6 OLE 技術(shù) VB 的核心是其對(duì)對(duì)象的鏈接與嵌入 OLE 的支持 利用 OLE VB 可開(kāi)發(fā)集聲音 圖象 動(dòng)畫(huà) 字處理 Web 等對(duì)象于一體的應(yīng)用程序 7 Active 技術(shù) VB 可方便地使用標(biāo)準(zhǔn)的 Active 部件 調(diào)用標(biāo)準(zhǔn)接口 實(shí)現(xiàn)各種特定的功能 8 完備的 Help 聯(lián)機(jī)幫助功能 三 運(yùn)行環(huán)境 VB 6 0 是 Windows95 98 Windows NT 或 Windows 2000 下的一個(gè)應(yīng)用程序 它對(duì)環(huán) 境的要求與所依賴的操作系統(tǒng)的要求是一致的 硬件要求 586 以上 CPU 16M 以上內(nèi)存 100M 以上硬盤(pán) 軟件要求 Windows95 98 NT3 51 以上版本或 Windows2000 四 啟動(dòng) 啟動(dòng) VB 的常用方法主要有以下兩種方法 1 通過(guò) 開(kāi)始 按鈕的 程序 菜單 選擇打開(kāi) Microsoft Visual Basic 6 0 中文版 2 雙擊桌面上的 VB 快捷方式圖標(biāo) 1 2 集成開(kāi)發(fā)環(huán)境 教學(xué)目標(biāo) 學(xué)習(xí) Visual Basic 程序設(shè)計(jì)的開(kāi)發(fā)環(huán)境 理解掌握主窗口 屬性窗口 代碼編輯窗 口 工程資源管理器窗口 工具箱窗口的作用及使用方法 教學(xué)要求 了解 VB 的工程的三種 工作模式 運(yùn)行模式 中斷模式 了解 屬性窗口和代碼編輯窗口的關(guān)系和區(qū)別 理解 各個(gè)窗口在程序開(kāi)發(fā)中的作用 掌握 主窗口的使用 窗體窗口的使用 工具箱窗口的使用 屬性窗口的使用和工程資源管理器窗口的使用 本節(jié)重點(diǎn) 主窗口 屬性窗口 代碼編輯窗口 工程資源管理器窗口 工具箱窗口的作 用及使用方法 當(dāng)用戶啟動(dòng) Microsoft Visual Basic 6 0 中文版后 首先進(jìn)入的環(huán)境就是 VB 的系統(tǒng) 集成開(kāi)發(fā)環(huán)境 用戶可以在這個(gè)環(huán)境中進(jìn)行應(yīng)用程序界面的設(shè)計(jì) 編寫(xiě)程序代碼 調(diào)試程 序 進(jìn)行應(yīng)用程序的編譯等各項(xiàng)工作 系統(tǒng)集成開(kāi)發(fā)環(huán)境中包括以下的欄目和窗口 一 集成開(kāi)發(fā)環(huán)境窗口 系統(tǒng)集成開(kāi)發(fā)環(huán)境也由一個(gè)窗口展示 它包括以下 3 個(gè)欄目 1 標(biāo)題欄 窗口中的 標(biāo)題攔 用于標(biāo)識(shí)當(dāng)前工程的名稱以及工程當(dāng)前所處的工作模式 VB 的 工程有三種工作模式 1 設(shè)計(jì)模式 進(jìn)行用戶界面的設(shè)計(jì) 代碼的編制及應(yīng)用程序的開(kāi)發(fā) 2 運(yùn)行模式 運(yùn)行應(yīng)用程序 此時(shí)不可編輯代碼和界面 3 中斷模式 運(yùn)行暫時(shí)中斷 此時(shí)可編輯代碼 但不能編輯界面 2 菜單欄 菜單攔 中包括 13 個(gè)下拉菜單 這些菜單中包含了程序開(kāi)發(fā)過(guò)程中所需要的命令 1 文件 主要用于創(chuàng)建 VB 的工程 保存工程 顯示最近設(shè)計(jì)的工程 將當(dāng)前 工程編譯生成可執(zhí)行文件 保存或另存工程中的文件 打印等工作 VB 的工程是應(yīng) 用程序的基本和主要載體 要開(kāi)發(fā)一個(gè) VB 的應(yīng)用程序首先要?jiǎng)?chuàng)建一個(gè)工程 一個(gè)工 程可以包含一個(gè)應(yīng)用程序的全部窗體 模塊 程序等 VB 的工程以文件的形式存放 到磁盤(pán) 文件的擴(kuò)展名為 VBP 2 編輯 主要用于對(duì)程序源代碼的編輯 其中包括復(fù)制 粘貼 查找 替換等 諸多功能 3 視圖 主要用于在集成開(kāi)發(fā)環(huán)境下 各種管理和工具窗口的顯示 以便用戶 在程序設(shè)計(jì)中對(duì) VB 源程序以及各種對(duì)象的查看和定義 4 工程 主要用于添加窗體或模塊 移除窗體或模塊 在 VB 工具箱中添加控 件 設(shè)置應(yīng)用程序運(yùn)行的啟動(dòng)窗體等 5 格式 主要用于設(shè)置窗體控件的位置 如水平居中 垂直居中 多個(gè)控件的 對(duì)齊位置 控件間的間距等 6 調(diào)試 主要用于源程序的查錯(cuò)和調(diào)試 7 運(yùn)行 用于程序的運(yùn)行 停止及中斷 8 查詢 主要用于在設(shè)計(jì)數(shù)據(jù)庫(kù)應(yīng)用程序時(shí)設(shè)計(jì) SQL 屬性 9 圖表 主要用于在設(shè)計(jì)數(shù)據(jù)庫(kù)應(yīng)用程序時(shí)編輯數(shù)據(jù)庫(kù) 10 工具 主要用于應(yīng)用程序的菜單設(shè)計(jì) 以及應(yīng)用程序設(shè)計(jì)過(guò)程中設(shè)置 VB 系 統(tǒng)的各種編輯狀態(tài) 如 是否要求對(duì)源程序進(jìn)行自動(dòng)語(yǔ)法檢測(cè) 是否要求變量聲明 是否要求控件對(duì)齊到窗體的網(wǎng)格等 11 外接程序 用于為工程增加或刪除外接程序 12 窗口 用于屏幕窗口的層疊 平鋪以及列出全部打開(kāi)的文檔窗口等 13 幫助 用于幫助用戶系統(tǒng)學(xué)習(xí)掌握 VB 的使用方法及程序設(shè)計(jì)的方法 3 工具欄 工具攔可以使用戶迅速地訪問(wèn)系統(tǒng)常用的菜單命令 二 窗體窗口 窗體窗口用于對(duì)窗體的設(shè)計(jì) 窗體是組成 VB 應(yīng)用程序的主體對(duì)象 它是一個(gè)容器 即每一個(gè)窗體都可以容納諸多控件 它通常也是應(yīng)用程序中人機(jī)交互的主要界面 一個(gè)應(yīng) 用程序中包括多個(gè)窗體 每個(gè)窗體必須有唯一的窗體名 在設(shè)計(jì)時(shí) 窗體網(wǎng)格是可見(jiàn)的 并可通過(guò) 工具 菜單中的 選項(xiàng) 命令來(lái)改變 三 屬性窗口 屬性窗口由對(duì)象列表框 屬性列表框 屬性含義說(shuō)明 屬性顯示排列方式 4 部分組成 通過(guò)屬性窗口 用戶可以設(shè)置對(duì)象的各種屬性 四 工程資源管理器窗口 工程資源管理器窗口類似 Windows 中的資源管理器 它保存并展示一個(gè)應(yīng)用程序所有 的文件 其中主要包括以下三類文件 窗體文件 文件擴(kuò)展名是 FRM 標(biāo)準(zhǔn)模塊文件 文件擴(kuò)展名是 BAS 類模塊文件 文件擴(kuò)展名是 CLS 工程資源管理器窗口有三 個(gè)按鈕 查看代碼 查看對(duì)象 切換文件夾 其中 查看代碼 命令按鈕用于查看 與編輯窗體的源程序 查看對(duì)象 命令按鈕用于對(duì)窗體和窗體控件的設(shè)計(jì)以及各種對(duì)象 屬性的設(shè)置 五 代碼窗口 代碼窗口專門(mén)供用戶編寫(xiě)程序 打開(kāi)代碼窗口有以下三種方法 1 選擇窗體或模塊后 單擊 查看代碼 按鈕 2 鼠標(biāo)雙擊窗體或控件 3 視圖 菜單中的 代碼窗口 命令 六 立即窗口 用戶可在立即窗口顯示所關(guān)心的表達(dá)式的值 以便調(diào)試程序 七 窗體布局窗口 窗體布局窗口用于指定程序運(yùn)行時(shí)的初始位置 主要為使用戶所開(kāi)發(fā)的應(yīng)用程序能夠 在各種不同分辨率的計(jì)算機(jī)屏幕上正常運(yùn)行 八 對(duì)象瀏覽器窗口 對(duì)象瀏覽器窗口用以查看在工程中定義的模塊或過(guò)程 九 工具箱窗口 工具箱窗口為用戶提供標(biāo)準(zhǔn)控件 如 命令按鈕 Command 標(biāo)簽 Label 文本框 TextBox 組合框 ComboBox 等 也可以通過(guò) 工程 菜單中的 部件 項(xiàng)在其中 添加其它控件或 Windows 應(yīng)用程序 第二章 簡(jiǎn)單的 VB 程序設(shè)計(jì) 在了解 VB 語(yǔ)言的基本特性 功能特點(diǎn)及其開(kāi)發(fā)環(huán)境后 VB 的學(xué)習(xí)者還需要進(jìn)一步了 解面向?qū)ο蟪绦蛟O(shè)計(jì)的概念 掌握建立簡(jiǎn)單應(yīng)用程序的基本方法 然后通過(guò)一個(gè)較為簡(jiǎn)單 的 VB 應(yīng)用程序窗體實(shí)例的開(kāi)發(fā) 對(duì) VB 的程序設(shè)計(jì)有一個(gè)全面的了解 以便為今后復(fù)雜 應(yīng)用程序的開(kāi)發(fā)打下良好的基礎(chǔ) 本章教學(xué)目標(biāo) 知識(shí)點(diǎn) 1 結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)的區(qū)別 2 掌握類及對(duì)象的概念 3 窗體 控件 屬性 事件 方法的開(kāi)發(fā)程序中的作用 4 工程文件的作用及結(jié)構(gòu) 技能點(diǎn) 1 理解并能正確設(shè)置窗體及相關(guān)控件的屬性 2 熟悉并基本掌握 Visual Basic 程序的創(chuàng)建過(guò)程 3 理解并能運(yùn)用工程文件的作用及工程的使用方法 4 正確掌握事件代碼的創(chuàng)建方法及方法的調(diào)用 2 1 程序設(shè)計(jì)方法的發(fā)展 教學(xué)目標(biāo) 學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計(jì) OOP 語(yǔ)言的基本思想和基本方法 教學(xué)要求 了解 程序設(shè)計(jì)語(yǔ)言的發(fā)展過(guò)程 理解 結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)的區(qū)別 本節(jié)重點(diǎn) 結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)的區(qū)別 一 初期的程序設(shè)計(jì) 自 1946 年誕生世界上第一臺(tái)計(jì)算機(jī)起 計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言的發(fā)展經(jīng)歷了四個(gè)階段 1 機(jī)器語(yǔ)言階段 2 匯編語(yǔ)言階段 3 高級(jí)語(yǔ)言階段 4 面向?qū)ο蟪绦蛟O(shè)計(jì)階段 二 結(jié)構(gòu)化程序設(shè)計(jì) 結(jié)構(gòu)化程序設(shè)計(jì) Structure Programming 是一種強(qiáng)調(diào)功能抽象化和模塊化的編程方 法 它把求解問(wèn)題的過(guò)程看作一個(gè)處理過(guò)程 20 世紀(jì) 70 年代 Dijkstra 提出三種基本的程序結(jié)構(gòu) 順序結(jié)構(gòu) 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 以及自頂向下 逐步求精 模塊化程序設(shè)計(jì)的原則 結(jié)構(gòu)化程序設(shè)計(jì)解決了由多人共同開(kāi) 發(fā)大型軟件時(shí) 如何高效率地完成高可靠性系統(tǒng)的問(wèn)題 結(jié)構(gòu)化程序的可讀性好 可維護(hù) 性好已成為評(píng)價(jià)程序質(zhì)量的首要條件 VB 改變了原 Basic 語(yǔ)言的非結(jié)構(gòu)程序設(shè)計(jì)思想 采 用結(jié)構(gòu)化程序設(shè)計(jì)的思想和方法 三 面向?qū)ο蟮某绦蛟O(shè)計(jì) 面向?qū)ο蟪绦蛟O(shè)計(jì) OOP Object Oriented Programming 是一種以對(duì)象為基礎(chǔ) 以 事件來(lái)驅(qū)動(dòng)對(duì)象執(zhí)行的程序設(shè)計(jì)技術(shù) OOP 將一個(gè)應(yīng)用程序 逐步劃分成相互關(guān)聯(lián)的多個(gè) 對(duì)象 并且建立起與這些對(duì)象相關(guān)聯(lián)的事件過(guò)程 通過(guò)對(duì)象對(duì)所發(fā)生的事件產(chǎn)生響應(yīng) 來(lái) 執(zhí)行相應(yīng)事件過(guò)程 以引發(fā)對(duì)象狀態(tài)的改變 從而最終達(dá)到運(yùn)算 處理的目的 程序員在 應(yīng)用程序中只需說(shuō)明對(duì)象應(yīng)完成的任務(wù) 該任務(wù)通常仍由編程來(lái)完成 仍采用結(jié)構(gòu)化程序 設(shè)計(jì)的方法 面向?qū)ο蟪绦蛟O(shè)計(jì)最早在 20 世紀(jì) 80 年代就已提出 起源于 Smalltalk 語(yǔ)言 此種方 法引入了新的概念和思維方式 為使軟件在程序設(shè)計(jì)階段能夠模仿建立真實(shí)世界的模型 此種設(shè)計(jì)方法對(duì)系統(tǒng)的復(fù)雜性進(jìn)行概括 抽象和分類 使軟件的設(shè)計(jì)與實(shí)現(xiàn)形成一個(gè)由抽 象到具體 由簡(jiǎn)單到復(fù)雜的一個(gè)循序漸進(jìn)的過(guò)程 從而解決了大型軟件研制中存在的效率 低 質(zhì)量難以保證 調(diào)試復(fù)雜 維護(hù)困難等一系列問(wèn)題 因此近年來(lái)面向?qū)ο蟮某绦蛟O(shè)計(jì) 得到廣泛的應(yīng)用 目前在 Windows 環(huán)境下常用的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言有 Visual Basic Visual J Visual C Visual FoxPro 等 面向?qū)ο蟪绦蛟O(shè)計(jì)的優(yōu)點(diǎn) 1 符合人們的習(xí)慣思維方式 便于分析復(fù)雜而多變的問(wèn)題 2 易于軟件的維護(hù)和功能的增減 3 能用繼承的方式減短程序開(kāi)發(fā)所花的時(shí)間 5 與可視化技術(shù)相結(jié)合 改善了工作界面 2 2 對(duì)象的概念 VB 提供了面向?qū)ο蟪绦蛟O(shè)計(jì)的強(qiáng)大功能 程序的核心是對(duì)象 VB 不僅提供了大量的 控件對(duì)象 而且提供了創(chuàng)建自定義對(duì)象的方法和工具 為開(kāi)發(fā)應(yīng)用者帶來(lái)了諸多便利 教學(xué)目標(biāo) 學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計(jì)中對(duì)象 類 方法 對(duì)象的屬性 對(duì)象的事件和對(duì)象的事 件過(guò)程的基本概念及有關(guān)的內(nèi)容 教學(xué)要求 理解 對(duì)象和類的概念 理解 對(duì)象和類的關(guān)系與區(qū)別 掌握 對(duì)象的屬性 事件 方法在程序開(kāi)發(fā)中的作用 在程序設(shè)計(jì)過(guò)程中如何設(shè)計(jì) 對(duì)象的屬性 編寫(xiě)對(duì)象的事件代碼 調(diào)對(duì)象的方法 本節(jié)重點(diǎn) 對(duì)象和類的關(guān)系 屬性 方法 事件在面向?qū)ο蟪绦蛟O(shè)計(jì)中的作用 本節(jié)難點(diǎn) 對(duì)象和類的概念 本節(jié)應(yīng)注意的問(wèn)題 對(duì)象和類的關(guān)系與區(qū)別 一 對(duì)象和類 1 對(duì)象 Object 在 OOP 中 程序的核心是對(duì)象 在開(kāi)發(fā)一個(gè)應(yīng)用程序時(shí) 必須先建立各種對(duì)象 然后 圍繞對(duì)象來(lái)進(jìn)行程序設(shè)計(jì) 對(duì)象是具有某些特性的具體事物的抽象 如 控件及窗體 每 個(gè)對(duì)象都具有描述其特征的屬性 以及附屬于它的行為 在 VB 中 工程中的每一個(gè)窗體 窗體中的每一個(gè)控件都是一個(gè)對(duì)象 2 類 類是創(chuàng)建對(duì)象實(shí)例的模板 是同種對(duì)象的集合與抽象 它包含所創(chuàng)建對(duì)象的屬性描述 和行為特征的定義 類含有屬性和方法 它封裝了用于類的全部信息 在 VB 中 所見(jiàn)到的類大多是系統(tǒng)已經(jīng)設(shè)計(jì)完成的 我們只需使用就可以了 如 VB 工具箱中的可視類圖標(biāo)是 VB 系統(tǒng)設(shè)計(jì)好的標(biāo)準(zhǔn)類控件 具體的如 工具箱中的 TextBox 控件就是一個(gè)標(biāo)準(zhǔn)類 當(dāng)我們從該類中 取出 某個(gè) Text 控件后 這個(gè) Text 控件就成為一個(gè)對(duì)象 它自動(dòng)繼承了 TextBox 類的各種特征 即當(dāng)我們?cè)诖绑w上畫(huà)一個(gè)控 件時(shí) 就將類轉(zhuǎn)換為一個(gè)對(duì)象 也就創(chuàng)建了一個(gè)控件對(duì)象 控件對(duì)象簡(jiǎn)稱控件 VB 也允 許程序員自行設(shè)計(jì)類 注意 窗體是一個(gè)特例 它既是對(duì)象又是類 3 容器 容器也是對(duì)象 只是此種對(duì)象允許我們?cè)谄渲刑砑踊虬渌麑?duì)象 常用的對(duì)象有窗 體 Frame 等 除了通過(guò)利用控件類產(chǎn)生控件對(duì)象外 VB 還提供了系統(tǒng)對(duì)象 如打印機(jī) Printer 剪貼板 Clipboard 屏幕 Screen 應(yīng)用程序 App 等 二 對(duì)象的建立和編輯 1 對(duì)象的建立方法 1 從工具箱中建立 2 使用復(fù)制的方法 2 對(duì)象的選定 1 單個(gè)對(duì)象的選擇 用鼠標(biāo)單擊對(duì)象 2 多個(gè)對(duì)象的選擇 單擊第一個(gè)對(duì)象 按住 Shift 鍵 再單擊其他對(duì)象 3 復(fù)制或刪除對(duì)象 1 復(fù)制 先選擇對(duì)象 然后復(fù)制并粘貼 注意 在粘貼對(duì)象時(shí) VB 系統(tǒng)會(huì)提問(wèn)是 否要建立控件數(shù)組 若不想建立控件數(shù)組應(yīng)回答 否 2 刪除 選定對(duì)象后按 Del 鍵 4 對(duì)象的命名 每一個(gè)對(duì)象都有自己的名稱 用戶所建立的控件和窗體都有默認(rèn)的名稱 如 Form1 Form2 Text1 Text2 等 用戶也可以通過(guò)對(duì)象的屬性窗口給對(duì)象重新命名 對(duì)象 名稱必須以英文字母或漢字開(kāi)頭 后面可由字母 漢字 數(shù)字串組成 其長(zhǎng)度不超過(guò) 255 個(gè)字符 根據(jù)我們多年從事軟件開(kāi)發(fā)的經(jīng)驗(yàn) 我們建議 窗體用漢字命名 控件一般使用 原默認(rèn)名 三 對(duì)象的屬性 事件和方法 VB 的控件具有自己的屬性 事件和方法 我們可以將屬性看作一個(gè)對(duì)象的性質(zhì) 將 事件看作對(duì)象的響應(yīng) 將方法看作對(duì)象的動(dòng)作 這三者構(gòu)成了對(duì)象的三要素 1 屬性 對(duì)象中的數(shù)據(jù)保存在屬性中 是用來(lái)描述和反映對(duì)象特征的參數(shù) 定義對(duì)象屬性的方 法有以下兩種 1 在設(shè)計(jì)階段使用屬性窗口直接設(shè)置對(duì)象的屬性 如 給一個(gè)名為 Label1 的標(biāo)簽對(duì)象的 Caption 屬性值定義為 建筑物資租賃管理 2 在程序代碼編制過(guò)程中通過(guò)賦值語(yǔ)句來(lái)定義 其語(yǔ)句形式為 如 在程序中用 Label1 Caption 建筑物資租賃管理 的語(yǔ)句為 Label1 的標(biāo)簽 對(duì)象的 Caption 屬性賦值 2 事件 事件過(guò)程和事件驅(qū)動(dòng) 1 事件 事件是發(fā)生在對(duì)象上的事情 VB 系統(tǒng)為每一個(gè)對(duì)象預(yù)先定義了一系列的事件 如單擊 Click 雙擊 DblClick 改變 Change 獲取焦點(diǎn) GotFocus 等 2 事件過(guò)程 當(dāng)對(duì)象發(fā)生了事件后 應(yīng)用程序就可能需要處理這個(gè)事件 而其處理的步驟就是 事件過(guò)程 它是針對(duì)某一對(duì)象的過(guò)程 并與該對(duì)象的一個(gè)事件相聯(lián)系 VB 的編程工 作主要就是為對(duì)象編寫(xiě)事件過(guò)程中的程序代碼 事件過(guò)程的形式如下 Sub 對(duì)象名 事件 參數(shù)列表 End Sub 例如 當(dāng)用戶單擊名為 Command1 命令按鈕事件發(fā)生后 所編制的事件過(guò)程如下 Sub command1 click Command1 Fontsize 20 設(shè)置命令按鈕的字體大小為 20 磅 End Sub 注意 當(dāng)用戶對(duì)一個(gè)對(duì)象發(fā)出一個(gè)動(dòng)作時(shí) 可能會(huì)同時(shí)在該對(duì)象上發(fā)生多個(gè)事件 如用戶在對(duì)象上單擊鼠標(biāo) 會(huì)同時(shí)產(chǎn)生 Click MouseDown MouseUp 三個(gè)事件 我 們只需對(duì)感興趣的事件編程即可 3 事件驅(qū)動(dòng)的程序設(shè)計(jì) 在 VB 中 程序的執(zhí)行是先等待某個(gè)事件的發(fā)生 然后再執(zhí)行處理此事件的過(guò)程 即事件驅(qū)動(dòng)程序設(shè)計(jì)方式 VB 驅(qū)動(dòng)程序的執(zhí)行步驟如下 啟動(dòng)應(yīng)用程序 裝載和顯示窗體 注意 若用戶需要在窗體裝載計(jì)算機(jī)內(nèi)存時(shí)執(zhí)行某些操作和數(shù)據(jù)處理功能 應(yīng)將 程序?qū)懺诖绑w的 Form Load 事件或標(biāo)準(zhǔn)模塊中 窗體或控件等待事件的發(fā)生 事件發(fā)生時(shí) 執(zhí)行對(duì)應(yīng)的事件過(guò)程 重復(fù)執(zhí)行 步 3 方法 面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言提供了一種特殊的過(guò)程和函數(shù) 該過(guò)程和函數(shù)稱為方法 每 個(gè)方法都可執(zhí)行完成某項(xiàng)任務(wù) 對(duì)象方法的調(diào)用格式為 對(duì)象 方法 參數(shù)名表 例 Print 方法 2 3 初步建立應(yīng)用程序 教學(xué)目標(biāo) 運(yùn)用所學(xué)習(xí)的 VB 程序設(shè)計(jì)語(yǔ)言的知識(shí) 通過(guò)創(chuàng)建一個(gè)簡(jiǎn)單的應(yīng)用程序窗體 來(lái)學(xué) 習(xí)應(yīng)用軟件開(kāi)發(fā)的基本思想和基本方法 教學(xué)要求 了解 應(yīng)用程序開(kāi)發(fā)示例 理解 VB 程序的開(kāi)發(fā)步驟 掌握 窗體及主要控件的設(shè)置及使用方法 本節(jié)重點(diǎn) 開(kāi)發(fā) VB 應(yīng)用程序的步驟 常用控件及窗體的屬性及事件的作用及定義方法 在 VB 中要?jiǎng)?chuàng)建一個(gè)應(yīng)用程序 首先就需要至少創(chuàng)建一個(gè)工程和工程中的窗體 創(chuàng)建 工程的常用方法有以下兩種 第一種方法是當(dāng)用戶啟動(dòng) VB 后 在啟動(dòng)對(duì)話框中選擇 新 建 頁(yè)的 標(biāo)準(zhǔn) EXE 系統(tǒng)就會(huì)自動(dòng)創(chuàng)建一個(gè)工程和一個(gè)窗體 第二種方法是用戶選擇 系統(tǒng) 文件 菜單中的 新建工程 功能 系統(tǒng)也會(huì)自動(dòng)創(chuàng)建一個(gè)工程和一個(gè)窗體 新建 工程的默認(rèn)名稱通常為 工程 1 新建窗體的默認(rèn)名稱通常為 Form1 若用戶需要 更改窗體的名稱 可通過(guò)窗體的 名稱 屬性值直接更改 若需要更改工程的名稱則需要 在保存工程時(shí)進(jìn)行更改 VB 工程文件保存的順序是 先保存工程中的標(biāo)準(zhǔn)模塊文件 然 后保存工程中的窗體文件 最后保存工程文件 VB 建立應(yīng)用程序的步驟如下 第一步 建立用戶界面的對(duì)象 第二步 進(jìn)行對(duì)象屬性的設(shè)置 第三步 進(jìn)行對(duì)象事件編程 第四步 保存和調(diào)試程序 在調(diào)試程序時(shí)應(yīng)設(shè)置斷點(diǎn) 可設(shè)置多個(gè) 當(dāng)程序執(zhí)行到斷點(diǎn)時(shí)會(huì)暫停程序的運(yùn)行 用 戶可對(duì)程序中的變量值以及運(yùn)行情況進(jìn)行查驗(yàn) 若需依次查驗(yàn)程序運(yùn)行的情況可按 F8 鍵 單步執(zhí)行 否則可按 運(yùn)行 按鈕繼續(xù)程序的運(yùn)行 下面給出創(chuàng)建一個(gè)應(yīng)用程序的實(shí)例 設(shè)需要?jiǎng)?chuàng)建的工程名為 租賃管理 工程中的 窗體名為 系統(tǒng)啟動(dòng)畫(huà)面 窗體樣式為 1 1 中的圖 1 1 該窗體內(nèi)只包括一個(gè)圖形控件 Image 和兩個(gè)標(biāo)簽 Label 控件 為順利地完成上述簡(jiǎn)單窗體的程序設(shè)計(jì)工作 我們首先需要學(xué)習(xí)有關(guān)窗體和幾個(gè)常用 標(biāo)準(zhǔn)控件的基本知識(shí) 一 窗體和標(biāo)準(zhǔn)控件的基本屬性 VB 中的窗體和每一個(gè)控件都有很多屬性 但所有窗體和大多數(shù)標(biāo)準(zhǔn)控件都具有如下基 本屬性 1 名稱屬性 名稱屬性指所創(chuàng)建對(duì)象的名稱 建議窗體用漢字命名 控件一般使用系統(tǒng)默認(rèn)名 2 Caption 屬性 Caption 屬性用于設(shè)置控件上顯示的文字內(nèi)容 3 Height Width Top Left 屬性 這四個(gè)屬性用于設(shè)置控件的高度 控件的寬度 控件離屏幕頂部的距離 控件離 屏幕左邊的距離 4 Enabled 屬性 Enabled 屬性用于設(shè)置對(duì)象的可操作性 其值為 True False 5 Visible 屬性 Visible 屬性用于設(shè)置對(duì)象的可見(jiàn)性 其值為 True False 6 Font 屬性 Font 屬性用于設(shè)置對(duì)象的字體 7 Fore Color 屬性 Fore Color 屬性用于設(shè)置對(duì)象的前景顏色 字體顏色 8 Back Color 屬性 Back Color 屬性用于設(shè)置對(duì)象的背景顏色 9 Border Style 屬性 Border Style 屬性用于設(shè)置對(duì)象的邊框樣式 0 無(wú) 1 單邊 10 Alignment 屬性 Alignment 屬性用于設(shè)置對(duì)象的對(duì)齊方式 0 左對(duì)齊 1 右對(duì)齊 2 居中 11 Auto Size 屬性 當(dāng)對(duì)象的 Auto Size 屬性為 True 時(shí) 自動(dòng)調(diào)整大小 當(dāng) Auto Size 屬性為 False 時(shí) 不可調(diào) 若正文太長(zhǎng)則自動(dòng)裁掉 12 Word Warp 屬性 當(dāng)對(duì)象的 Word Warp 屬性為 True 時(shí) 垂直方向顯示文本 13 Tab Index 屬性 Tab Index 屬性用于決定按下 Tab 鍵時(shí) 焦點(diǎn)在各個(gè)控件中移動(dòng)的順序 二 窗體 窗體是 VB 工程中的基本容器 通常一個(gè)窗體就是應(yīng)用程序的一個(gè)模塊 1 屬性 1 基本屬性 窗體的基本屬性主要包括 名稱 Caption Height Width Top Left Font Enabled Visible ForeColor Backcolor Image 等 2 MaxButton 屬性 MaxButton 屬性決定窗體有無(wú)最大化按鈕 其值為 True False 3 MinButton 屬性 MinButton 屬性決定窗體有無(wú)最小化按鈕 其值為 True False 4 Icon 屬性 Icon 屬性設(shè)置窗體最小化時(shí)所顯示的圖標(biāo) 5 ControlBox 屬性 ControlBox 屬性決定窗體左上角有無(wú)控制菜單框 其值為 True False 6 Picture 屬性 Picture 屬性用于設(shè)置窗體所加載的圖片 7 Border Style 屬性 Border Style 屬性決定窗體的邊框樣式 其值為 0 None 無(wú)邊框 不能移動(dòng)和改變大小 1 Fixed Single 單線邊框 可移動(dòng) 但不可改變大小 2 Sizable 雙線邊框 可移動(dòng)和改變大小 3 Fixed Double 固定對(duì)話框 4 Fixed Tool Window 有關(guān)閉按鈕 不能改變大小 5 Sizable Tool Window 有關(guān)閉按鈕 可改變大小 8 Windows State 屬性 Windows State 屬性決定窗體運(yùn)行時(shí)的狀態(tài) 其值為 0 Normal 正常 有窗口邊界 1 Minimized 圖標(biāo) 2 Maximized 占滿整個(gè)屏幕 無(wú)邊框 2 窗體事件 1 Click 事件 Click 事件指單擊窗體時(shí)所發(fā)生的事件 2 Dblclick 事件 Dblclick 事件指雙擊窗體時(shí)所發(fā)生的事件 3 Form Load 事件 Form Load 事件是指窗體在裝入計(jì)算機(jī)內(nèi)存時(shí)所發(fā)生的事件 對(duì)于未被加載 的窗體 如果其他窗體中引用該窗體的控件及屬性時(shí) 也會(huì)引發(fā) Load 事件 該 事件過(guò)程通常用來(lái)在啟動(dòng)窗體前 對(duì)窗體及其所包含控件的屬性進(jìn)行設(shè)置和窗體 中變量的初始化 使窗體按用戶需要的方式顯示出來(lái) 4 Activate 事件 當(dāng)使用 Show 方法顯示一個(gè)窗體或單擊一個(gè)窗體時(shí) 使一個(gè)窗體變成活動(dòng)窗 體時(shí) 會(huì)產(chǎn)生一個(gè) Activate 事件 5 Resize 事件 當(dāng)使用最大化 最小化按鈕或改變窗體大小時(shí) 會(huì)引發(fā)窗體的 Resize 事件 窗體常用的事件是 Form Load 和 Click 事件 3 方法 窗體常用的方法有 Print Cls Move 等 三 圖形控件 VB 中常用的圖形控件有兩個(gè) 一個(gè)是 Image 圖像框 控件 另一個(gè)是 PictureBox 圖形框 控件 這兩個(gè)控件都是標(biāo)準(zhǔn)控件 也都可以放置圖形 但兩者之間 也有很大的區(qū)別 1 Image 圖像框 控件 Image 控件占用內(nèi)存少 描繪快 它不是容器 其常用屬性為 Picture 和 Stretch Picture 屬性用于在控件中添加圖形 當(dāng) Stretch 設(shè)置為 True 時(shí) 加載到圖像框 的圖形可自動(dòng)調(diào)整大小以適應(yīng) Image 圖像框 控件的尺寸 2 PictureBox 圖形框 控件 PictureBox 控件占用內(nèi)存比 Image 控件多 它是容器 即允許在 PictureBox 控件中 添加其他控件 其常用屬性為 Picture 和 Autosize Picture 屬性用于在控件中添加圖形 當(dāng) Autosize 屬性設(shè)置為 True 時(shí) 圖形框控件會(huì)自動(dòng)調(diào)整大小以適應(yīng)圖形的尺寸 注意 兩個(gè)圖形控件雖然都能夠自動(dòng)調(diào)整大小以使所裝載的圖形和控件相匹配 但 Image 控件中是圖形調(diào)整大小來(lái)適應(yīng)控件的尺寸 而在 PictureBox 控件中是控件調(diào)整大 小來(lái)適應(yīng)圖形的尺寸 3 Shape 形狀 控件 Shape 形狀 控件是 VB 的一個(gè)簡(jiǎn)單標(biāo)準(zhǔn)控件 該控件基本沒(méi)有特定的功能 主要 用于畫(huà)基本的幾何圖形 在應(yīng)用軟件的設(shè)計(jì)中 Shape 形狀 控件通常用于人機(jī)界面的 裝飾 四 標(biāo)簽 標(biāo)簽 Label 主要用于顯示文本信息 但不能作為輸入信息的界面 也就是說(shuō) 標(biāo) 簽的內(nèi)容只能用 Caption 屬性來(lái)設(shè)置和修改 不能編輯 1 屬性 Label 的基本屬性有 名稱 Caption Enabled Visible FontName Font ForeColor Backcolor Alignment BackStyle 等 其中 Alignment 用于指定 Label 中文字的位置 0 左對(duì)齊 1 右對(duì) 齊 2 居中 BackStyle 用于指定 Label 背景樣式 0 透明 1 不透明 2 事件 Label 的常用事件有 Click DblClick Change 等 五 文本框 文本框 TextBox 是一個(gè)文本編輯區(qū) 用戶可在文本區(qū)輸入 編輯 修改文本 也可以顯示文本 1 屬性 1 基本屬性 文本框的基本屬性主要有 名稱 Height Width Top Left Enabled Visible FontName FontSize 等 2 Text 屬性 Text 屬性用于顯示文本框中的信息 3 Maxlength 屬性 Maxlength 屬性用于設(shè)置文本中輸入字符的長(zhǎng)度 0 屬性值表示不限 制用戶輸入字符的長(zhǎng)度 注意 VB 中所有的字符 漢字的長(zhǎng)度均為 1 4 Multiline 屬性 Multiline 屬性用于設(shè)置 TextBox 中的文本能否換行 5 Scrollbars 屬性 Scrollbars 屬性用于設(shè)置 TextBox 是否具有滾動(dòng)條 并設(shè)置滾動(dòng)條的樣式 0 None 無(wú) 1 Horizontal 加水平滾動(dòng)條 2 Vertical 加垂直滾動(dòng)條 3 Both 同時(shí)加水平 垂直滾動(dòng)條 6 Locked 屬性 Locked 屬性用于設(shè)置文本框是否可編輯 常在程序中使用 7 PassWord 屬性 PassWord 屬性用于設(shè)置用何種顯示字符掩飾用戶輸入的字符 常用于密 碼口令的輸入 8 SelStart 屬性 SelStart 屬性用于設(shè)置在 TextBox 中正文的起始位置 第一個(gè)字符的位置為 0 9 SelLength 屬性 SelLength 屬性用于設(shè)置 TextBox 中正文的長(zhǎng)度 10 SelText 屬性 SelText 屬性用于設(shè)置 TextBox 中正文的內(nèi)容 這幾個(gè)屬性一般用在文本編輯中設(shè)置插入點(diǎn)及范圍 選定字符串 清除文本等 2 事件 Change KeyPress LostFocus 等 1 Change 事件 在 文本中輸入新信息時(shí) 或在程序中將 Text 屬性設(shè)置為新值時(shí) 每當(dāng) 用戶鍵入一個(gè)字符 都會(huì)引發(fā)一次該事件 2 KeyPress 事件 當(dāng)用戶按下并釋放鍵盤(pán)上某鍵時(shí)引發(fā)的事件 在該事件發(fā)生的同時(shí) 返 回用戶輸入字符的 ASCII 碼值 十進(jìn)制 3 Lostfocus 事件 當(dāng)用戶使用鍵或用鼠標(biāo)單擊窗體上其他對(duì)象而使該文本失去焦點(diǎn) 時(shí) 觸發(fā)該事件 3 方法 SetFocus 方法 用于將光標(biāo)自動(dòng)移到指定的文本框中 該方法主要用于程序 中 其形式如下 對(duì)象 SetFocus 如 程序代碼 Text5 SetFocus 當(dāng) VB 執(zhí)行了上述程序代碼后 就會(huì)將光標(biāo)移到 Text5 上 六 命令按鈕 命令按鈕 Command 控件主要用于運(yùn)行某一個(gè)程序 1 屬性 1 基本屬性 命令按鈕控件的基本屬性主要有 名稱 Height Width Top Left Enabled Visible FontName FontSize Backcolor 等 2 Caption 屬性 Caption 屬性用于使用文字來(lái)標(biāo)識(shí)命令按鈕的功能 最多 255 個(gè)字符 該屬性 也可為命令按鈕創(chuàng)建快捷鍵 如果在所輸入的某字母前加一個(gè) Spc 5 2 Cls 方法 Cls 方法用以清除程序在運(yùn)行時(shí)在窗體或圖形中顯示的文本或圖形 其語(yǔ)法格式為 對(duì)象 Cls 使用 Cls 方法后 圖形坐標(biāo)中兩坐標(biāo)軸的 x 與 y 值均被置為 0 并清除運(yùn)行時(shí)窗體上 顯示的文本及圖形 但不清除窗體在設(shè)計(jì)時(shí)的文本和圖形 對(duì)象 選項(xiàng)省略時(shí)指窗體 3 Move 方法 Move 方法用于移動(dòng)窗體或控件 并改變其大小 其語(yǔ)法格式為 對(duì)象 Move 上邊距離 寬度 高度 說(shuō)明 1 對(duì)象 可以是除時(shí)鐘 菜單外的所有控件 省略對(duì)象時(shí)默認(rèn)對(duì)象為窗體 2 左邊距離 上邊距離 寬度 高度 數(shù)值表達(dá)式 以 twip 緹 為單位 如果對(duì) 象是窗體 則 距離 以屏幕為參照 否則以窗體為參照 例 首先編程設(shè)置圖形控件 Image1 在窗體中的位置 并向 Image1 中裝載圖形 然后 令該圖形控件移動(dòng)并放大 Private Sub Form Load 設(shè)置圖形控件 Image1 在窗體中的位置 并向 Image1 中裝載圖形 Image1 Top 100 Image1 Left 100 Image1 Picture LoadPicture MYCOMP ICO End Sub Private Sub Image1 Click 令圖形控件移動(dòng)并放大 Image1 Stretch True Image1 Move Image1 Left 100 Image1 Top 100 Image1 Width 100 Image1 Height 100 End Sub 四 源程序的書(shū)寫(xiě)要求 1 在主要的程序段落應(yīng)用漢語(yǔ)對(duì)程序的功能進(jìn)行標(biāo)注 以增加程序的可讀性 2 書(shū)寫(xiě)的程序要具有鋸齒形風(fēng)格 即每當(dāng)書(shū)寫(xiě)到條件判斷和循環(huán)等結(jié)構(gòu)語(yǔ)句時(shí) 結(jié)構(gòu) 內(nèi)的語(yǔ)句應(yīng)有規(guī)律地后移 遇到嵌套結(jié)構(gòu)時(shí) 嵌套結(jié)構(gòu)內(nèi)的語(yǔ)句不但需要后移而且要分出 層次 每一個(gè)程序員都要培養(yǎng)此種書(shū)寫(xiě)程序的風(fēng)格與習(xí)慣 以便在編寫(xiě)復(fù)雜和大程序時(shí)仍 能保證程序語(yǔ)法和邏輯的正確性 3 2 數(shù)據(jù)類型 教學(xué)目標(biāo) 掌握 VB 中主要的數(shù)據(jù)類型及其表示方法 教學(xué)要求 了解 數(shù)據(jù)類型的概念及種類 理解 各種標(biāo)準(zhǔn)數(shù)據(jù)類型的應(yīng)用場(chǎng)合 掌握 各種標(biāo)準(zhǔn)數(shù)據(jù)類型的表示方法及表示范圍 本節(jié)重點(diǎn) 自定義數(shù)據(jù)類型 各種標(biāo)準(zhǔn)數(shù)據(jù)類型的表示方法及表示范圍 一 標(biāo)準(zhǔn)數(shù)據(jù)類型 1 數(shù)值 Numeric 數(shù)據(jù)類型 1 整型 Integer 和長(zhǎng)整型 Long 整形用于保存整數(shù) 整數(shù)運(yùn)算速度快 但所表示數(shù)的范圍小 其中 Integer 的取值 范圍是 32768 32767 占 2 個(gè)字節(jié) 類型符是 號(hào) Long 的取值范圍是 2147483648 2147483647 占 4 個(gè)字節(jié) 類型符是 x1 x2 x2 Else MsgBox 輸入有錯(cuò) 2 End If End Sub 3 If Then ElseIf 語(yǔ)句 語(yǔ)句形式 If Then ElseIf Then ElseIf Then Else 語(yǔ)句組 n 1 End if 例 設(shè)已在 strC 中存入了一個(gè)字符 編程判斷該字符是英文字母 數(shù)字 其它 并顯 示結(jié)果 If strC a and strC A and strC 0 and strC y Then t x x y y t If x z Then t x x z z t End If If y z Then t y y z z t End If Else If x z Then t x x z z t End If If y z Then t y y z z t End If End If 5 Select Case 語(yǔ)句 語(yǔ)句形式 Select Case Case 表達(dá)式列表 1 Case 表達(dá)式列表 2 Case 表達(dá)式列表 n Case Else 語(yǔ)句組 n 1 End Select 例 編程判斷 strC 中字符的類型 Select Case strC Case a to z A to Z Print strC 是英文字母 Case 0 to 9 Print strC 是數(shù)字 Case Else Print strC 是其它字符 End Select 6 條件函數(shù) 1 IIf 函數(shù) 形式 IIf 例 編程將 x y 中值較大者的值賦給 z z IIf x y x y 2 Choose 函數(shù) 形式 Choose 例 假設(shè)變量 Nop 中存放了 1 2 3 4 中的某一個(gè)值 編程將變量 Nop 中的值轉(zhuǎn)換 成算術(shù)四則運(yùn)算符 其中 1 轉(zhuǎn)換為 2 轉(zhuǎn)換為 3 轉(zhuǎn)換為 4 轉(zhuǎn)換為 并將轉(zhuǎn)換結(jié) 果存放到 OP 變量中 Op Choose Nop 四 循環(huán)結(jié)構(gòu) 1 For Next 語(yǔ)句 語(yǔ)句形式 For To Step 步長(zhǎng) exit for Next 循環(huán)變量 注意 若缺省 Step 步長(zhǎng) 選項(xiàng) 系統(tǒng)默認(rèn)步長(zhǎng)為 1 例 編程計(jì)算 1 到 100 中奇數(shù)之和 Dim i s As Integer s 0 For i 1 To 100 Step 2 s s i Next i Print s 例 編程將 ASCII 碼制成表格在圖形控件 Picture1 中輸出 每行打印 7 個(gè)字符 Private Sub Picture1 Click Dim asc I As Integer Picture1 Print Tab 30 ASCII 碼對(duì)照表 Picture1 Print For asc 32 To 126 Picture1 Print Tab 10 I 2 Chr asc asc I I 1 If I 7 Then I 0 Picture1 Print End If Next End Sub 2 Do Loop 語(yǔ)句 語(yǔ)句形式 Do While exit do Loop Do Loop 循環(huán)語(yǔ)句在執(zhí)行時(shí)先判斷循環(huán)條件 若循環(huán)條件為真 執(zhí)行循環(huán)體內(nèi)的 語(yǔ)句 否則終止循環(huán) 例 1 編程計(jì)算自然對(duì)數(shù) e 的近似值 要求計(jì)算的誤差小于 0 000001 計(jì)算自然對(duì)數(shù) e 的公式為 e 1 1 1 1 2 1 3 1 4 1 n Private Sub Command1 Click Dim i n As Integer Dim e s As Double s 1 e 1 Do While s 0 000001 i i 1 s s i e e s Loop Print e End Sub 例 2 編程用轉(zhuǎn)輾相除法求兩個(gè)正整數(shù) m n 的最大公約數(shù)和最小公倍數(shù) 求兩個(gè)正整 數(shù) m n 的最大公約和最小公倍數(shù)的算法如下 求兩個(gè)正整數(shù) m n 的最大公約數(shù)算法 第一步 對(duì)已知的 m 和 n 先使 m n 第二步 m 除以 n 得余數(shù) r 第三步 若 r 0 則 n 為所求的最大公約數(shù) 計(jì)算結(jié)束 否則將 n 的值賦值給 m 將 r 的值賦值給 n 然后重復(fù)執(zhí)行第二步 直至 r 0 求兩個(gè)正整數(shù) m n 的最小公倍數(shù)算法 當(dāng)取得 m 和 n 的最大公約數(shù)后 將 m 和 n 相乘再除以最大公約數(shù)就可得到 m 和 n 的最小公倍數(shù) 求兩個(gè)正整數(shù) m n 的最大公約數(shù)和最小公倍數(shù)的源程序如下 Private Sub Command1 Click Dim m n p mn As Integer m Val Text1 n Val Text2 If m 0 Or n 0 Then End If m n Then t m m n n t Do While n 0 r m Mod n m n n r Loop Print 最大公約為 n Print 最小公倍為 m n n End Sub 在循環(huán)結(jié)構(gòu)中 VB 還有 Do Until 等循環(huán)語(yǔ)句 由于語(yǔ)句的功能與上述兩種循環(huán)語(yǔ) 句基本相同 不再贅述 感興趣的同學(xué)可自學(xué) 3 循環(huán)的嵌套 在一個(gè)循環(huán)體內(nèi)又包含一個(gè)完整的循環(huán)結(jié)構(gòu)稱為循環(huán)的嵌套 循環(huán)的嵌套是編程中常 用技術(shù) 是每一個(gè)計(jì)算機(jī)程序設(shè)計(jì)員必須掌握的技術(shù) 計(jì)算機(jī)語(yǔ)言中 循環(huán)可以并列 可 以嵌套 但不能相交 例 1 古代數(shù)學(xué)中有一個(gè) 百文買百雞 的問(wèn)題 題目是 雞翁一值三文 雞母一 值二文 雞雛三值一文 問(wèn) 百文買百雞 各買幾何 用現(xiàn)代數(shù)學(xué)方法來(lái)考慮這一問(wèn)題 可以發(fā)現(xiàn)這是一個(gè)簡(jiǎn)單的三元一次方程組的求解問(wèn)題 方程組的數(shù)學(xué)公式為 設(shè)公雞買 X 只 母雞買 Y 只 小雞買 Z 只 根據(jù)已知條件可列出以下方程組 X Y Z 100 其中 X 的取值范圍 1 33 Y 的取值范圍 1 50 3X 2Y Z 3 100 其中 Z 的取值范圍 1 99 由于方程組中有三個(gè)未知量 而方程只有兩個(gè) 因此方程為多解 解該方程的程序如 下 Private Sub Command1 Click Dim X Y Z As Integer For X 1 To 33 For Y 1 To 50 For Z 1 To 99 If 3 X 2 Y Z 2 100 And X Y Z 100 Then Print X Y Z End If Next End Sub 例 2 用循環(huán)語(yǔ)句編制一個(gè)在圖形控件 Picture1 中打印 九九乘法表 的程序 Private Sub Picture1 Click Dim ss As String Picture1 Print Tab 40 九九乘法表 Picture1 Print For i 1 To 9 For j 1 To i ss j ss Next Picture1 Print Picture1 Print Next End Sub 五 其它輔助控制語(yǔ)句 1 Go To 語(yǔ)句 語(yǔ)句格式 Go To Go To 語(yǔ)句的作用是無(wú)條件地轉(zhuǎn)移到行號(hào)或標(biāo)號(hào)指定的語(yǔ)句行 注意 在 VB 程序設(shè)計(jì)中要盡量少用或不用 Go To 語(yǔ)句 以保證所編程序的結(jié)構(gòu)化 2 End 語(yǔ)句 End 語(yǔ)句用于結(jié)束一個(gè)程序的運(yùn)行 返回 Windows 在一個(gè)應(yīng)用程序中 邏輯上只允 許有一個(gè) End 語(yǔ)句 3 With End With 語(yǔ)句 語(yǔ)句格式 With End With With End With 語(yǔ)句用于在不重復(fù)指出對(duì)象名稱的情況下 對(duì)某對(duì)象執(zhí)行一系列的語(yǔ) 句 例 對(duì)照下面兩個(gè)過(guò)程 就可以認(rèn)識(shí)到 With End With 語(yǔ)句的作用 Private Sub Command1 Click Private Sub Command1 Click With Label1 Label1 Height 2000 Height 2000 Label1 Width 2000 Width 2000 Label1 FontSize 24 FontSize 24 Label1 Caption 標(biāo)簽 Caption 標(biāo)簽 End Sub End With End Sub 3 6 數(shù)組 數(shù)組是按一定順序排列 具有相同類型的變量的集合 VB 中將數(shù)組分為靜態(tài)數(shù)組和 動(dòng)態(tài)數(shù)組 靜態(tài)數(shù)組在聲明時(shí)必須指明數(shù)組的維數(shù)和變量的個(gè)數(shù) 動(dòng)態(tài)數(shù)組在聲明時(shí)僅定 義數(shù)組的名稱和類型 然后在執(zhí)行程序的過(guò)程中 根據(jù)實(shí)際需要再用 ReDim 語(yǔ)句定義數(shù)組 的維數(shù)及變量的個(gè)數(shù) 而且允許使用簡(jiǎn)單變量來(lái)進(jìn)行數(shù)組中變量個(gè)數(shù)的定義 數(shù)組的使用在管理信息系統(tǒng)軟件的程序設(shè)計(jì)中有著不可替代的作用 離開(kāi)數(shù)組的使用 某些程序的編制將會(huì)變得非常麻煩 甚至導(dǎo)致程序編制的失敗 因此數(shù)組是程序設(shè)計(jì)人員 必須熟悉和掌握的必備知識(shí) 教學(xué)要求 了解 數(shù)組的概念 理解 靜態(tài)數(shù)組和動(dòng)態(tài)數(shù)組的區(qū)別 控件數(shù)組的作用 掌握 數(shù)組的定義及使用方法 控件數(shù)組的應(yīng)用 本節(jié)重點(diǎn) 動(dòng)態(tài)數(shù)組的應(yīng)用 控件數(shù)組的應(yīng)用 本節(jié)難點(diǎn) 動(dòng)態(tài)數(shù)組的應(yīng)用 一 靜態(tài)數(shù)組及聲明 1 一維數(shù)組 一維數(shù)組的定義如下 Dim 下界 To 上界 As 類型 若缺省下界 系統(tǒng)默認(rèn)為 0 例 Dim num 1 To 50 As Integer 2 多維數(shù)組 VB 中數(shù)組的維數(shù)允許最多可達(dá) 60 維 多維數(shù)組的定義格式如下 Dim 下界 1 To 上界 1 下界 2 To 上界 2 As 類型 例 Dim A 12 50 C 10 As Double 二 動(dòng)態(tài)數(shù)組 動(dòng)態(tài)數(shù)組在聲明時(shí)只定義數(shù)組名或數(shù)組名及類型 不指定大小 在執(zhí)行程序的過(guò)程中 再根據(jù)需要用 Redim 語(yǔ)句重新定義數(shù)組的大小 重新定義動(dòng)態(tài)數(shù)組的語(yǔ)句格式如下 Redim 下標(biāo) 1 下標(biāo) 2 注意 1 Redim 語(yǔ)句中的下標(biāo)可以是已被賦值的變量 2 在過(guò)程中可多次使用 Redim 來(lái)改變數(shù)組的大小和維數(shù) 3 每次使用 Redim 語(yǔ)句都會(huì)使原數(shù)組中的數(shù)據(jù)丟失 如需要保留原數(shù)組數(shù)據(jù) 可 用 Preserve 參數(shù)來(lái)保留 使用該參數(shù)只能改變最后一維的大小 例 在程序運(yùn)行時(shí)由操作者指定一個(gè)一維數(shù)組的變量個(gè)數(shù) 然后由計(jì)算機(jī)自動(dòng)產(chǎn)生一 組隨機(jī)數(shù)存放到一維數(shù)組中 并將此組隨機(jī)數(shù)在窗體上打印出來(lái) 完成此項(xiàng)工作的源程序 如下 Dim x As Double Private Sub Form Click W InputBox 請(qǐng)問(wèn)需要產(chǎn)生多少個(gè)隨機(jī)數(shù) 100 100 W Val W ReDim x W For i 1 To W x i Rnd Print x i Next End Sub 注意 動(dòng)態(tài)數(shù)組主要用于編程時(shí)尚不能確定數(shù)組中變量的個(gè)數(shù) 而只能在程序執(zhí)行過(guò) 程中根據(jù)統(tǒng)計(jì)或外部提供的信息才能確定數(shù)組中變量個(gè)數(shù)的情況 三 數(shù)組的基本操作 1 用循環(huán)語(yǔ)句為數(shù)組元素賦初值 例 使用 For Next 語(yǔ)句為一維數(shù)組賦初值 0 Private Sub Form Load Dim a 10 As Integer For i 0 To 10 a i 0 Next End Sub 2 使用 Array 函數(shù)給數(shù)組賦值 例 給 a 數(shù)組賦值 5 個(gè)奇數(shù) 給 b 數(shù)組賦值 3 個(gè)英文字母 Dim a As Variant b As Variant I a Array 1 3 5 7 9 b Array x y z 注意 1 利用 Array 函數(shù)對(duì)數(shù)組各元素賦值 聲明的數(shù)組是可調(diào)數(shù)組 并且其類型只能是 Variant 2 數(shù)組的下界為 0 上界由函數(shù)括號(hào)中的參數(shù)個(gè)數(shù)決定 四 數(shù)組的應(yīng)用舉例 例 1 排序 令計(jì)算機(jī)用隨機(jī)函數(shù)自動(dòng)生成 20 個(gè) 10 100 之間的整數(shù) 將其按由 小到大的順序排列 并將這 20 個(gè)隨機(jī)數(shù)打印出來(lái) Dim X 20 As Integer Dim i j k As Integer Private Sub Form Load Randomize For i 1 To 20 X i Rnd 90 10 Next End Sub Private Sub Form Click For i 1 To 19 For j i 1 To 20 If X i X j Then k X i X i X j X j k End If Next Print X I Next End Sub 例 2 編程實(shí)現(xiàn) 當(dāng)用戶由鍵盤(pán)輸入一串英文字母到文本框 Text1 中后 令計(jì)算機(jī) 自動(dòng)統(tǒng)計(jì)出 Text1 中各種英文字母出現(xiàn)的次數(shù) 不區(qū)分大小寫(xiě) 并將統(tǒng)計(jì)結(jié)果打印出來(lái) Private Sub Command1 Click Dim ss As String Dim a 1 To 26 As Integer i k As Integer k Len Text1 Text For i 1 To k ss UCase Mid Text1 Text i 1 If ss A And ss 1 For k 1 To j m m 1 m m Mod 16 Do While Not Label1 m Visible m m 1 m m Mod 16 Loop Next k Label1 m Visible False Image1 m Visible False n n 1 DoEvents ti DateAdd s 1 Now Do While ti Now Loop Loop For i 0 To 15 If Image1 i Visible Then k i 1 End If Next i Text1 Visible True Text1 Text 最后剩的是第 x End Sub 2 函數(shù)過(guò)程的調(diào)用 由于函數(shù)過(guò)程可由函數(shù)名返回一個(gè)值 因此函數(shù)過(guò)程不- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
15 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- VB 課程 教案
鏈接地址:http://kudomayuko.com/p-9981107.html