VB語(yǔ)言程序設(shè)計(jì)(總結(jié))_第1頁(yè)
VB語(yǔ)言程序設(shè)計(jì)(總結(jié))_第2頁(yè)
VB語(yǔ)言程序設(shè)計(jì)(總結(jié))_第3頁(yè)
VB語(yǔ)言程序設(shè)計(jì)(總結(jié))_第4頁(yè)
VB語(yǔ)言程序設(shè)計(jì)(總結(jié))_第5頁(yè)
已閱讀5頁(yè),還剩171頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、vb簡(jiǎn)介:vb是一種面向?qū)ο蟮?、圖形用戶(hù)界面的、具有事件驅(qū)動(dòng)編程機(jī)制的、新穎的、易用的可視化可視化程序設(shè)計(jì)工具。vb的7個(gè)特點(diǎn):(1)面向?qū)ο蟮某绦蛟O(shè)計(jì)方法(繼承、多態(tài)、封裝)(2)圖形用戶(hù)界面,編程工作量少(3)事件驅(qū)動(dòng)機(jī)制(4)可視化(5)支持第三方開(kāi)發(fā)的vb工具箱(6)具有數(shù)據(jù)庫(kù)訪問(wèn)特性(7)支持串口通信vb發(fā)展簡(jiǎn)史vb簡(jiǎn)介:vb(visual basic)的發(fā)展簡(jiǎn)史:60年代初,dartmouth學(xué)院發(fā)明了basic(beginners all purpose symbolic interchange code)語(yǔ)言。1976年,microsoft公司開(kāi)發(fā)了basic語(yǔ)言的早期版本。8

2、0年代初, microsoft公司推出了gw-basic。80年代中, microsoft公司推出了qbasic。90年代初, microsoft公司推出了visual basic1.0。98年, microsoft公司推出了vb6.0office系列以及autocad中的二次開(kāi)發(fā)工具vba使用vb,網(wǎng)頁(yè)腳本語(yǔ)言vbscript是vb的子集2002年誕生了vb.net,是一種web編程語(yǔ)言vb的集成開(kāi)發(fā)環(huán)境稱(chēng)ide(intergrated develop environment),包括:標(biāo)題欄、菜單欄、工具欄、控件箱、窗體設(shè)計(jì)器窗口、工程管理器窗口、屬性窗口、代碼窗口、窗體布局窗口等,集成了應(yīng)

3、用程序設(shè)計(jì)、編輯、編譯、調(diào)試、運(yùn)行等功能。工程:vb中的應(yīng)用程序。vb通過(guò)工程來(lái)組織應(yīng)用程序的開(kāi)發(fā),用工程來(lái)管理工程應(yīng)用程序的文件。啟動(dòng)vb后就會(huì)看到vb集成開(kāi)發(fā)環(huán)境界面:1.1.1 集成開(kāi)發(fā)環(huán)境vb6.0的啟動(dòng)1.快捷方式(在桌面上): 例如2.開(kāi)始菜單:開(kāi)始/程序/microsoft visual basic6.0/ microsoft visual basic6.0例如3.資源管理器:開(kāi)始/程序/資源管理器c:program filesvbmicrosoft visual basic6.0例如4.我的電腦:c:program filesvbmicrosoft visual basic6.

4、0例如5.開(kāi)始菜單:開(kāi)始/運(yùn)行/輸入vb啟動(dòng)文件的名字例如:“c:program filesvbmicrosoft visual basic6.0”例如作用:用來(lái)顯示打開(kāi)的工程名和系統(tǒng)的工作狀態(tài)1.1.2 標(biāo)題欄新建工程建立新工程,缺省名為“工程1”打開(kāi)工程打開(kāi)已有工程添加工程l添加新工程,缺省名依次為“工程2”、“工程3”移除工程移去或刪除已有工程保存工程保存工程,擴(kuò)展名默認(rèn)為“.vbp”“vbw”工程另存為 現(xiàn)有工程以另一個(gè)名字保存保存form1 保存建立的窗體,擴(kuò)展名為“frm”,“frx”form1另存為將窗體另存打印打印窗體和窗體中的代碼生成工程1.exe編譯成可執(zhí)行的exe文件 r

5、eturn當(dāng)“工程”被關(guān)閉后自動(dòng)創(chuàng)建、自動(dòng)保存的“工作區(qū)(workspace)”文件。return當(dāng)“窗體”上有圖片框或圖象框,而且該控件已裝入圖片或窗體本身的picture屬性的圖片被裝載以后,會(huì)自動(dòng)保存一個(gè)與窗體名同名的窗體二進(jìn)制文件(frx)。return3. 視圖菜單作用: vb有7個(gè)窗口,視圖菜單用于對(duì)各窗口進(jìn)行操作,通過(guò)選擇視圖菜單來(lái)顯示/打開(kāi)各窗口。代碼窗口打開(kāi)代碼編輯窗口對(duì)象窗口打開(kāi)代碼對(duì)象設(shè)置窗口對(duì)象瀏覽器打開(kāi)對(duì)象瀏覽器用于查看工程中有效對(duì)象立即窗口、本地窗口、監(jiān)視窗口、調(diào)用堆棧打開(kāi)調(diào)試用的窗口屬性頁(yè)打開(kāi)用戶(hù)控件的屬性頁(yè)工程資源管理器打開(kāi)工程資源管理器屬性窗口、窗體布局窗口

6、打開(kāi)相應(yīng)窗口工具欄打開(kāi)工具欄visual component manager打開(kāi)可視化部件管理器工具箱、數(shù)據(jù)視窗窗口、調(diào)色板打開(kāi)工具箱、數(shù)據(jù)視窗窗口、調(diào)色板returnvb集成開(kāi)發(fā)環(huán)境中有7個(gè)常用窗口,他們是:主窗口、項(xiàng)目組窗口(工程資源管理器窗口)、屬性窗口、窗體布局窗口、窗體窗口、代碼窗口、工具箱窗口1.1.6 窗體return講解(1)主窗口:包括13個(gè)下拉菜單,即:文件、編輯、視圖、工程、 格式、調(diào)試、運(yùn)行、查詢(xún)、圖表、工具、外接程序、窗口、 幫助和21個(gè)常用命令做成的工具按鈕放到工具條中。例(2)項(xiàng)目組窗口/工程資源管理器窗口:包括運(yùn)行正在編寫(xiě)的vb程序所需的文件清單,有3個(gè)按鈕,查

7、看代碼(view code)、查看對(duì)象(view object)、查看文件夾(toggle folders)例(3)屬性窗口:描述對(duì)象性質(zhì)的表格,用來(lái)設(shè)置對(duì)象的外觀行為。(4)窗體布局窗口:確定用戶(hù)所設(shè)計(jì)的圖形界面在計(jì)算機(jī)屏幕上的位置(5)窗體窗口:程序運(yùn)行時(shí)用戶(hù)能看見(jiàn)的圖形界面。(6)代碼窗口:在該窗口中進(jìn)行編程。(7)工具箱窗口:設(shè)計(jì)用戶(hù)界面所需的各種控件元素。如:按鈕、標(biāo)簽、文本框、收音機(jī)按鈕等。1.2 用vb6.0開(kāi)發(fā)應(yīng)用程序1.2.1 開(kāi)發(fā)vb應(yīng)用程序的主要步驟:1.創(chuàng)建應(yīng)用程序界面:使用控件箱中的控件在窗體中把界面設(shè)計(jì)出來(lái),應(yīng)用程序界面一般由窗體、按鈕、菜單、文本框、圖象框等構(gòu)成。

