VB程序設計基礎(chǔ)(全集)_第1頁
VB程序設計基礎(chǔ)(全集)_第2頁
VB程序設計基礎(chǔ)(全集)_第3頁
VB程序設計基礎(chǔ)(全集)_第4頁
VB程序設計基礎(chǔ)(全集)_第5頁
已閱讀5頁,還剩387頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、主 編 :陳慶章,Visual Basic,前 言,Visual Basic是目前進行Windows應用程序設計的最佳工具之一,也是最佳的程序設計入門語言,這一看法已經(jīng)得到普遍認可。 非計算機專業(yè)計算機基礎(chǔ)教學的3個不同層次,分別解決的是“操作技能”、“思維訓練”、“綜合應用能力”問題。學習一門程序設計語言,主要目的是要提高讀者分析歸納、解決問題的能力,在思維訓練方面受益,并使得讀者通過更系統(tǒng)、深入的學習后開發(fā)實用程序成為可能。 因此,本書在內(nèi)容上精選了Visual Basic 6.0中最基礎(chǔ)、最常用并實用的部分;在編排和風格上力圖體現(xiàn)循序漸進、深入淺出的特點;以樣本程序示例教學,階段性構(gòu)筑讀

2、者的成就感,使得艱苦的程序設計工作升華為一種藝術(shù)創(chuàng)作,提供了一條通往程序設計高手的捷徑。,前 言,本書的編寫得到了浙江省高校計算機教學研究會的大力支持。本書共分9章,第1、第7章由浙江科技學院的羅朝盛教授編寫,第2、第3、第4、第6章由浙江工業(yè)大學的胡同森副教授編寫,第5章由浙江理工大學的莊紅副教授編寫,第8章由胡同森和浙江師范大學的朱建新編寫,第9章由杭州電子科技大學的郭艷華副教授編寫。附錄部分包括ASCII字符集、Visual Basic常用系統(tǒng)函數(shù)、Visual Basic常用屬性、Visual Basic常用事件、Visual Basic常用方法以及部分對象能使用的常用方法,為大家使用

3、Visual Basic進行程序設計提供查找資料的方便。全書由浙江工業(yè)大學陳慶章?lián)沃骶?,由胡同森統(tǒng)稿。,前 言,另外,與本教材配套使用的另一本教學或自學參考書Visual Basic學習及實踐指導將在2005年春季前出書。書中將有本教材習題的參考答案和Visual Basic學習及實踐指導中附加習題的參考答案。此書是教師教學、學生或讀者自學非常實用的輔助參考書。 希望所有讀者和從事計算機基礎(chǔ)教學的各位同仁,對本書多提寶貴意見,使其逐步完善。在此,預致我們深深的謝意。 本書編委會 2004年7月,編委會名單,主 任:方永平 副主任:胡維華 委 員 (以姓氏筆畫為序) 陳慶章 何欽銘 項小仙 趙

4、建民 俞瑞釗 蔣聯(lián)海 雷 煒 樓程富 主 編 :陳慶章 編著者 :胡同森 羅朝盛 莊 紅 郭艷華 朱建新,目 錄,第1章 Visual Basic 6.0程序設計概述 第2章 程序設計基礎(chǔ) 第3章 結(jié)構(gòu)化程序設計與數(shù)組 第4章 函數(shù)與過程 第5章 常用控件 第6章 圖形控件和圖形方法 第7章 對話框和菜單程序設計 第8章 文 件 第9章 數(shù)據(jù)庫與數(shù)據(jù)訪問技術(shù),第1章 Visual Basic 6.0程序設計概述,1.1 Visual Basic簡介 1.2 Visual Basic 6.0可視化編程環(huán)境 1.3 Visual Basic中的基本概念 1.4 窗 體 1.5 Visual Bas

5、ic程序的組成及工作方式 1.6 一個簡單的Visual Basic程序的創(chuàng)建實例 1.7 小 結(jié),1.1.1 Visual Basic的發(fā)展過程,Basic(Beginners All-Purpose Symbol Instruction Code初學者通用指令代碼)語言,是早期微型計算機中廣泛使用的計算機程序設計高級語言。Visual Basic在原有Basic語言的基礎(chǔ)上進一步發(fā)展,綜合了Basic語言和Windows操作系統(tǒng)的優(yōu)點,把它們?nèi)诤显谝黄?,為初學者在Windows環(huán)境下編寫應用程序提供了良好的開發(fā)環(huán)境?!癡isual”的原意是指“可視的”或“看得見的”,是為用戶開發(fā)圖形用戶界

6、面(GUI)提供的一種方法。用戶不需要編寫大量代碼去描述界面元素的外觀和位置,而只要把預先建立的對象加到屏幕上的適當位置,再進行簡單的設置即可。,1.1.1 Visual Basic的發(fā)展過程,1991年,微軟公司推出了Visual Basic1.0版,這在當時引起了很大的轟動。許多專家把Visual Basic的出現(xiàn)當作是軟件開發(fā)史上的一個具有劃時代意義的事件。其實,現(xiàn)在看來,Visual Basic1.0的功能實在是太弱了。但在當時,它是第一個“可視”的編程軟件。 1992年初,發(fā)布Visual Basic Professional Toolkit,其中包含了一組由微軟公司和其他公司開發(fā)的

7、自定義控件。這時,面向?qū)ο蠛蛷陀眯蚤_始成為軟件開發(fā)中的重要概念。同年,又發(fā)布了Microsoft Visual Basic 2.0,其中包含了變體數(shù)據(jù)類型、預定義True、False常量和對象變量。 1993年,Visual Basic 3.0的推出,新增了標準數(shù)據(jù)控件,帶有Jet 1.1版本的數(shù)據(jù)庫引擎。 1995年,微軟公司又推出了Visual Basic 4.0。該版本不但大量改寫了原來的Visual Basic,還加入了OLE技術(shù)并能夠生成對象;同時還支持32位自定義控件OCX,并可從Visual Basic應用程序中訪問其他軟件環(huán)境下生成的數(shù)據(jù),如Microsoft Word、Mic