8、控件的使用2.設(shè)置界面上各個(gè)對(duì)象的屬性:在屬性窗口對(duì)每個(gè)對(duì)象的屬性進(jìn)行設(shè)置,包括對(duì)象的外觀、名稱(chēng)、顏色、大小等屬性。 注意:先選定要設(shè)置屬性的對(duì)象,然后進(jìn)行設(shè)置先選定要設(shè)置屬性的對(duì)象,然后進(jìn)行設(shè)置3.編寫(xiě)對(duì)象事件過(guò)程代碼:一定要明確哪個(gè)對(duì)象哪個(gè)對(duì)象的什么事件什么事件發(fā)生時(shí)做出哪些響應(yīng)哪些響應(yīng)之后才編寫(xiě)代碼,這樣才能將代碼寫(xiě)到正確的位置,否則,代碼不被執(zhí)行。4.保存工程:一個(gè)vb程序就是一個(gè)工程,設(shè)計(jì)一個(gè)應(yīng)用時(shí),系統(tǒng)會(huì)自動(dòng)建立一個(gè)擴(kuò)展名為.vbp的工程文件。vb組織文件的方式該工程文件包含了該工程所建立的所有文件的相關(guān)信息。vb要保存的文件類(lèi)型5.運(yùn)行和調(diào)試:通過(guò)“運(yùn)行”菜單中的菜單項(xiàng)或工具欄中

9、的按鈕來(lái)完成,出現(xiàn)錯(cuò)誤時(shí),vb會(huì)給出提示信息。6.生成可執(zhí)行文件:文件/生成工程1.exe來(lái)生成可執(zhí)行文件,此后可以脫離vb環(huán)境直接運(yùn)行該可執(zhí)行文件。開(kāi)發(fā)實(shí)例vb6.0要保存的程序類(lèi)型vb6.0可以保存兩種類(lèi)型的文件:項(xiàng)目文件和窗體文件,其中:(1)項(xiàng)目文件:以.vbp為擴(kuò)展名,保存一個(gè)項(xiàng)目的窗體及模塊目錄。(2)窗體文件:以.frm為擴(kuò)展名,保存窗體代碼及顯示布局。每個(gè)每個(gè)工程中可以包含多個(gè)窗體。工程中可以包含多個(gè)窗體。vb默認(rèn)先保存窗體,再保存工程。所以保存兩次默認(rèn)先保存窗體,再保存工程。所以保存兩次。另外,特殊情況下,要保存以下類(lèi)型的文件:項(xiàng)目組文件:.vbg,保存由多個(gè)項(xiàng)目組成的項(xiàng)目組

10、文件。類(lèi)文件:.cls,列出所有類(lèi)模塊。basic模塊:.bas,列出所有標(biāo)準(zhǔn)模塊。屬性頁(yè)文件:.pag,列出所有屬性頁(yè)。用戶(hù)定義控件文件:.ctl,列出所有用戶(hù)定義的控件。文檔對(duì)象文件:.dob,列出所有的文檔對(duì)象。保存操作:通過(guò)菜單和工具條完成。注意注意:養(yǎng)成隨時(shí)保存文件的習(xí)慣。養(yǎng)成隨時(shí)保存文件的習(xí)慣。return工程組工程1工程2窗體1窗體2窗體1窗體2return回251.vb6.0的啟動(dòng)有哪些方式?2.vb主菜單項(xiàng)后的括號(hào)中帶下劃線的字符的作用是什么?如何使用?3.創(chuàng)建vb應(yīng)用程序的主要步驟有哪些?4.哪一個(gè)窗口可以在設(shè)計(jì)時(shí)直觀的調(diào)整窗體在屏幕中的位置?5.如果向控件箱中添加控件使用

11、哪一個(gè)菜單項(xiàng)?6.窗體上帶有圖片框控件(已裝入圖片)的vb應(yīng)用程序有哪些類(lèi)型的文件?7.工程的屬性在哪個(gè)菜單項(xiàng)中設(shè)置?8.vb要保存的常見(jiàn)的文件類(lèi)型?每個(gè)類(lèi)型的擴(kuò)展名?9.工程、工程組、窗體之間的關(guān)系是怎樣的?4.哪一個(gè)窗口可以在設(shè)計(jì)時(shí)直觀的調(diào)整窗體在屏幕中的位置?5.如果向控件箱中添加控件使用哪一個(gè)菜單項(xiàng)?6.窗體上帶有圖片框控件(已裝入圖片)的vb應(yīng)用程序有哪些類(lèi)型的文件?2.1.1 常量常量類(lèi)型:數(shù)值型、字符型、邏輯型、日期型類(lèi)型:數(shù)值型、字符型、邏輯型、日期型1. 一般常量一般常量123,-456.8,“abc”, “水產(chǎn)學(xué)院水產(chǎn)學(xué)院”,true,false,#1/3/2004#1 m

12、ar 2004# , #march 1, 2004# ,&o123,-&ha22. 符號(hào)常量符號(hào)常量語(yǔ)法:語(yǔ)法:public|private|global const 常數(shù)名常數(shù)名 as 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型=表達(dá)表達(dá)式式表達(dá)式可以是結(jié)果為數(shù)或字符串的表達(dá)式或先前定義過(guò)的常量表達(dá)式可以是結(jié)果為數(shù)或字符串的表達(dá)式或先前定義過(guò)的常量public或或global說(shuō)明可在整個(gè)應(yīng)用程序中使用,說(shuō)明可在整個(gè)應(yīng)用程序中使用,private 說(shuō)明只說(shuō)明只能在該過(guò)程中使用。(全局常量)能在該過(guò)程中使用。(全局常量)常量名必須以字母開(kāi)頭,不包含句號(hào)或類(lèi)型說(shuō)明符,不能超過(guò)常量名必須以字母開(kāi)頭,不包含句號(hào)

13、或類(lèi)型說(shuō)明符,不能超過(guò)255個(gè)字符。個(gè)字符。例:例:const pi=3.14 const e as double =2.718 const n%=782.1常量、變量、運(yùn)算符和表達(dá)式2.1.2 變量變量1. 變量名變量名字母開(kāi)頭字母開(kāi)頭由字母、數(shù)字和下劃線組成由字母、數(shù)字和下劃線組成不能包含空格、句號(hào)、類(lèi)型說(shuō)明符不能包含空格、句號(hào)、類(lèi)型說(shuō)明符長(zhǎng)度不超過(guò)長(zhǎng)度不超過(guò)255不能與關(guān)鍵字重名不能與關(guān)鍵字重名2. 變量類(lèi)型lll說(shuō)明說(shuō)明1:字符串類(lèi)型有定長(zhǎng)和變長(zhǎng),定長(zhǎng)字符串的存儲(chǔ)空間為串長(zhǎng);:字符串類(lèi)型有定長(zhǎng)和變長(zhǎng),定長(zhǎng)字符串的存儲(chǔ)空間為串長(zhǎng);變長(zhǎng)字符串的存儲(chǔ)空間為變長(zhǎng)字符串的存儲(chǔ)空間為10+串長(zhǎng)。串

14、長(zhǎng)。return說(shuō)明說(shuō)明2:variant有數(shù)字類(lèi)型和字符類(lèi)型之分。數(shù)字類(lèi)型存儲(chǔ)空間為有數(shù)字類(lèi)型和字符類(lèi)型之分。數(shù)字類(lèi)型存儲(chǔ)空間為16;字符串類(lèi)型為;字符串類(lèi)型為22+串長(zhǎng)。串長(zhǎng)。說(shuō)明說(shuō)明3:variant包含包含3種特定值:種特定值:empty,null,errorempty:不同于不同于0、零長(zhǎng)度字符串、零長(zhǎng)度字符串、null的特定值。的特定值。null:未知的數(shù)據(jù)或丟失的數(shù)據(jù),一般用于數(shù)據(jù)庫(kù)未知的數(shù)據(jù)或丟失的數(shù)據(jù),一般用于數(shù)據(jù)庫(kù)error:已發(fā)生的過(guò)程中的錯(cuò)誤狀態(tài)。已發(fā)生的過(guò)程中的錯(cuò)誤狀態(tài)。variant變量賦值之前具有值變量賦值之前具有值empty。包含包含null的表達(dá)式,計(jì)算結(jié)果總

15、是的表達(dá)式,計(jì)算結(jié)果總是nullvariant用于在用戶(hù)不能確定變量的數(shù)據(jù)類(lèi)型時(shí)聲明變量,用于在用戶(hù)不能確定變量的數(shù)據(jù)類(lèi)型時(shí)聲明變量,以便計(jì)算機(jī)為該變量留內(nèi)存空間。變體根據(jù)實(shí)際需要可以為以便計(jì)算機(jī)為該變量留內(nèi)存空間。變體根據(jù)實(shí)際需要可以為10種任何數(shù)據(jù)類(lèi)型中的任何一種。種任何數(shù)據(jù)類(lèi)型中的任何一種。private sub form_activate() dim a as variant a = 1 print a a = this print aend sub輸出結(jié)果為:輸出結(jié)果為:1thisprivate sub form_activate() dim a as integer a = 1 p

16、rint a a = this print aend sub將出現(xiàn)編譯錯(cuò)誤在變量名后加上在變量名后加上“%”或在或在-3276832767之間的整數(shù)后加上之間的整數(shù)后加上%都表都表示示該變量為整型,例:該變量為整型,例: private sub form_activate() a% = 234.567 c = 234.567 b = 234% print a, b, cend sub將打印出將打印出235 234 234.567整型和長(zhǎng)整型的區(qū)別:整型和長(zhǎng)整型的區(qū)別:(1)占內(nèi)存空間不同占內(nèi)存空間不同 (2)表示數(shù)的范圍不同表示數(shù)的范圍不同單精度最多能保留到小數(shù)點(diǎn)后單精度最多能保留到小數(shù)點(diǎn)后6

17、位有效數(shù)字,雙精度可保留到小數(shù)位有效數(shù)字,雙精度可保留到小數(shù)點(diǎn)后點(diǎn)后14位位(單精度為單精度為7位有效數(shù)字,雙精度為位有效數(shù)字,雙精度為15位有效數(shù)字位有效數(shù)字)。單精。單精度的類(lèi)型說(shuō)明符為!,雙精度的類(lèi)型說(shuō)明符為度的類(lèi)型說(shuō)明符為!,雙精度的類(lèi)型說(shuō)明符為#。貨幣類(lèi)型的必要性:為精確表示財(cái)務(wù)帳目。類(lèi)型說(shuō)明符為貨幣類(lèi)型的必要性:為精確表示財(cái)務(wù)帳目。類(lèi)型說(shuō)明符為,它,它的精度高,規(guī)定精確到小數(shù)點(diǎn)后的精度高,規(guī)定精確到小數(shù)點(diǎn)后4位,一般的數(shù)值型數(shù)據(jù)在計(jì)算機(jī)位,一般的數(shù)值型數(shù)據(jù)在計(jì)算機(jī)中是以二進(jìn)制進(jìn)行計(jì)算的,計(jì)算有誤差,而貨幣類(lèi)型是以十進(jìn)制中是以二進(jìn)制進(jìn)行計(jì)算的,計(jì)算有誤差,而貨幣類(lèi)型是以十進(jìn)制進(jìn)行計(jì)算

18、的,精確度高。另外,單精度只有進(jìn)行計(jì)算的,精確度高。另外,單精度只有7位有效數(shù)字,雙精度位有效數(shù)字,雙精度只有只有15位有效數(shù)字,表示大數(shù)額的貨幣時(shí)不精確,如:位有效數(shù)字,表示大數(shù)額的貨幣時(shí)不精確,如:$223 555 868 999 234.65,用單精度數(shù)表示為:,用單精度數(shù)表示為:$2.235559e14,用雙精度數(shù)表示為:用雙精度數(shù)表示為:223 555 868 999 235,用貨幣類(lèi)型表示為:,用貨幣類(lèi)型表示為:$223 555 868 999 234.65 return3. 變量說(shuō)明變量說(shuō)明(1)顯式說(shuō)明)顯式說(shuō)明dim 變量名變量名 as 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型,變量名,變量名 as

19、 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型static 變量名變量名 as 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型,變量名,變量名 as 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型public 變量名變量名 as 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型,變量名,變量名 as 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型private 變量名變量名 as 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型,變量名,變量名 as 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型例:例:dim myname as string dim yourname as string*50 dim objdb as object set objdb=opendatabase(“c:vbtest.mdb”)說(shuō)明:說(shuō)明:static 定義靜態(tài)變量定義靜態(tài)變量public 定義的變量可以在其他對(duì)象的過(guò)

20、程中使用定義的變量可以在其他對(duì)象的過(guò)程中使用private 定義的是局部變量定義的是局部變量(2)隱式說(shuō)明)隱式說(shuō)明.用類(lèi)型說(shuō)明符聲明變量用類(lèi)型說(shuō)明符聲明變量例:例:no%聲明聲明no為一個(gè)整型變量為一個(gè)整型變量 s$聲明聲明s為一個(gè)字符串變量為一個(gè)字符串變量 d#聲明聲明d為一個(gè)雙精度型變量為一個(gè)雙精度型變量例:例:no%=90s$=“hello” d#=3.14159265(3)option explicit作用:為避免寫(xiě)錯(cuò)變量名而引起麻煩,可以使作用:為避免寫(xiě)錯(cuò)變量名而引起麻煩,可以使vb只要遇到未聲明只要遇到未聲明的變量就發(fā)出錯(cuò)誤警告。使用方法:的變量就發(fā)出錯(cuò)誤警告。使用方法:在代碼窗