8、rosoft Excel等。,1.1.1 Visual Basic的發(fā)展過程,1997年,微軟公司推出了Visual Basic 5.0,它支持Microsoft COM標準,可以生成ActiveX控件,并有明顯創(chuàng)新,開發(fā)人員可以用Visual Basic生成自己的自定義控件和DLL。 1998年,微軟公司又推出了Visual Basic 6.0。較以前版本而言,其功能和性能都大大增強了,它還提供了新的、靈巧的數(shù)據(jù)庫和Web開發(fā)工具,如增加了新的SQL Server交互方法,包括數(shù)據(jù)庫的訪問,使用數(shù)據(jù)庫的新工具和控件等。,1.1.1 Visual Basic的發(fā)展過程,Visual Basic

9、 5.0/6.0有3種版本,分別為學習版、專業(yè)版和企業(yè)版。 學習版:它是最基本的版本,允許編寫許多類型的程序,與其他版本相比,所帶工具較少。 專業(yè)版:為專業(yè)人員而設計,它不僅包含了學習版的全部內(nèi)容,還包含了許多其他功能,如具有創(chuàng)建ActiveX控件和ActiveX文檔的能力;提供Internet開發(fā)功能,具有更多使用數(shù)據(jù)庫的工具。 企業(yè)版:這是Visual Basic 6.0最完善的版本,該版本主要用于開發(fā)企業(yè)級分布式應用程序,它包含了許多附加工具,提供了完全集成SQL Server的所有工具。 這3個版本是在相同的基礎(chǔ)上建立起來的,以滿足不同層次用戶的需要。對大多數(shù)用戶來說,專業(yè)版就可以滿足

10、要求。本書使用的是Visual Basic 6.0的企業(yè)版(中文),書中介紹的內(nèi)容盡量做到與版本無關(guān)。,1.1.2 Visual Basic的特點,Visual Basic是一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動方式的結(jié)構(gòu)化高級程序設計語言,能用于Windows環(huán)境下的各種應用軟件的開發(fā),是目前較為流行的應用軟件開發(fā)平臺,具有許多明顯的特點與優(yōu)點,現(xiàn)歸納如下: 1提供了面向?qū)ο蟮目梢暬幊坦ぞ?Visual Basic采用的是面向?qū)ο蟮某绦蛟O計方法(OOP),它把程序和數(shù)據(jù)封裝在一起而視作為一個對象。Visual Basic提供了可視化的設計工具,把Windows界面設計的復雜性“隱藏”起來,開

11、發(fā)人員只需按設計要求,用系統(tǒng)提供的工具,在屏幕上畫出各種對象,并設置這些對象的屬性,這樣就可以在屏幕上“畫”出所需的用戶界面,不必為界面設計而編寫大量的程序代碼,因而大大提高程序設計的效率。,1.1.2 Visual Basic的特點,2事件驅(qū)動的編程方式 傳統(tǒng)的程序設計是一種面向過程的方式,程序總是按事先設計好的流程運行,用戶不能隨意改變、控制程序的流向。在Visual Basic中,用戶的動作事件控制著程序的流向,每個事件都能驅(qū)動一段程序的運行。程序員只需編寫響應用戶動作的代碼,而各個動作之間不一定有聯(lián)系,這樣的應用程序代碼一般比較短,所以程序易于編寫與維護。 3結(jié)構(gòu)化的程序設計語言 Vi

12、sual Basic具有豐富的數(shù)據(jù)類型和結(jié)構(gòu)化程序結(jié)構(gòu),其特點是: (1) 增強了數(shù)值和字符串處理功能,比傳統(tǒng)的Basic語言有許多的改進。 (2) 提供了豐富的圖形及動畫指令,可方便地繪制各種圖形。 (3) 提供了定長和動態(tài)(變長)數(shù)組,有利于簡化內(nèi)存管理。 (4) 增加了遞歸過程調(diào)用,使程序更為簡練。 (5) 提供了一個可供應用程序調(diào)用的包含多種類型的圖標庫。 (6) 具有完善的調(diào)試、運行出錯處理。,1.1.2 Visual Basic的特點,4提供了易學易用的應用程序集成開發(fā)環(huán)境 在Visual Basic的集成開發(fā)環(huán)境中,用戶可設計界面、編寫代碼、調(diào)試程序,直至將應用程序編譯成可執(zhí)行文

13、件在Windows上運行,使用戶在友好的開發(fā)環(huán)境中工作。 5支持多種數(shù)據(jù)庫系統(tǒng)的訪問 利用Visual Basic的數(shù)據(jù)控件,可訪問Microsoft Access、Dbase、Microsoft FoxPro、Paradox等,也可以訪問Microsoft Excel、Lotusl 1-2-3等多種電子表格。,1.1.2 Visual Basic的特點,6支持動態(tài)數(shù)據(jù)交換(DDE)、動態(tài)鏈接庫(DLL)和對象的鏈接與嵌入(OLE) 動態(tài)數(shù)據(jù)交換是Microsoft Windows除了剪貼板和動態(tài)鏈接函數(shù)庫以外,在Windows內(nèi)部交換數(shù)據(jù)的第三種方式。利用這項技術(shù)可在Visual Basic

14、開發(fā)的應用程序與其他Windows應用程序之間建立數(shù)據(jù)通信。動態(tài)鏈接庫中存放了所有Windows應用程序可以共享的代碼和資源,這些代碼或函數(shù)可以用多種語言寫成。Visual Basic利用這項技術(shù)可以調(diào)用幾乎任何語言產(chǎn)生的DLL,也可以調(diào)用Windows應用程序接口(API)函數(shù),以實現(xiàn)SDK所能實現(xiàn)的功能。 7完備的Help聯(lián)機幫助功能 與Windows環(huán)境下的其他軟件一樣,在Visual Basic中,利用幫助菜單和功能鍵,用戶可隨時方便地得到所需的幫助信息。Visual Basic幫助窗口中顯示了有關(guān)的示例代碼,通過復制、粘貼操作可獲得大量的示例代碼,為用戶的學習和使用提供了極大的方便。