21、口中加入在代碼窗口中加入option explicit語(yǔ)句(代碼窗口的對(duì)象語(yǔ)句(代碼窗口的對(duì)象列表中選列表中選“通用通用”,事件列表中選,事件列表中選“聲明聲明”)“工具工具”/“選項(xiàng)選項(xiàng)”/“編輯器編輯器”/選中選中“要求聲明變量要求聲明變量”復(fù)選框,會(huì)自動(dòng)在任何新模塊中插入復(fù)選框,會(huì)自動(dòng)在任何新模塊中插入“option explicit”語(yǔ)句語(yǔ)句2.1.3 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式1. 運(yùn)算符運(yùn)算符算術(shù)運(yùn)算符:算術(shù)運(yùn)算符:+,-,*,/,mod,關(guān)系運(yùn)算符:關(guān)系運(yùn)算符:,=,=,=,is,like連接運(yùn)算符:連接運(yùn)算符:&,+(字符串連接)(字符串連接)邏輯運(yùn)算符:邏輯運(yùn)算符:

22、and(與)與),or(或)或),not(非)非),xor(異異或或),imp(包含)包含),eqv(等價(jià))等價(jià))整除運(yùn)算(整除運(yùn)算()結(jié)果是商的整數(shù)部分,結(jié)果是商的整數(shù)部分,72結(jié)果為結(jié)果為3.5的整數(shù)部分的整數(shù)部分mod求兩個(gè)整數(shù)相除以后的余數(shù)。在這兩種運(yùn)算中,求兩個(gè)整數(shù)相除以后的余數(shù)。在這兩種運(yùn)算中,如果參加運(yùn)算的是如果參加運(yùn)算的是實(shí)數(shù),則先按四舍五入原則將他們變成整數(shù),然后進(jìn)行計(jì)算。實(shí)數(shù),則先按四舍五入原則將他們變成整數(shù),然后進(jìn)行計(jì)算。 除法運(yùn)算(除法運(yùn)算(/):):兩個(gè)整型常量或變量進(jìn)行除法運(yùn)算的結(jié)果如果兩個(gè)整型常量或變量進(jìn)行除法運(yùn)算的結(jié)果如果賦給一個(gè)整型量結(jié)果為整型,運(yùn)算結(jié)果與整除

23、運(yùn)算結(jié)果一樣;如果賦給一個(gè)整型量結(jié)果為整型,運(yùn)算結(jié)果與整除運(yùn)算結(jié)果一樣;如果賦給實(shí)型量,結(jié)果為實(shí)型。賦給實(shí)型量,結(jié)果為實(shí)型。邏輯運(yùn)算符的運(yùn)算結(jié)果:邏輯運(yùn)算符的運(yùn)算結(jié)果:aba and ba or ba xor ba equ ba imp bfffffttftfttfttffttffttttftt2. 運(yùn)算符的優(yōu)先級(jí):運(yùn)算符的優(yōu)先級(jí):其中優(yōu)先級(jí)由高到低運(yùn)算,同級(jí)由左到右其中優(yōu)先級(jí)由高到低運(yùn)算,同級(jí)由左到右有括號(hào)先算括號(hào)內(nèi)。有括號(hào)先算括號(hào)內(nèi)。運(yùn) 算 符 * m od + & not and or xor equ im p/ - = = = like is優(yōu) 先 級(jí)高 低2.2.1 賦值語(yǔ)句

24、賦值語(yǔ)句格式:變量名或?qū)ο蟾袷剑鹤兞棵驅(qū)ο?屬性名屬性名=表達(dá)式表達(dá)式表達(dá)式可以是常量、變量、對(duì)象表達(dá)式可以是常量、變量、對(duì)象.屬性名、屬性名、表達(dá)式表達(dá)式左右兩邊類(lèi)型必須一致,否則強(qiáng)制類(lèi)型轉(zhuǎn)換左右兩邊類(lèi)型必須一致,否則強(qiáng)制類(lèi)型轉(zhuǎn)換字符與數(shù)值不能互相賦值字符與數(shù)值不能互相賦值例:例:text1.text=“hello!”dim myname as stringmyname=“helen”dim myage as integermyage=myage+12.2賦值與注釋語(yǔ)句和一句多行與一行多句賦值與注釋語(yǔ)句和一句多行與一行多句2.2.2 注釋語(yǔ)句注釋語(yǔ)句1.rem注釋注釋格式:格式:rem 注

25、釋內(nèi)容注釋內(nèi)容2.單引號(hào)單引號(hào)注釋注釋格式:格式: 注釋內(nèi)容注釋內(nèi)容兩種格式都可以占一整行或半行(寫(xiě)在語(yǔ)句后邊對(duì)語(yǔ)句兩種格式都可以占一整行或半行(寫(xiě)在語(yǔ)句后邊對(duì)語(yǔ)句注釋?zhuān)┣罢哒及胄袝r(shí)需在語(yǔ)句后加上冒號(hào)注釋?zhuān)┣罢哒及胄袝r(shí)需在語(yǔ)句后加上冒號(hào)2.2.3 一句多行與一行多句一句多行與一行多句1.一句多行一句多行在行尾加上在行尾加上 “_”表示續(xù)行,即:該行還沒(méi)完,此時(shí)不表示續(xù)行,即:該行還沒(méi)完,此時(shí)不能在后邊加注釋能在后邊加注釋例:例:text1.text=text1.text+”hello,”_+”大連水產(chǎn)學(xué)院大連水產(chǎn)學(xué)院”2. 一行多句一行多句語(yǔ)句之間用冒號(hào)分隔。語(yǔ)句之間用冒號(hào)分隔。例如:例如:a

26、=8:b=9:c=102.3.1 分支結(jié)構(gòu)分支結(jié)構(gòu)2.3基本控制結(jié)構(gòu)基本控制結(jié)構(gòu)1.if then 結(jié)構(gòu)結(jié)構(gòu)語(yǔ)法:語(yǔ)法:if 條件條件 then 語(yǔ)句語(yǔ)句組組end if或或?qū)懽鲗?xiě)作:if 條件條件 then 語(yǔ)句(必須是單個(gè)語(yǔ)句的情況)語(yǔ)句(必須是單個(gè)語(yǔ)句的情況)例:例:if a 0 then b = a else b = -a .if then else結(jié)構(gòu)語(yǔ)法:if a then 或 if a1 then bb1else else if a2 then cb2end if else if a3 thenb3 elsebn end ifif a0 thenprint aend ifif a

27、 0 then b = aelse b = -aend if if score 60 then print “fail” elseif score70 then print “pass” elseif score80 then print “middle” elseif score90 then print “good” else print “excellent” end ifselect case語(yǔ)句語(yǔ)句語(yǔ)法:語(yǔ)法:select case 表達(dá)式表達(dá)式case case case case elseend select例:例:select case scorecase 5print “be

28、st”case 4print “better”case 3print “good”case else print “fail”end select說(shuō)明:說(shuō)明:(1)值的形式可以是:)值的形式可以是:具體常數(shù):具體常數(shù):1,2,3,“a”等等連續(xù)的數(shù)據(jù)范圍:連續(xù)的數(shù)據(jù)范圍:1 to 100, a to z滿(mǎn)足某個(gè)條件的表達(dá)式:滿(mǎn)足某個(gè)條件的表達(dá)式:10多個(gè)不同范圍,用逗號(hào)閣開(kāi):多個(gè)不同范圍,用逗號(hào)閣開(kāi):1,3 to 5,9(2)select case 結(jié)構(gòu)在開(kāi)始處計(jì)算表達(dá)式的值,結(jié)構(gòu)在開(kāi)始處計(jì)算表達(dá)式的值,ifthenelse結(jié)構(gòu)在每個(gè)結(jié)構(gòu)在每個(gè)elseif處計(jì)算表達(dá)式的值處計(jì)算表達(dá)式的值(3)

29、如果不止一個(gè)如果不止一個(gè)case子句與表達(dá)式的結(jié)果相同則只執(zhí)行第一個(gè)子句子句與表達(dá)式的結(jié)果相同則只執(zhí)行第一個(gè)子句(4)case else放在放在select case結(jié)構(gòu)的最后結(jié)構(gòu)的最后4.嵌套嵌套嵌套的嵌套的if語(yǔ)句中,語(yǔ)句中,endif語(yǔ)句自動(dòng)與最靠近的前一個(gè)語(yǔ)句自動(dòng)與最靠近的前一個(gè)if語(yǔ)句配對(duì)語(yǔ)句配對(duì)盡量用縮進(jìn)的方式書(shū)寫(xiě)結(jié)構(gòu)語(yǔ)句和循環(huán)語(yǔ)句盡量用縮進(jìn)的方式書(shū)寫(xiě)結(jié)構(gòu)語(yǔ)句和循環(huán)語(yǔ)句1 do循環(huán)循環(huán)無(wú)條件循環(huán):無(wú)條件循環(huán):do語(yǔ)句組語(yǔ)句組exit do語(yǔ)句組語(yǔ)句組loop有條件循環(huán):條件為有條件循環(huán):條件為true時(shí)執(zhí)行循環(huán)體,時(shí)執(zhí)行循環(huán)體,條件為條件為false時(shí)退出循環(huán)體。時(shí)退出循環(huán)體。do