15、,1.1.3 Visual Basic 6.0的新特性,Visual Basic 6.0與以前的版本不同,它是Visual Studio家族的一個組件,保留了Visual Basic 5.0的優(yōu)點,如在開發(fā)環(huán)境上的改進,增加了工作組,在代碼編輯器中提供了控件屬性方法的自動提示,能編譯生成本機代碼,大大提高程序的執(zhí)行速度等。同時,Visual Basic 6.0在數(shù)據(jù)訪問技術(shù)、Internet技術(shù)及智能化向?qū)Х矫娑加辛嗽S多新的特性。下面對Visual Basic 6.0的新特性作一個簡單的概括。 1數(shù)據(jù)訪問的新特性 Visual Basic 6.0在數(shù)據(jù)訪問技術(shù)方面比Visual Basic 5

16、.0有了很大的增強,首先,它采用了一種新的數(shù)據(jù)訪問技術(shù)ADO(Active Data Object),使之能更好地訪問本地和遠程的數(shù)據(jù)庫。其次,在數(shù)據(jù)環(huán)境方面,允許程序員可視化地創(chuàng)建和操作ADO連接及命令,為程序員操縱數(shù)據(jù)源提供了很大的方便。另外,增加了ADO控件和集成的可視化數(shù)據(jù)庫工具。,1.1.3 Visual Basic 6.0的新特性,2Internet功能的增強 Internet是當今發(fā)展的潮流,Visual Basic 6.0在Internet方面的增強使得它已成為當前最強有力的開發(fā)工具之一。 (1) IIS程序設計:用Visual Basic 6.0的專業(yè)版和企業(yè)版可直接創(chuàng)建II

17、S應用程序,響應用戶的要求。 (2) DHTML的設計:利用Visual Basic 6.0,程序員可直接通過Visual Basic代碼來實現(xiàn)動態(tài)網(wǎng)頁的設計。 (3) Internet Explorer 4.x對下載ActiveX文檔的支持。 3控件、語言和向?qū)Х矫娴男略鎏匦?(1) DataGrid、DataList、DataCombo等新增的數(shù)據(jù)控件:相當于Data Base(簡稱DB)版本的DBGrid、OLEDBList和DBCombo,所不同的是它們都支持新的ADO控件。 (2) 可以創(chuàng)建自己的數(shù)據(jù)源和數(shù)據(jù)綁定對象。 (3) 函數(shù)可以將數(shù)組作為返回值,并且可以為可變大小的數(shù)組賦值。

18、 (4) 新增了安裝向?qū)?、?shù)據(jù)對象向?qū)?、?shù)據(jù)窗體向?qū)б约皯贸绦蛳驅(qū)А_@些新增的向?qū)?,可以使開發(fā)人員設計出更優(yōu)秀的應用程序。,1.1.3 Visual Basic 6.0的新特性,4高度可移植化的代碼 代碼的可移植性是面向?qū)ο缶幊痰囊粋€重要特點。Visual Basic 6.0集成了Visual Component Manager(簡稱VCM,中文含義為可視化組件管理器)和Visual Modeler(可視化模塊設計器)。通過VCM,可以在Visual Basic的工程中方便地組織、查找、插入各種窗體、模板、類模塊,甚至整個工程,為代碼的重新利用提供了很大的方便。而Visual Modeler

19、則可以將設計器和組件轉(zhuǎn)化成Visual C+或Visual Basic的代碼,它與VCM結(jié)合可以將Visual Basic中寫的類,在其他工程甚至Visual C+的工程中使用。 5創(chuàng)建ActiveX控件更加輕松方便 用Visual Basic 6.0創(chuàng)建的ActiveX控件,其外觀和行為均和用C語言編寫的控件一樣,可以用在Visual C+、Visual Basic、Delphi,甚至Word和Access中。 6在線幫助更加完善 Visual Basic 6.0有兩張光盤的文檔資料,里邊包括Visual Basic 6.0程序員設計手冊、全文搜索索引、Visual Basic文檔以及Vis

20、ual Basic程序樣例等。,1.2.1 Visual Basic 6.0的集成開發(fā)環(huán)境主窗口,Visual Basic 6.0集成開發(fā)環(huán)境(IDE),提供了整套工具,方便用戶開發(fā)應用程序。它在一個公共環(huán)境里集成了許多不同的功能,例如設計、編輯、編譯和調(diào)試。下面介紹Visual Basic 6.0的集成開發(fā)環(huán)境。 當啟動Visual Basic 6.0時,可以見到如圖1-1所示的窗口,其中會提示選擇要建立的工程類型。,圖1-1 Visual Basic 6.0中可以建立的工程類型,1.2.1 Visual Basic 6.0的集成開發(fā)環(huán)境主窗口,使用Visual Basic 6.0可以生成下

21、列13種類型的應用程序(圖中僅看到10種,通過滾動條可看到另外3種): 在圖1-1的窗口中有3個選項卡: (1) 新建:這個選項卡中列出了11種可生成的工程類型。 (2) 現(xiàn)存:這個選項卡中列出了可以選擇和打開的現(xiàn)有工程。 (3) 最新:這個選項卡中列出了最近使用過的工程,用戶可以選擇和打開一個需要的工程。 當選擇“新建”選項卡中的“標準EXE”圖標并單擊“打開”按鈕,可以打開如圖1-2所示的Visual Basic集成開發(fā)環(huán)境窗口。,1.2.1 Visual Basic 6.0的集成開發(fā)環(huán)境主窗口,圖1-2 Visual Basic 6.0集成開發(fā)環(huán)境,1.2.1 Visual Basic

22、6.0的集成開發(fā)環(huán)境主窗口,需要說明的是正常啟動時,可能見不到圖1-2中的“立即”窗口。在Visual Basic集成環(huán)境中的其他類似窗口,都可以通過“視圖”菜單中的相應命令來打開和關(guān)閉。 1標題欄 標題欄位于主窗口最上面的一行,如圖1-3所示。標題欄中間顯示窗口標題及工作模式,Visual Basic有3種工作模式:設計(Design)模式、運行(Run)模式和中斷(Break)模式。啟動時它顯示“工程1-Microsoft Visual Basic設計”,表示它處于程序設計模式。 (1) 設計模式:可進行用戶界面的設計和代碼的編制,以完成應用程序的開發(fā),如圖1-2所示。 (2) 運行模式:

23、運行應用程序,這時不可編輯代碼,也不可編輯界面。此時,標題欄中的標題為:“工程1 Microsoft Visual Basic 運行”。 (3) 中斷模式:應用程序運行暫時中斷,這時可以編輯代碼,但不可編輯界面。此時,標題欄中的標題為:“工程1 Microsoft Visual asic break”。按F5鍵或單擊工具欄的“繼續(xù)”按鈕 ,程序繼續(xù)運行;單擊“結(jié)束”按鈕 ,程序停止運行。,1.2.1 Visual Basic 6.0的集成開發(fā)環(huán)境主窗口,2菜單欄 Visual Basic集成開發(fā)環(huán)境的菜單欄中包含使用Visual Basic所需要的命令。它除了提供標準“文件”、“編輯”、“視圖

24、”、“窗口”和“幫助”菜單之外,還提供了編程專用的功能菜單,如“工程”、“格式”、“調(diào)試”、“外接程序”等菜單,總共13項菜單,如圖1-3所示。,圖1-3 Visual Basic 6.0集成開發(fā)環(huán)境的主窗口,1.2.1 Visual Basic 6.0的集成開發(fā)環(huán)境主窗口,Visual Basic 6.0集成開發(fā)環(huán)境中的基本菜單有:(1) 文件:包含打開和保存工程以及生成可執(zhí)行文件的命令。(2) 編輯:包含編輯命令和其他一些格式化、編輯代碼的命令,以及其他編輯功能命令。(3) 視圖:包含顯示和隱藏IDE元素的命令。(4) 工程:包含在工程中添加構(gòu)件、引用Windows對象和工具箱新工具的命令

25、。(5) 格式:包含對齊窗體控件的命令。(6) 調(diào)試:包含一些通用的調(diào)試命令。(7) 運行:包含啟動、設置斷點和終止當前應用程序運行的命令。(8) 查詢:包含操作數(shù)據(jù)庫表時的查詢命令以及其他數(shù)據(jù)訪問命令。(9) 圖表:包含操作Visual Basic工程時的圖表處理命令。(10) 工具:包含建立ActiveX控件時需要的工具命令,并可以啟動菜單編輯器以及配置環(huán)境選項。(11) 外接程序:包含可以隨意增刪的外接程序。缺省時這個菜單中只有“可視化數(shù)據(jù)管理器”選項。通過“外接程序管理器”命令可以增刪外接程序。(12) 窗口:包含屏幕窗口布局命令。(13) 幫助:提供相關(guān)幫助信息。,1.2.1 Vis

26、ual Basic 6.0的集成開發(fā)環(huán)境主窗口,3工具欄 工具欄在編程環(huán)境下提供對于常用命令的快速訪問。單擊工具欄上的按鈕,即可執(zhí)行該按鈕所代表的操作。在缺省模式下,啟動Visual Basic之后將顯示“標準”工具欄。其他工具欄,如“編輯”、“窗體設計”和“調(diào)試”工具欄可以從“視圖”菜單中的“工具欄”命令中移進或移出。工具欄緊貼在菜單欄下方,或以垂直條狀緊貼在左邊框上,如圖1-3所示。如果用鼠標將工具欄從某欄下面移開,則它能“懸”在窗口中。一般情況下,工具欄在菜單欄的正下方。,1.2.2 窗體設計窗口,“窗體設計窗口”也稱為對象窗口。Windows的應用程序運行后都會打開一個窗口,窗體設計窗

27、口是應用程序最終面向用戶的窗口,是屏幕中央的主窗口。通過在窗體中添加控件并設置相應的屬性來完成應用程序界面的設計。每個窗口必須有一個窗體名字,系統(tǒng)啟動后就會自動創(chuàng)建一個窗體(缺省名為Form1),用戶可通過“工程/添加窗體”來創(chuàng)建新窗體或?qū)⒁延械拇绑w添加到工程中。每個窗體保存后都有一個窗體文件名(擴展名為.Frm)。應注意窗體名即窗體的“Name”屬性和窗體文件名的區(qū)別。,1.2.3 工具箱,系統(tǒng)啟動后缺省的General工具箱就會出現(xiàn)在屏幕左邊,其中每個圖標表示一種控件,共有20個常用“部件”(即控件),如圖1-4所示。,指針(選擇對象) 圖片框(PictureBox) 標簽(Label)

28、文本框(TextBox) 框架(Frame) 命令按鈕(CommandButton) 復選框(CheckBox) 單選按鈕(OptionButton) 組合框(ComboBox) 列表框(ListBox) 水平滾動條(HscrollBar) 垂直滾動條(VscrollBar) 定時器(Timer) 驅(qū)動器列表框(DriveListBox) 目錄列表框(DirListBox) 文件列表框(FileListBox) 形狀(Shape) 畫線(Line) 圖像框(Image) 數(shù)據(jù)庫(Data),圖1-4 Visual Basic工具箱中的常用控件類型,1.2.3 工具箱,用戶可以將不在工具箱中的其

29、他ActiveX控件放到工具箱中。通過“工程”菜單中的“部件”命令或從“工具箱”快捷菜單中選定“部件”選項卡,就會顯示系統(tǒng)安裝的所有ActiveX控件清單。要將某控件加入到當前選項卡中,需單擊要選定控件前面的方框,如圖1-5所示,然后單擊“確定”按鈕,選定的ActiveX控件就會添加到工具欄中。,圖1-5 “部件”對話框,1.2.4 工程資源管理器,工程是指用于創(chuàng)建一個應用程序的文件的集合。工程資源管理器列出了當前工程中的窗體和模塊,如圖1-6所示。 在工程資源管理器窗口中有3個按鈕,分別表示“查看代碼”、“查看對象”和“切換文件夾”。 (1) 單擊“查看代碼”按鈕,可打開“代碼編輯器”查看代