30、 while 語(yǔ)句組語(yǔ)句組exit do語(yǔ)句組語(yǔ)句組loop條件條件為為false時(shí)執(zhí)行循環(huán)體,條件為時(shí)執(zhí)行循環(huán)體,條件為true時(shí)退出循環(huán)體。時(shí)退出循環(huán)體。do until 語(yǔ)句組語(yǔ)句組exit do語(yǔ)句組語(yǔ)句組loop2.3.2 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)do語(yǔ)句組語(yǔ)句組exit do語(yǔ)句組語(yǔ)句組loop until 當(dāng)滿(mǎn)足條件時(shí)執(zhí)行循環(huán)體。當(dāng)滿(mǎn)足條件時(shí)執(zhí)行循環(huán)體。while 循環(huán)體循環(huán)體wenddo語(yǔ)句組語(yǔ)句組exit do語(yǔ)句組語(yǔ)句組loop while 在循環(huán)終止時(shí)測(cè)試循環(huán)條件,循環(huán)無(wú)條件執(zhí)行一次:在循環(huán)終止時(shí)測(cè)試循環(huán)條件,循環(huán)無(wú)條件執(zhí)行一次:do循環(huán)的循環(huán)體中必須有使循環(huán)條件變?yōu)檠h(huán)的循環(huán)體

31、中必須有使循環(huán)條件變?yōu)閒alse的語(yǔ)句,否則,循環(huán)的語(yǔ)句,否則,循環(huán)會(huì)永遠(yuǎn)進(jìn)行下去。即:產(chǎn)生死循環(huán)。會(huì)永遠(yuǎn)進(jìn)行下去。即:產(chǎn)生死循環(huán)。2. for循環(huán)循環(huán)語(yǔ)法:語(yǔ)法:for =tostep 循環(huán)體循環(huán)體exit fornext for語(yǔ)句的執(zhí)行步驟:語(yǔ)句的執(zhí)行步驟:step 1:設(shè)置循環(huán)控制變量為循環(huán)初值設(shè)置循環(huán)控制變量為循環(huán)初值step2:如果步長(zhǎng)為正,判斷循環(huán)控制變量是否大于循環(huán)終值,如果如果步長(zhǎng)為正,判斷循環(huán)控制變量是否大于循環(huán)終值,如果步長(zhǎng)為負(fù),判斷循環(huán)控制變量的值是否小于循環(huán)終值,如果是,退出步長(zhǎng)為負(fù),判斷循環(huán)控制變量的值是否小于循環(huán)終值,如果是,退出循環(huán),否則,執(zhí)行循環(huán)體。循環(huán),否則

32、,執(zhí)行循環(huán)體。step3:循環(huán)控制變量循環(huán)控制變量=循環(huán)控制變量循環(huán)控制變量+步長(zhǎng)步長(zhǎng)step4:goto step2注:步長(zhǎng)可以為負(fù),步長(zhǎng)缺省時(shí)為注:步長(zhǎng)可以為負(fù),步長(zhǎng)缺省時(shí)為1內(nèi)部函數(shù):內(nèi)部函數(shù):vb提供的函數(shù)提供的函數(shù)函數(shù)調(diào)用:函數(shù)名(參數(shù)函數(shù)調(diào)用:函數(shù)名(參數(shù)1,參數(shù),參數(shù)2)2.4.1 算術(shù)函數(shù)算術(shù)函數(shù)vb提供的進(jìn)行算術(shù)運(yùn)算的函數(shù)。提供的進(jìn)行算術(shù)運(yùn)算的函數(shù)。2.4常用內(nèi)部函數(shù)常用內(nèi)部函數(shù)2.4.2 字符串函數(shù)字符串函數(shù)vb提供的進(jìn)行字符串處理的函數(shù)。提供的進(jìn)行字符串處理的函數(shù)。2.4常用內(nèi)部函數(shù)例例:設(shè)計(jì)一個(gè)將輸入的字符串反向顯示的程序設(shè)計(jì)一個(gè)將輸入的字符串反向顯示的程序privat

33、e sub cmdstart_click() dim str, strreverse as string dim i,n as integer str = txtinput.text: n = len(str) for i = 1 to n strreverse = strreverse & right(str, 1) str = left(str, len(str) - 1) next i txtoutput.text = strreverseend sub例例:譯電文譯電文,為了保密為了保密,在電文傳輸過(guò)程中往往將電文加密在電文傳輸過(guò)程中往往將電文加密,收電文時(shí)再轉(zhuǎn)換回來(lái)。比如收電

34、文時(shí)再轉(zhuǎn)換回來(lái)。比如:按下列規(guī)律譯:按下列規(guī)律譯:a變成變成e,b變成變成f, w變成變成a, x變成變成b, y變成變成c, z變成變成d。private sub cmdstart_click() dim sourcestr, secretstr as string dim i as integer secretstr = sourcestr = txtinput.textfor i = 1 to len(sourcestr) c = mid(sourcestr, i, 1) if c = a and c = a and c = w and c = w and c = z then c =

35、chr(asc(c) + 4 - 26) else c = chr(asc(c) + 4) end if end if secretstr = secretstr & c next itxtoutput.text = secretstrend sub2.4. 3日期與時(shí)間函數(shù)日期與時(shí)間函數(shù)作用:用于對(duì)日期和時(shí)間進(jìn)行處理的函數(shù)。作用:用于對(duì)日期和時(shí)間進(jìn)行處理的函數(shù)。2.4. 4類(lèi)型轉(zhuǎn)換函數(shù)類(lèi)型轉(zhuǎn)換函數(shù)作用:用于進(jìn)行不同數(shù)據(jù)類(lèi)型之間轉(zhuǎn)換的函數(shù)。作用:用于進(jìn)行不同數(shù)據(jù)類(lèi)型之間轉(zhuǎn)換的函數(shù)。ascii碼與字符串之間的轉(zhuǎn)換碼與字符串之間的轉(zhuǎn)換 ascii碼轉(zhuǎn)換成字符串:碼轉(zhuǎn)換成字符串:chr 如:

36、如:chr$(13)將將ascii碼碼13轉(zhuǎn)換成轉(zhuǎn)換成“回車(chē)回車(chē)”, chr$(10)將將ascii碼碼10轉(zhuǎn)換成轉(zhuǎn)換成“換行換行”。字符串轉(zhuǎn)換成字符串轉(zhuǎn)換成ascii碼:碼:asc。例:例:private sub form_click()cls 清除窗體清除窗體dim i as integer 聲明聲明i為整型變量為整型變量for i=asc(“h”) to asc(“z”)print i 打印相應(yīng)的打印相應(yīng)的asc值值next iend sub分析執(zhí)行結(jié)果,然后上機(jī)看執(zhí)行結(jié)果。分析執(zhí)行結(jié)果,然后上機(jī)看執(zhí)行結(jié)果。(2)數(shù)與字符串之間的轉(zhuǎn)換)數(shù)與字符串之間的轉(zhuǎn)換str$,format$,val

37、將數(shù)轉(zhuǎn)換成字符串:將數(shù)轉(zhuǎn)換成字符串:str$ ,這些數(shù)包括實(shí)數(shù)、貨幣、整數(shù)。這些數(shù)包括實(shí)數(shù)、貨幣、整數(shù)。將數(shù)據(jù)進(jìn)行格式化:將數(shù)據(jù)進(jìn)行格式化:format$,將數(shù)、日期、時(shí)間、字符串按指定將數(shù)、日期、時(shí)間、字符串按指定 格式進(jìn)行格式化。例如:格式進(jìn)行格式化。例如:a=51.8375 b=format(a,”00.000”),則則b=51.838將字符型數(shù)轉(zhuǎn)化為數(shù)值型數(shù):將字符型數(shù)轉(zhuǎn)化為數(shù)值型數(shù):val注:文本框的內(nèi)容、標(biāo)簽上的數(shù)為字符串類(lèi)型,不能直接計(jì)算。注:文本框的內(nèi)容、標(biāo)簽上的數(shù)為字符串類(lèi)型,不能直接計(jì)算。(3)一種數(shù)據(jù)類(lèi)型轉(zhuǎn)換成另一種數(shù)據(jù)類(lèi)型:)一種數(shù)據(jù)類(lèi)型轉(zhuǎn)換成另一種數(shù)據(jù)類(lèi)型:fix:實(shí)

38、數(shù)轉(zhuǎn)換成整數(shù),取整。實(shí)數(shù)轉(zhuǎn)換成整數(shù),取整。int:實(shí)數(shù)轉(zhuǎn)換成整數(shù),四舍五入。實(shí)數(shù)轉(zhuǎn)換成整數(shù),四舍五入。inputbox函數(shù)一般用于輸入,函數(shù)一般用于輸入,messagebox用于輸出:用于輸出:2.5.1 inputbox函數(shù)函數(shù)作用:接受用戶(hù)從鍵盤(pán)輸入的內(nèi)容作用:接受用戶(hù)從鍵盤(pán)輸入的內(nèi)容格式:格式:inputbox(提示信息,(提示信息,標(biāo)題,標(biāo)題,缺省值,缺省值,xpos,ypos,幫助幫助文件文件名,幫助主題號(hào)名,幫助主題號(hào))說(shuō)明:說(shuō)明:1. 當(dāng)按當(dāng)按“確定確定”按鈕時(shí)函數(shù)的返回值是輸入的文本內(nèi)容,按按鈕時(shí)函數(shù)的返回值是輸入的文本內(nèi)容,按“取取消消”按鈕時(shí)返回空串。按鈕時(shí)返回空串。2.

39、提示信息提示信息為在輸入對(duì)話(huà)框中顯示的提示信息,長(zhǎng)度不超過(guò)為在輸入對(duì)話(huà)框中顯示的提示信息,長(zhǎng)度不超過(guò)10243. 標(biāo)題為輸入對(duì)話(huà)框的標(biāo)題攔顯示的信息,缺省為應(yīng)用程序名標(biāo)題為輸入對(duì)話(huà)框的標(biāo)題攔顯示的信息,缺省為應(yīng)用程序名4. 缺省值為缺省的輸入內(nèi)容缺省值為缺省的輸入內(nèi)容5. xpos,ypos對(duì)話(huà)框在屏幕上的起始位置對(duì)話(huà)框在屏幕上的起始位置2.5輸入與輸出輸入與輸出例:例:thefile = inputbox(“請(qǐng)輸入文件名:請(qǐng)輸入文件名:”, “輸入對(duì)話(huà)框舉輸入對(duì)話(huà)框舉例例”,“file1”)產(chǎn)生的對(duì)話(huà)框?yàn)椋寒a(chǎn)生的對(duì)話(huà)框?yàn)椋簆rivate sub form_click() text1.text