30、碼。 (2) 單擊“查看對象”按鈕,可打開“窗體設計器”查看正在設計的窗體。 (3) 單擊“切換文件夾”按鈕,則可以隱藏或顯示包含在對象文件夾中個別項目列表。,1.2.4 工程資源管理器,圖1-6 工程資源管理器 圖1-7 屬性設置窗口,1.2.5 屬性窗口,屬性是指對象的特征,如大小、標題或顏色等數(shù)據(jù)。在Visual Basic 6.0設計模式中,屬性窗口列出了當前選定窗體或控件的屬性及其值,用戶可以對這些屬性值進行設置。例如,要設置Command1命令按鈕上顯示的字符串,可以找到屬性窗口的“Caption”屬性,輸入“開始”之類的字符串,如圖1-7所示。,1.2.6 窗體布局窗口,窗體布局

31、窗口顯示在屏幕右下角。用戶可使用表示屏幕的小圖像來布置應用程序中各窗體相對于主窗體的位置。圖1-8顯示了桌面上兩個窗體放置及其相對位置。右鍵單擊小屏幕,彈出快捷菜單,可通過該快捷菜單來對窗體啟動位置進行設計,如要設計窗體Form1啟動位置居屏幕中心,其操作如圖1-9所示。,圖1-8 窗體布局窗口 圖1-9 設計窗體啟動位置,1.2.7 代碼編輯窗口,在設計模式中,通過雙擊窗體或窗體上的任何對象或單擊“工程資源管理器”窗口中的“查看代碼”按鈕都可打開代碼編輯器窗口。代碼編輯器是輸入應用程序代碼的編輯器,應用程序的每個窗體或標準模塊都有一個單獨的代碼編輯器窗口,如圖1-10所示。,圖1-10 代碼

32、編輯器窗口,1.2.8 立即窗口,例如: (1) 在立即窗口中使用賦值符給變量賦值。即輸入: X= 3.14:Y=2:Z=30:P=True: K=False (2) 使用“?表達式”或“Print表達式”輸出其表達式的值。操作如下: ? X+Y 5.14 輸出結(jié)果 Print Int(X)+Y/2 4 輸出結(jié)果 ? Not P Or K And P Or YZ False 輸出結(jié)果,1.2.8 立即窗口,在Visual Basic集成環(huán)境中,運行“視圖/立即窗口”命令或按Ctrl+G組合鍵即可打開如圖1-11所示的窗口。 “立即”窗口是Visual Basic所提供的一個系統(tǒng)對象,稱為Deb

33、ug對象,作為調(diào)試程序使用。它只有方法,不具備任何事件和屬性。通常使用是Print方法,使用格式為: Debug.print輸出項列表 例如:Debug.print “VB程序設計” 運行后在立即窗口輸出: VB程序設計 在設計狀態(tài)可以在立即窗口中進行一些簡單的命令操作,如變量賦值,用“?”或Print(兩者等價)輸出一些表達式的值。,圖1-11 立即窗口,1.2.8 立即窗口,操作結(jié)果如圖1-12所示。 此外,Visual Basic 6.0中還有2個非常有用的附加窗口:“本地”和“監(jiān)視”窗口,它們都是為調(diào)試應用程序提供的,本地窗口和監(jiān)視窗口只在運行工作模式下才有效。,圖1-12 在“立即”

34、窗口中的操作實例,1.3.1 可視化編程,傳統(tǒng)的編程方法使用的是面向過程、按順序進行的機制,其缺點是程序員始終要關(guān)心什么時候發(fā)生什么事情,處理Windows環(huán)境下事件驅(qū)動方式的工作量太大。 Visual Basic采用的是面向?qū)ο?、事件?qū)動的編程機制。程序員只需編寫響應用戶動作的程序,如移動鼠標、單擊鼠標等,編寫代碼相對較少。 Visual Basic使用的可視化編程方法,是面向?qū)ο缶幊碳夹g(shù)的簡化版。Visual Basic提供多種控件支持可視化編程,利用它們可以快速創(chuàng)建強大的應用程序而不需涉及不必要的細節(jié)。 在Visual Basic環(huán)境中,程序員不僅可以利用控件來創(chuàng)建對象,而且還可以建立自

35、己的控件,這是Windows環(huán)境下編程的新概念。,1.3.2 對象與類,1對 象 對象(Object)是代碼和數(shù)據(jù)的集合。可以把對象看成日常生活中的各種物體,如一支鋼筆、一輛汽車、一臺電腦都是一個對象。一臺電腦又可以拆分為主板、CPU、內(nèi)存、外設等部件,這些部件又都分別是一個對象,因此電腦對象可以說是由多個“子”對象組成的,它可以稱為是一個對象容器(Container)。 在Visual Basic 6.0中,對象可以由系統(tǒng)設置好,直接供用戶使用,也可以由程序員自己設計。Visual Basic設計好的對象有:窗體、各種控件、菜單、屏幕、剪貼板等。用戶使用最多的是窗體和控件。,1.3.2 對象

36、與類,2類 類是同一種對象的統(tǒng)稱,是一個抽象的整體概念,也是創(chuàng)建對象實例的模板,而對象則是類的實例化。屬于同一類的所有對象具有同一組屬性、方法與事件,只是其屬性值不同,對事件的響應不同(取決于程序員的編程)。 譬如,汽車是一個籠統(tǒng)的名稱,是整體概念,我們把汽車看成一個“類”,一輛輛具體的汽車(比如你的汽車、我的汽車)就是這個類的實例,也就是屬于這個類的對象。 Visual Basic中工具箱上的控件是類,畫在窗體中的各控件則是類的事例化,即是對象。,1.3.3 屬 性,屬性是對象的性質(zhì),對象中的數(shù)據(jù)就保存在屬性中。屬性是用來描述和反映對象特征的參數(shù)。每一種對象都有其屬性,屬性值決定了對象的外觀