40、 = inputbox(hello)end sub2.5.2 msgbox函數(shù)函數(shù)作用:消息框是作用:消息框是vb用用msgbox函數(shù)或語(yǔ)句提供的一種對(duì)話(huà)框,函數(shù)或語(yǔ)句提供的一種對(duì)話(huà)框,它本身不是用控件實(shí)現(xiàn)的。當(dāng)用函數(shù)實(shí)現(xiàn)時(shí)有返回值,通過(guò)返回值它本身不是用控件實(shí)現(xiàn)的。當(dāng)用函數(shù)實(shí)現(xiàn)時(shí)有返回值,通過(guò)返回值可以繼續(xù)下一步的工作。主要作用是向用戶(hù)發(fā)布提示信息,要求用可以繼續(xù)下一步的工作。主要作用是向用戶(hù)發(fā)布提示信息,要求用戶(hù)做出相應(yīng)的響應(yīng)。戶(hù)做出相應(yīng)的響應(yīng)。格式:格式:msgbox(提示信息(提示信息,按鈕類(lèi)型,按鈕類(lèi)型,標(biāo)題,標(biāo)題, ,幫助幫助文件文件名,幫助主題號(hào)名,幫助主題號(hào) )說(shuō)明:說(shuō)明:1.

41、 提示信息和標(biāo)題均為字符串常量或字符串變量提示信息和標(biāo)題均為字符串常量或字符串變量2. 提示信息是在消息框中顯示的信息提示信息是在消息框中顯示的信息3. 標(biāo)題為消息框的標(biāo)題顯示的信息。標(biāo)題為消息框的標(biāo)題顯示的信息。4. 按鈕類(lèi)型可以用符號(hào)常量,也可以用數(shù)字,當(dāng)為數(shù)字時(shí)為按鈕類(lèi)型可以用符號(hào)常量,也可以用數(shù)字,當(dāng)為數(shù)字時(shí)為c1+c2+c3+c4的和的和例例1:例例2:5. msgbox函數(shù)也有返回值,返回值是由所按的按鈕確定的,函數(shù)也有返回值,返回值是由所按的按鈕確定的,含義含義例:例: result = msgbox(“數(shù)據(jù)正確嗎?數(shù)據(jù)正確嗎?”, 65, “消息框舉例消息框舉例”) retur

42、n缺省按鈕及其對(duì)應(yīng)的值符號(hào)常量值缺省的活動(dòng)按鈕vbdefaultbutton10第一個(gè)按鈕為缺省的活動(dòng)按鈕vbdefaultbutton2256第二個(gè)按鈕為缺省的活動(dòng)按鈕vbdefaultbutton3512第三個(gè)按鈕為缺省的活動(dòng)按鈕指定缺省按鈕的符號(hào)常量和相應(yīng)數(shù)值指定缺省按鈕的符號(hào)常量和相應(yīng)數(shù)值return按鈕的類(lèi)型及其對(duì)應(yīng)的值符號(hào)常量值在消息框上顯示出來(lái)的按鈕vbokonly0“確定”按鈕vbokcancel1“確定”和“取消”按鈕vbabortretryignore2“終止(a) ” 、 “重試(r) ”和“忽略(i) ”按鈕vbyesnocancel3“是(y) ” 、 “否(n) ”

43、和“取消”按鈕vbyesno4“是(y) ” 、 “否(n) ”按鈕vbretrycancel5“重試(r) ”和“取消”按鈕return圖標(biāo)的類(lèi)型及其對(duì)應(yīng)的值符號(hào)常量值在消息框上顯示出來(lái)的圖標(biāo)vbcritical16見(jiàn)圖 1vbquestion32見(jiàn)圖 2vbexclamation48見(jiàn)圖 3vbinformation64見(jiàn)圖 4return消息框的強(qiáng)制返回性消息框的強(qiáng)制返回性return例:想讓消息框的按鈕為例:想讓消息框的按鈕為vbyesnocancel類(lèi)型、第二個(gè)按鈕為缺省類(lèi)型、第二個(gè)按鈕為缺省 按鈕而且圖標(biāo)為感嘆號(hào)則第二個(gè)參數(shù)值設(shè)為:按鈕而且圖標(biāo)為感嘆號(hào)則第二個(gè)參數(shù)值設(shè)為: 307=

44、3+256+48語(yǔ)句為:語(yǔ)句為: text2.text = msgbox(“hello”, 307, “test”)或或 text2.text = msgbox(hello, vbyesnocancel + vbdefaultbutton2 _+ vbexclamation, test)returnmsgbox 函數(shù)返回值符號(hào)常量值所對(duì)應(yīng)的按鈕vbok1“確定”vbcancel2“取消”vbabort3“終止”vbretry4“重試”vbignore5“忽略”vbyes6“是”vbno7“否”例:注冊(cè)窗口的設(shè)計(jì):例:注冊(cè)窗口的設(shè)計(jì):private sub command1_click() if

45、 text1.text = dl then if text2.text = dz then form2.show form1.hide else if msgbox(口令錯(cuò)誤!重新輸入嗎?, 52, 錯(cuò)誤信息) = 6 then text2.text = text2.setfocus else end end if end ifelse if msgbox(“用戶(hù)名錯(cuò)誤!重新輸入嗎?”, 65, “用戶(hù)名錯(cuò)誤信息”) = 1 then text1.setfocus text1.text = else end end if end if end sub2.5.3 print方法方法作用:在窗體、

46、圖片框或打印機(jī)上輸出文本作用:在窗體、圖片框或打印機(jī)上輸出文本格式:格式:對(duì)象對(duì)象.print 表達(dá)式列表表達(dá)式列表說(shuō)明:說(shuō)明:1. 表達(dá)式列表中間的分隔符可以是逗號(hào)或分號(hào),分號(hào)表示按緊湊表達(dá)式列表中間的分隔符可以是逗號(hào)或分號(hào),分號(hào)表示按緊湊格式輸出,逗號(hào)表示按標(biāo)準(zhǔn)位置輸出。格式輸出,逗號(hào)表示按標(biāo)準(zhǔn)位置輸出。例:例:2. 表達(dá)式列表缺省時(shí)輸出一空行表達(dá)式列表缺省時(shí)輸出一空行例例:3. 行尾可以有逗號(hào)、分號(hào)和回車(chē),逗號(hào)、分號(hào)的含義同行尾可以有逗號(hào)、分號(hào)和回車(chē),逗號(hào)、分號(hào)的含義同1,表示,表示下一個(gè)下一個(gè)print語(yǔ)句的輸出內(nèi)容與當(dāng)前語(yǔ)句的輸出內(nèi)容與當(dāng)前print語(yǔ)句的最后一個(gè)輸出語(yǔ)句的最后一個(gè)輸

47、出項(xiàng)的位置關(guān)系,回車(chē)表示換行。項(xiàng)的位置關(guān)系,回車(chē)表示換行。例例:4. 可以用格式函數(shù)控制輸出格式,這些格式函數(shù)包括:可以用格式函數(shù)控制輸出格式,這些格式函數(shù)包括:format、spc、tab例例private sub command1_click() dim a, b, c as integer a = 9: b = 8: c = 7 print a, b, c print a; b; cend subreturnprivate sub command1_click() dim a, b, c as integer a = 9: b = 8: c = 7 print a, b, c print

48、 print a; b; cend subreturnprivate sub command3_click() dim a, b, c as integer a = 9: b = 8: c = 7 print a, print b; print c print a; b; cend subreturn2.6數(shù)組數(shù)組2.6.1 數(shù)組聲明數(shù)組聲明1.數(shù)組定義:數(shù)組定義:格式:格式:dim |global 數(shù)組名(數(shù)組元素上下界,數(shù)組名(數(shù)組元素上下界,) as 類(lèi)型類(lèi)型說(shuō)明:說(shuō)明:(1)數(shù)組元素上下界可以表示為:下界)數(shù)組元素上下界可以表示為:下界 to 上界,缺省時(shí)數(shù)組下上界,缺省時(shí)數(shù)組下界時(shí)序

49、號(hào)從界時(shí)序號(hào)從0開(kāi)始編號(hào)。開(kāi)始編號(hào)。(2)數(shù)組元素上下界的個(gè)數(shù)表示數(shù)組的維數(shù))數(shù)組元素上下界的個(gè)數(shù)表示數(shù)組的維數(shù)(3)數(shù)組為變體類(lèi)型時(shí)不同數(shù)組元素可以賦不同類(lèi)型的值。)數(shù)組為變體類(lèi)型時(shí)不同數(shù)組元素可以賦不同類(lèi)型的值。(4)數(shù)組不同于普通變量,使用前必須先聲明。)數(shù)組不同于普通變量,使用前必須先聲明。2.option base語(yǔ)句語(yǔ)句格式:格式:option base 0|1功能:聲明數(shù)組的缺省下標(biāo)功能:聲明數(shù)組的缺省下標(biāo)說(shuō)明:說(shuō)明:(1)數(shù)組的默認(rèn)缺省下標(biāo)為)數(shù)組的默認(rèn)缺省下標(biāo)為0,可以用該語(yǔ)句將其改為,可以用該語(yǔ)句將其改為1(2)一個(gè)模塊中只能出現(xiàn)一次該語(yǔ)句,且必須放在數(shù)組聲明語(yǔ)句)一個(gè)模塊

50、中只能出現(xiàn)一次該語(yǔ)句,且必須放在數(shù)組聲明語(yǔ)句 之前。之前。2.6.2 靜態(tài)數(shù)組和動(dòng)態(tài)數(shù)組靜態(tài)數(shù)組和動(dòng)態(tài)數(shù)組1.靜態(tài)數(shù)組:固定大小的數(shù)組,維數(shù)和大小不能改變。靜態(tài)數(shù)組:固定大小的數(shù)組,維數(shù)和大小不能改變。 動(dòng)態(tài)數(shù)組:運(yùn)行時(shí)可以改變其大小的數(shù)組,事前可以不指定數(shù)組動(dòng)態(tài)數(shù)組:運(yùn)行時(shí)可以改變其大小的數(shù)組,事前可以不指定數(shù)組的大小,在需要時(shí)指定。的大小,在需要時(shí)指定。格式:格式:redim preserve 數(shù)組名(數(shù)組元素上下界,數(shù)組名(數(shù)組元素上下界,) as 類(lèi)型類(lèi)型說(shuō)明:說(shuō)明:(1)redim 用于為動(dòng)態(tài)數(shù)組重新分配存儲(chǔ)空間,只能改變每一維用于為動(dòng)態(tài)數(shù)組重新分配存儲(chǔ)空間,只能改變每一維的數(shù)組元素

51、的個(gè)數(shù),不能改變數(shù)組的維數(shù)。的數(shù)組元素的個(gè)數(shù),不能改變數(shù)組的維數(shù)。(2)當(dāng)改變數(shù)組元素最末維的大小時(shí)用)當(dāng)改變數(shù)組元素最末維的大小時(shí)用preserve可以保留數(shù)組中原可以保留數(shù)組中原來(lái)的數(shù)據(jù)。來(lái)的數(shù)據(jù)。(3)不能改變數(shù)組元素的類(lèi)型)不能改變數(shù)組元素的類(lèi)型(4)如果將數(shù)組元素改小,被刪元素的數(shù)據(jù)就會(huì)丟失)如果將數(shù)組元素改小,被刪元素的數(shù)據(jù)就會(huì)丟失private sub command1_click() dim a() as integer dim x, y as integer x = 5 y = 9 redim a(5, 9) redim a(x + 1, y + 1) redim prese