37、和行為。例如,“控件名稱”(Name)、“顏色”(Color)及“是否可見”(Visible)等屬性決定了對象展現(xiàn)給用戶的界面具有什么樣的外觀及功能。不同的對象具有的屬性不盡相同,如命令按鈕有“Caption”屬性而無“Text”屬性,文本框無“Caption”屬性而有“Text”屬性。 控件屬性的設置一般有兩條途徑: (1) 如果在界面設計時設置對象的屬性,需要使用屬性窗口。這時只要在屬性窗口中選中要修改的屬性,然后在右列中鍵入新的值即可設置對象的屬性。 如標簽、文本框、列表框、圖片框控件的字體、顏色等屬性。 (2) 如果要在程序運行中動態(tài)地更改對象的屬性,可以使用Visual Basic的

38、賦值語句,在代碼窗口中通過編程設置,其格式為: 對象名.屬性名 = 屬性值 其中“對象名.屬性名”是Visual Basic中引用對象屬性的方法,如下述代碼可以設置標簽控件Label1的標題為“第一個應用程序”: Label1.Caption = 第一個應用程序,1.3.4 方 法,方法是面向?qū)ο蟪绦蛟O計語言為編程者提供的用來完成特定操作的過程和函數(shù)。在Visual Basic中已將一些通用的過程和函數(shù)編寫好并封裝起來,作為方法供用戶直接調(diào)用,這給用戶的編程帶來了極大的方便。因為方法是面向?qū)ο蟮?,所以在調(diào)用時一般要指明對象。對象方法的調(diào)用格式為: 對象.方法參數(shù)名表 其中,若省略了對象,表示是

39、當前對象,一般指窗體。 例如:在窗體Form1上打印輸出“Visual Basic程序設計” 可使用窗體的Print方法 Form1.Print Visual Basic程序設計 若當前窗體是Form1,則可寫為: Print Visual Basic程序設計,1.3.5 對象事件與事件過程,1事件 事件是Visual Basic預先定義的、對象能夠識別的動作。 每個控件都可以對一個或多個事件進行識別和響應,如窗體加載事件(Load)、鼠標單擊事件(Click)、鼠標雙擊事件(DblClick)等。事件是一種預先定義好的特定動作,由用戶或系統(tǒng)激活,在多數(shù)情況下,事件是通過用戶的交互操作產(chǎn)生的。

40、 例如,窗體上有一個名為“CmdOK”的命令按鈕對象,當鼠標指針被移動時,系統(tǒng)將跟蹤鼠標指針的位置,當鼠標在該對象上單擊一下,系統(tǒng)就給鼠標指針所指向的對象發(fā)送一個Click事件,如果該事件已編寫了程序代碼,系統(tǒng)則執(zhí)行過程的程序代碼,執(zhí)行結(jié)束后,控制權(quán)交還給系統(tǒng),并等待下一個事件。,1.3.5 對象事件與事件過程,2事件過程 事件過程是用來完成事件發(fā)生后所要執(zhí)行的操作。 當一個對象察覺到某一事件發(fā)生時(如Click等),就會對事件產(chǎn)生響應,即執(zhí)行一段程序代碼,所執(zhí)行的這段程序代碼就稱為事件過程。 對于窗體對象,其事件過程的形式如下: Sub Form_事件過程名(參數(shù)列表) (事件過程代碼) E

41、nd Sub 對于除窗體以外的對象,其事件過程的形式如下: Sub 對象名_事件過程名(參數(shù)列表) (事件過程代碼) End Sub 例如,單擊名為cmdOk命令按鈕,使命令按鈕變?yōu)椴豢梢姡瑒t對應的事件過程如下: Sub cmdOK_Click( ) Cmd0k.Visible=False End Sub,1.4.1 窗體的結(jié)構(gòu),同Windows環(huán)境下的應用程序窗口一樣,Visual Basic中的窗體也具有控制菜單、標題欄、“最大化”按鈕、“最小化”按鈕、“關(guān)閉”按鈕以及邊框等,如圖1-13所示。 窗體的操作與Windows下的窗口操作一樣。通過鼠標左鍵拖動標題欄可以移動窗體;鼠標對準窗體邊

42、框,當出現(xiàn)雙向箭頭時拖動鼠標可以改變窗體的大小。 建立新窗體后,它的大小、背景顏色、標題及窗體名稱等特征需要根據(jù)應用程序的要求進行設置。,1.4.1 窗體的結(jié)構(gòu),圖1-13 窗體的結(jié)構(gòu),“最小化”按鈕,“最大化”按鈕,“關(guān)閉”按鈕,圖標,控 制 菜單框,邊框樣式,標題,1.4.2 窗體的屬性,窗體的基本屬性有:Name、Left、Top、Height、Width、Visible、Enabled、Font、ForeColor、BackColor等。在Visual Basic中的大多數(shù)控件基本上都有這些屬性,在以后介紹其他對象時,這些屬性還將詳細介紹。 1Name屬性 Visual Basic中任

43、何對象都有Name屬性,在程序代碼中通過該屬性來引用、操作具體的對象。首次在工程中添加窗體時,該窗體的名稱被缺省為Form1;添加第二個窗體,其名稱被缺省為Form2,依此類推。最好給Name屬性設置一個有實際意義的名稱,如給一個程序的主控窗體命名為“MainFrm”。這樣在程序代碼中的意義就很清楚,程序的可讀性就好。,1.4.2 窗體的屬性,2Left、Top屬性 窗體運行在屏幕中,屏幕是窗體的容器,因此窗體的Left、Top屬性值是相對屏幕左上角的坐標值。對于控件,Left、Top屬性值則是相對“容器”左上角的坐標值,其缺省單位是twip。 1twip=1/20點=1/1440in=1/5

44、67cm 3Height、Width屬性 返回或設置對象的高度和寬度。對于窗體,指的是窗口的高度和寬度,包括邊框和標題欄。對于控件,這些屬性使用控件所在“容器”的度量單位。 圖1-14是屏幕(Screen)、窗體(Form1)和命令按鈕(Ok)的Left、Top、Height、Width屬性表示,讀者要注意Left、Top屬性值是相對“容器”左上角的坐標值。在Visual Basic中除了用屏幕、窗體作“容器”外,還有框架和圖片框?qū)ο罂勺鳌叭萜鳌薄?1.4.2 窗體的屬性,圖1-14 對象的Left、Top 、Height、Width屬性,1.4.2 窗體的屬性,例1-1 在窗體Form1被加

45、載時,將其大小設置為屏幕大小的1/2,并居中顯示。通過窗體的Load事件來實現(xiàn)的程序代碼為: Private Sub Form_Load () Form1.Width = Screen.Width/2 設置窗體的寬度,Screen為屏幕對象 Form1.Height = Screen.Height/2 設置窗體的高度。 在水平方向上居中顯示。 Form1.Left = (Screen.Width - Form1.Width)/2 在垂直方向上居中顯示。 Form1.Top = (Screen.Height - Form1.Height)/2 End Sub,1.4.2 窗體的屬性,4Capti

46、on標題屬性 決定出現(xiàn)在窗體的標題欄上的文本內(nèi)容,也是當窗體被最小化后出現(xiàn)在窗體圖標下的文本。如圖1-13中窗體的Caption屬性值是“VB窗體” 5字體Font屬性組 uFontName屬性是字符型,決定對象上正文的字體(缺省為宋體)。 uFontSize屬性是整型,決定對象上正文的字體大?。ㄈ笔?磅)。 uFontBold屬性是邏輯型,決定對象上正文是否是粗體(缺省為False)。 uFontItalic屬性是邏輯型,決定對象上正文是否是斜體(缺省為False)。 uFontStrikeThru屬性是邏輯型,決定對象上正文是否加一刪除線(缺省為False)。 uFontUnderLin

47、e屬性是邏輯型,決定對象上正文是否帶下劃線(缺省為False)。,1.4.2 窗體的屬性,注意: 如果使用窗體或其他“容器”對象無效,則在其中的所有控件也將無效。 例1-2 下面的程序是當文本框Text1不包含任何文本時,使命令按鈕CmdOk無效。 Private Sub Text1_Change( ) If Text1.Text = Then 查看文本框是否為空 CmdOK.Enabled = False 使按鈕無效 Else CmdOK.Enabled = True 使按鈕有效 End If End Sub,1.4.2 窗體的屬性,7Visible屬性 用于確定一個窗體或控件為可見或隱藏。

48、要在啟動時隱藏一個對象,可在設計時將Visible 屬性設置為False,還可在代碼中設置該屬性使控件在運行時隱藏。 8BackColor屬性和ForeColor屬性 BackColor屬性用于返回或設置對象的背景顏色,F(xiàn)oreColor屬性用于返回或設置在對象里顯示圖片和文本的前景顏色,它們是十六進制長整型數(shù)據(jù),在Visual Basic中通常用Windows運行環(huán)境的紅-綠-藍(RGB)顏色方案,使用調(diào)色板或在代碼中使用RGB或QBColor函數(shù)指定標準RGB顏色。 例如,將窗體Form1的背景色設置為紅色,則可使用: Form1.BackColor = RGB(255, 0, 0) 也可

49、用十六進制長整型數(shù)據(jù)或Visual Basic系統(tǒng)內(nèi)部常量給BackColor屬性賦值。例如: Form1.BackColor = . 其中,可以是窗體(Form)、圖片框(PictureBox)或打印機(Printer)。具體說明如下: (1) 輸出項之間的分隔符“,”為分段格式,“;”為緊湊格式。 (2) 語句末尾為分隔符“,”或“;”,則該語句最后的輸出位置為下一條print語句輸出的起始位置。 (3) 若省略輸出項,則輸出一空行。 Visual Basic將一行分為若干段,每14列為1段,若兩個輸出項之間用逗號間隔,則第2個數(shù)據(jù)項的輸出位置從下一段開始;若兩個輸出項之間用分號間隔,則第

50、2個數(shù)據(jù)以“緊湊”格式輸出。,2.3.2 Print語句,例2-3 Print語句的輸出格式及應用。 Private Sub Form_Click() Print 123, 888, -456, 3.14 Print 123; 888; -456; 3.14 Print 123; 888; abc, True; Print 123, 888; -456; 3.14 Print Print 123, 888, -456, 3.14 End Sub 運行該程序時,在窗體上的輸出結(jié)果如圖2-1所示。,圖2-1 例2-3的輸出結(jié)果,2.3.2 Print語句,從例2-3的輸出結(jié)果可知: (1) 無論是

51、分段格式還是緊湊格式,數(shù)值數(shù)據(jù)輸出后都會尾隨一個空格,輸出正數(shù)時正號不顯示、輸出一個空格。 這就是為什么圖2-1中第二行中的123和888之間有2個空格、而888與-456之間只有1個空格的原因。 (2) 字符串數(shù)據(jù)原樣顯示引號內(nèi)的內(nèi)容,邏輯類型數(shù)據(jù)直接輸出True或False。,2.3.3 賦值語句,格式:= 或 .= 功能:計算表達式值并轉(zhuǎn)換為相同類型數(shù)據(jù)后為變量或控件屬性賦值。 說明: (1) 為數(shù)值變量賦值時,表達式的值不得超過數(shù)值變量的數(shù)值范圍,否則顯示錯誤信息。 (2) 值為浮點類型的表達式四舍五入后向整型變量賦值。 (3) 任何類型表達式都可以向字符串變量賦值。 (4) 賦值號不

52、是數(shù)學中的等號。,2.3.3 賦值語句,例2-4 編寫一個實現(xiàn)兩個變量值交換的程序。 我們可以把兩個變量A、B設想成分別裝有牛奶和咖啡的兩只杯子,現(xiàn)在要把牛奶倒到咖啡杯里,而將咖啡倒到牛奶杯里??梢赃@樣來做:另取一只杯子(同類型變量)C,將A中的牛奶倒入杯子C,再將B中的咖啡倒入杯子A,最后將杯子C中的牛奶倒入杯子B。 程序如下: Private Sub Form_Click() Dim a as Integer, b as Integer, c as Integer a=5: b=8 Print a,b 顯示交換前的值 c=a: a=b: b=c 交換 Print a,b 顯示交換后的值 E