52、rve a(x + 3, y + 6)end sub例:點(diǎn)擊按鈕時(shí),用輸入對(duì)話(huà)框輸入一個(gè)整數(shù)例:點(diǎn)擊按鈕時(shí),用輸入對(duì)話(huà)框輸入一個(gè)整數(shù)n,然后求然后求fabonacci數(shù)列:數(shù)列:1,1,2,3,5,8,13,21,到第到第n項(xiàng),并把結(jié)果輸出項(xiàng),并把結(jié)果輸出到窗體上到窗體上fabonacci數(shù)列的關(guān)系:數(shù)列的關(guān)系:f1=1f2=1fn=fn-1+fn-2private sub command1_click() dim i, f() as integer dim n as integer n = val(inputbox(please input a integer:, fabonacci, 10

53、) if n 0 then redim f(n) f(0) = 1: f(1) = 1 for i = 2 to n f(i) = f(i - 1) + f(i - 2) next i for i = 0 to n print f(i), if i+1 mod 5 = 0 then print end if next i end if printend sub2.6.3 多維數(shù)組:多維數(shù)組:1.定義:定義:dim |global 數(shù)組名(最大長(zhǎng)度,最大長(zhǎng)度,數(shù)組名(最大長(zhǎng)度,最大長(zhǎng)度,.) as 類(lèi)型類(lèi)型2.使用:使用:用多重循環(huán)來(lái)使用。例用多重循環(huán)來(lái)使用。例for i=1 to nfor j

54、=1 to ma(i,j)=0next jnext i2.折半查找法折半查找法在一組已經(jīng)排好序的數(shù)中查找某個(gè)數(shù)。折半查找是通過(guò)在一組已經(jīng)排好序的數(shù)中查找某個(gè)數(shù)。折半查找是通過(guò)每次得到被查數(shù)據(jù)范圍的中間數(shù)據(jù),然后與被查數(shù)據(jù)進(jìn)每次得到被查數(shù)據(jù)范圍的中間數(shù)據(jù),然后與被查數(shù)據(jù)進(jìn)行比較,如果該中間數(shù)據(jù)大于被查數(shù)據(jù),則查找前半部行比較,如果該中間數(shù)據(jù)大于被查數(shù)據(jù),則查找前半部分,否則查找后半部分,依此進(jìn)行排查。分,否則查找后半部分,依此進(jìn)行排查。例:某物的價(jià)錢(qián)在例:某物的價(jià)錢(qián)在11024之間一般的猜法為:之間一般的猜法為:高了512?256?低了320?高了高了384?288?恭喜!答對(duì)了!當(dāng)點(diǎn)擊窗體時(shí),

55、用輸入對(duì)話(huà)框輸入要查找的數(shù),被查找的范圍事先指定,并在窗體被激活時(shí)顯示在窗體上。const n = 10dim a(n) as integerprivate sub form_activate() dim i, j as integer a(1) = 1: a(2) = 5: a(3) = 8: a(4) = 16: a(5) = 23 a(6) = 31: a(7) = 59: a(8) = 88: a(9) = 96: a(10) = 123 print the array is: for i = 1 to n print a(i), next i printend subprivate

56、sub form_click() dim findnum, curlocation, top, bott as integer dim found as boolean found = false findnum = val(inputbox(please input a number, the number) top = n: bott = 1 do curlocation = bott + int(top - bott) / 2) if findnum = a(curlocation) then found = true exit doelse if findnum a(curlocati

57、on) then bott = curlocation + 1 else top = curlocation - 1 end if end if loop while not found and bott a(j + 1) then temp = a(j) a(j) = a(j + 1) a(j + 1) = temp end if next j next iprint print print the array before sorted: for i = 1 to n print a(i), next i printend sub3.1.1 面向?qū)ο蟮某绦蛟O(shè)計(jì)面向?qū)ο蟮某绦蛟O(shè)計(jì)對(duì)象:客觀世

58、界的任何一個(gè)個(gè)體都可以稱(chēng)為一個(gè)對(duì)象。對(duì)象:客觀世界的任何一個(gè)個(gè)體都可以稱(chēng)為一個(gè)對(duì)象。例:窗體、按鈕、菜單項(xiàng)、文本框、標(biāo)簽等。例:窗體、按鈕、菜單項(xiàng)、文本框、標(biāo)簽等。面向?qū)ο蟮某绦蛟O(shè)計(jì)是事件驅(qū)動(dòng)的。面向?qū)ο蟮某绦蛟O(shè)計(jì)是事件驅(qū)動(dòng)的。事件:發(fā)生在對(duì)象上的動(dòng)作。事件:發(fā)生在對(duì)象上的動(dòng)作。例如:例如:點(diǎn)擊點(diǎn)擊窗體、在窗體上窗體、在窗體上拖動(dòng)鼠標(biāo)拖動(dòng)鼠標(biāo)、文本框文本框內(nèi)容改變內(nèi)容改變、文本框文本框按下鍵盤(pán)按下鍵盤(pán)等。等。3.1基本概念方法:對(duì)象能完成的動(dòng)作方法:對(duì)象能完成的動(dòng)作例如:按鈕例如:按鈕移動(dòng)移動(dòng)、控件、控件獲得焦點(diǎn)獲得焦點(diǎn)、控件、控件內(nèi)容刷新內(nèi)容刷新等等屬性:對(duì)象所具有的性質(zhì)屬性:對(duì)象所具有的性

59、質(zhì)例如:控件的例如:控件的名字名字、控件的、控件的外觀外觀、控件的、控件的字體字體、控件的、控件的大小大小、應(yīng)用程序的、應(yīng)用程序的圖標(biāo)圖標(biāo)等。等。private sub form_click() print helloend sub面向?qū)ο蟪绦蛟O(shè)計(jì)是事件驅(qū)面向?qū)ο蟪绦蛟O(shè)計(jì)是事件驅(qū)動(dòng)的,各對(duì)象的事件過(guò)程的動(dòng)的,各對(duì)象的事件過(guò)程的執(zhí)行順序是隨機(jī)的,是取決執(zhí)行順序是隨機(jī)的,是取決于事件發(fā)生的順序。例:于事件發(fā)生的順序。例:對(duì)象是代碼和數(shù)據(jù)的集合,對(duì)象必須通過(guò)對(duì)象來(lái)引用,一對(duì)象是代碼和數(shù)據(jù)的集合,對(duì)象必須通過(guò)對(duì)象來(lái)引用,一個(gè)窗體是一個(gè)模塊,本窗體內(nèi)部的對(duì)象可以直接用名字來(lái)個(gè)窗體是一個(gè)模塊,本窗體內(nèi)部的

60、對(duì)象可以直接用名字來(lái)訪問(wèn),在本窗體之外引用窗體內(nèi)的對(duì)象,必須在對(duì)象名前訪問(wèn),在本窗體之外引用窗體內(nèi)的對(duì)象,必須在對(duì)象名前加上窗體名。例:加上窗體名。例:有兩個(gè)窗體:有兩個(gè)窗體:form1和和form2,各有一個(gè)文本框,名字都各有一個(gè)文本框,名字都叫叫txt1、一個(gè)命令按鈕,名字都叫一個(gè)命令按鈕,名字都叫cmd1,在窗體在窗體form1的的cmd1的的click事件中寫(xiě)代碼:事件中寫(xiě)代碼:private sub cmd1_click() form2.txt1.text = helloend sub同一個(gè)窗體上的兩個(gè)同類(lèi)控件屬于兩個(gè)不同的對(duì)象,例如:同一個(gè)窗體上的兩個(gè)同類(lèi)控件屬于兩個(gè)不同的對(duì)象,例如:窗體上有兩個(gè)文本框分別叫:窗體上有兩個(gè)文本框分別

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論