53、nd Sub 顯然,將交換的過程寫作“a=b: b=a”是錯誤的。,2.4.1 算術(shù)運算符與算術(shù)表達式,1算術(shù)運算符 如表2-3所示,Visual Basic共有7個算術(shù)運算符,除了負號是單目運算符,其他都是雙目運算符。,表2-3 算術(shù)運算符,2.4.1 算術(shù)運算符與算術(shù)表達式,2算術(shù)運算符的優(yōu)先級 算術(shù)運算符之間的運算優(yōu)先級從高到低如下所示,由此可知:指數(shù)運算優(yōu)先級最高,而加、減運算優(yōu)先級最低。 (指數(shù)運算 )(取負 -)(乘 *、除 /)(整除 )(求余 Mod)(加 +、減 -) 其中,整除和求余運算只能對整型數(shù)據(jù)(Byte、Integer、Long)進行,如果其兩邊的任一個操作數(shù)為實型

54、(Single、Double),則Visual Basic自動將其四舍五入、再用四舍五入后的值作整除或求余運算。 乘、除為同級運算符,加、減為同級運算符,同級運算從左向右進行。在表達式中加括號,可以改變表達式的求值順序。,2.4.1 算術(shù)運算符與算術(shù)表達式,3算術(shù)表達式 常量、變量、函數(shù)是表達式,將它們加圓括號或用運算符作有意義的連接后也是表達式,書寫Visual Basic的算術(shù)表達式,應注意與數(shù)學表達式在寫法上的區(qū)別。例如: (1) 不能漏寫運算符,如3xy應寫作3*x*y。 (2) Visual Basic算術(shù)表達式中使用的括號都是圓括號。 例2-5 由下列數(shù)學式寫出相應的Visual

55、Basic算術(shù)表達式。 寫作:1/(1+1/(1+x) 寫作:-(a*a+b*b*b)*y4 寫作:(-a(bc)+b0.5)*(a-b)-0.5 變量k是一個兩位整數(shù),求其個位數(shù)與十位數(shù)之和的算術(shù)表達式為:k mod 10 + k10,2.4.2 字符串運算符與字符串表達式,字符串運算符有兩個:“+”和“ 123, Tab(30); abc,則在當前輸出行的第10列起輸出123,在第30列起輸出3個字符abc。 (2) Spc(n):輸出n個空格。 如執(zhí)行語句“Print abc; Spc(3); def”后輸出:abc def,2.4.5 常用內(nèi)部函數(shù),例2-7 由下列條件寫出相應的Vis

56、ual Basic表達式。 求變量x之絕對值的平方根,算術(shù)表達式為:Sqr(Abs(x) 判斷變量k的整數(shù)部分是否為兩位數(shù)的邏輯表達式為:Int(Abs(k)9 And Int(Abs(k)100 數(shù)學式 寫作算術(shù)表達式為:Sqr(s*(s-a)*(s-b)*(s-c) 將大于0的單精度變量k四舍五入至小數(shù)點后兩位的表達式為:Int(k*100+0.5)/100 數(shù)學式cos25+ctg32寫作算術(shù)表達式為:cos(25*3.14159/180)+1/Tan(32*3.14159/180) 數(shù)學式e12.6loge3-8.6寫作算術(shù)表達式為:exp(12.6)*log(3)-8.6 數(shù)學式(e

57、x-log10y)cos35寫作算術(shù)表達式為: (exp(x)-log(y)/log(10)*cos(3.14159*35/180) N是大于0的整數(shù),求N的位數(shù)的表達式為:Len(Str(N)-1,2.4.6 InputBox函數(shù)和MsgBox函數(shù),1InputBox函數(shù) InputBox函數(shù)也稱為輸入對話框,返回用戶在對話框中輸入的信息。格式: =InputBox(, 其中: (1) 指定在對話框中出現(xiàn)的文本信息。 (2) 指定對話框的標題信息。 (3) 可以指定文本框中顯示的默認信息。 系統(tǒng)默認用該函數(shù)輸入的數(shù)據(jù)為字符串類型,轉(zhuǎn)換為與變量同一類型后賦值給變量。 如執(zhí)行語句“n=Input

58、Box(請輸入數(shù)據(jù):,數(shù)據(jù)輸入,10)”時(n為整型變量),Visual Basic顯示“數(shù)據(jù)輸入”對話框,如圖2-2所示。,2.4.6 InputBox函數(shù)和MsgBox函數(shù),若在輸入欄中輸入“123.45”,由于變量n為Integer類型,輸入數(shù)據(jù)被四舍五入后賦值給n,因此n為123;若在輸入欄中輸入“123.56”,則n為124;若在輸入欄中輸入“Lac”,則系統(tǒng)顯示“類型不匹配”之出錯信息。,圖2-2 “數(shù)據(jù)輸入”對話框,2.4.6 InputBox函數(shù)和MsgBox函數(shù),2MsgBox函數(shù) MsgBox函數(shù)也稱為消息對話框,用戶單擊按鈕后返回一個整數(shù)以標明單擊了哪個按鈕。格式: =

59、MsgBox(,) 其中: (1) 指定在對話框中出現(xiàn)的文本信息。 (2) 指定對話框中出現(xiàn)的按鈕和圖標樣式。 (3) 指定對話框的標題信息。 一般要通過3個參數(shù)的不同取值來獲得所需要的按鈕、圖標樣式以及默認按鈕,詳細規(guī)則如表2-5、表2-6和表2-7所示。,2.4.6 InputBox函數(shù)和MsgBox函數(shù),表2-5 按鈕樣式,表2-6 圖標樣式,2.4.6 InputBox函數(shù)和MsgBox函數(shù),表2-7 默認按鈕,如,執(zhí)行語句“n=MsgBox(請確認輸入的數(shù)據(jù)是否正確!,3+32+0,數(shù)據(jù)檢查)”后,則彈出如圖2-3所示的對話框。 參數(shù)“3+32+0”中:按鈕樣式為3,在對話框中顯示“是”、“否”和“取消”按鈕;圖標樣式為32、顯示問號;默認按鈕為0,將第1按鈕“是(Y)”作為默認按鈕。,圖2-3 消息對話框,2.4.6 I

溫馨提示

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

評論

0/150

提交評論