![大學(xué)計(jì)算機(jī)基礎(chǔ)實(shí)訓(xùn)5_第1頁(yè)](http://file4.renrendoc.com/view/0d55f464f57c3a0600698dfe15bf5e3a/0d55f464f57c3a0600698dfe15bf5e3a1.gif)
![大學(xué)計(jì)算機(jī)基礎(chǔ)實(shí)訓(xùn)5_第2頁(yè)](http://file4.renrendoc.com/view/0d55f464f57c3a0600698dfe15bf5e3a/0d55f464f57c3a0600698dfe15bf5e3a2.gif)
![大學(xué)計(jì)算機(jī)基礎(chǔ)實(shí)訓(xùn)5_第3頁(yè)](http://file4.renrendoc.com/view/0d55f464f57c3a0600698dfe15bf5e3a/0d55f464f57c3a0600698dfe15bf5e3a3.gif)
![大學(xué)計(jì)算機(jī)基礎(chǔ)實(shí)訓(xùn)5_第4頁(yè)](http://file4.renrendoc.com/view/0d55f464f57c3a0600698dfe15bf5e3a/0d55f464f57c3a0600698dfe15bf5e3a4.gif)
![大學(xué)計(jì)算機(jī)基礎(chǔ)實(shí)訓(xùn)5_第5頁(yè)](http://file4.renrendoc.com/view/0d55f464f57c3a0600698dfe15bf5e3a/0d55f464f57c3a0600698dfe15bf5e3a5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、5.1 知識(shí)要點(diǎn) 本章以Visual Basic 6.0(以下簡(jiǎn)程VB 6.0)中文版為背景,講解計(jì)算機(jī)程序設(shè)計(jì)的一些基本特點(diǎn)及風(fēng)格。 5.1.1 VB的集成開發(fā)環(huán)境 VB 6.0的集成開發(fā)環(huán)境由若干窗口組成,包括VB 6.0的主窗口、工具箱窗口、窗體窗口、工程資源管理器窗口、屬性窗口、窗體布局窗口、代碼窗口、數(shù)據(jù)視圖窗口、調(diào)色板窗口等,如圖5.1所示。第5章 計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(VB) 工具箱窗口窗體窗口主窗口窗體布局窗口屬性窗口工程資源管理器窗口立即窗口代碼窗口圖5.1 VB 6.0應(yīng)用程序集成開發(fā)環(huán)境 1窗口 VB 6.0開發(fā)界面的主窗口由標(biāo)題欄、菜單欄、工具欄組成。1)標(biāo)題欄 標(biāo)題欄中
2、的標(biāo)題為“工程1-Microsoft Visual Basic設(shè)計(jì)”,其中“工程1”是當(dāng)前應(yīng)用程序的名稱,“設(shè)計(jì)”說明此時(shí)VB 6.0處于應(yīng)用程序的設(shè)計(jì)模式。2)菜單欄 VB 6.0的菜單欄包括13個(gè)菜單標(biāo)題,每個(gè)菜單標(biāo)題都有一個(gè)下拉菜單,這些下拉菜單包括了程序開發(fā)過程中所需要的命令。3)工具欄 工具欄由多個(gè)圖標(biāo)按鈕組成,在開發(fā)環(huán)境下提供對(duì)常用命令的快速訪問?!皹?biāo)準(zhǔn)”工具欄各按鈕的意義說明如圖5.2所示。除了“標(biāo)準(zhǔn)”工具欄外,VB 6.0還提供了編輯、窗體編輯器、調(diào)試等專用工具欄。要顯示或隱藏工具欄,可以選擇“視圖”菜單的“工具欄”命令或用鼠標(biāo)在標(biāo)準(zhǔn)工具欄處單擊右鍵進(jìn)行工具欄的選取。 添加工程
3、添加窗體菜單編輯器打開工程保存工程剪切復(fù)制粘貼查找撤銷重復(fù)重復(fù)啟動(dòng)運(yùn)行中斷結(jié)束屬性窗口窗體布局窗口對(duì)象瀏覽器工具箱窗口數(shù)據(jù)庫(kù)瀏覽窗口控件管理器工程資源管理器圖5.2 標(biāo)準(zhǔn)工具欄2窗體窗口 窗體是建立VB應(yīng)用程序的主要部分,它是應(yīng)用程序界面的窗口和容器,用戶通過與窗體上的控制部件交互得到結(jié)果。 啟動(dòng)VB 6.0時(shí)自動(dòng)創(chuàng)建一個(gè)空窗體,設(shè)計(jì)過程中可以再添加新的窗體。每個(gè)窗體有一個(gè)惟一的名字,建立窗體時(shí)默認(rèn)的名字是Form1、Form2等。窗體的頂端是標(biāo)題欄,標(biāo)題可根據(jù)需要修改,窗體的大小也可根據(jù)需要設(shè)置和調(diào)整。在設(shè)計(jì)狀態(tài)下窗體是可見的,運(yùn)行期間可通過屬性控制其可見性。 整個(gè)窗體上是用點(diǎn)組成的柵格,其
4、作用是定位放入窗體中的控件與柵格對(duì)齊。柵格點(diǎn)的間距可以通過執(zhí)行“工具”“選項(xiàng)”命令,在“通用”選項(xiàng)卡的窗體設(shè)置柵格中輸入“寬度”和“高度”來改變。 3工具箱窗口 啟動(dòng)VB后,工具箱由21個(gè)被繪制成按鈕形式的圖標(biāo)構(gòu)成。除指針用于移動(dòng)窗體和控件,調(diào)整它們的大小外,其他20個(gè)控件稱為“標(biāo)準(zhǔn)控件”。利用工具箱提供的這一組工具即可在窗體上設(shè)計(jì)各種控件。 除“標(biāo)準(zhǔn)控件”外,也可以把其他控件添加到工具箱中,供開發(fā)應(yīng)用程序使用,或從工具箱中刪除。具體操作步驟為:執(zhí)行“工程”“部件”菜單命令,打開“部件”對(duì)話框,選擇“控件”選項(xiàng)卡,從列表中選中要添加或刪除的控件名稱前面的選擇框即可。4屬性窗口 屬性用來描述對(duì)象
5、的性質(zhì),每個(gè)對(duì)象有若干屬性,通過設(shè)置屬性值來控制對(duì)象的外觀和行為。屬性窗口中列出的是選定的窗體或控件的全部屬性及其設(shè)置值,有“按字母序”和“按分類序”兩種排列方式。 屬性窗口最頂端是標(biāo)題欄,標(biāo)題“屬性-Form1”中Form1表示當(dāng)前列出的屬性是關(guān)于Form1窗體或其中某個(gè)對(duì)象的。 標(biāo)題欄下面的一欄是一個(gè)對(duì)象框,用于顯示可以設(shè)置屬性的對(duì)象名稱。 對(duì)象框下面的窗口是屬性列表,左側(cè)列出所選對(duì)象的全部屬性,右側(cè)編輯和觀察屬性值。創(chuàng)建一個(gè)對(duì)象后,其每個(gè)屬性均有一個(gè)默認(rèn)值,在設(shè)計(jì)階段可通過屬性窗口直接修改。不同對(duì)象所列出的屬性也不相同。 5工程資源管理器窗口 工程資源管理器窗口用于保存一個(gè)應(yīng)用程序的所有
6、屬性及組成這個(gè)應(yīng)用程序的所有文件,其后綴為.vbp,工程文件名顯示在標(biāo)題框中。在工程資源管理器下面的列表窗口中,以層次列表形式列出組成這個(gè)工程的所有文件,主要包括以下三類文件: 窗體文件(.frm文件):該文件存儲(chǔ)窗體上使用的所有控件對(duì)象、對(duì)象的屬性、對(duì)象相應(yīng)的事件過程及程序代碼,一個(gè)應(yīng)用程序至少包含一個(gè)窗體文件。 標(biāo)準(zhǔn)模塊文件(.bas文件):所有模塊級(jí)變量和用戶自定義的通用過程。 類模塊文件(.cls文件):用于建立用戶自己的對(duì)象。類模塊包含用戶對(duì)象的屬性及方法,但不包含事件代碼。 6代碼窗口 代碼窗口是應(yīng)用程序的代碼編寫器。應(yīng)用程序的每一個(gè)窗體或代碼模塊都有一個(gè)單獨(dú)的代碼窗口。代碼窗口的
7、組成包括以下幾部分。 “對(duì)象列表”框:顯示所選對(duì)象的名稱。其中“通用”表示與特定對(duì)象無關(guān)的通用代碼,一般在此聲明模塊級(jí)變量或編寫自定義過程。 “過程列表”框:顯示當(dāng)前過程名。其中“聲明”表示聲明模塊級(jí)變量。當(dāng)在“對(duì)象列表框”中選擇一個(gè)對(duì)象,在“過程列表框”選擇一個(gè)事件過程后,即可構(gòu)成所選對(duì)象的事件過程模板,用戶可在該模板內(nèi)直接輸入代碼。 “代碼”框:顯示或編輯代碼。 “過程查看”按鈕:使代碼框中只顯示所選的一個(gè)過程。 7其他窗口 在VB 6.0的開發(fā)界面中,除以上主要窗口外,還有以下窗口。 窗體布局窗口:窗體布局窗口允許用戶使用一個(gè)表示屏幕的小圖像來布置應(yīng)用程序中窗體在屏幕上的位置。 對(duì)象瀏覽
8、器窗口:執(zhí)行“視圖”“對(duì)象瀏覽器”菜單命令,或單擊“標(biāo)準(zhǔn)”工具欄上的“對(duì)象瀏覽器”按鈕打開對(duì)象瀏覽器窗口。該窗口列出工程中有效的對(duì)象,并提供在代碼中漫游的快速方法。可使用對(duì)象瀏覽器瀏覽VB中的對(duì)象和其他應(yīng)用程序,查看那些對(duì)象的方法和屬性,以及將代碼過程粘貼到自己的應(yīng)用程序中。 數(shù)據(jù)視圖窗口:執(zhí)行“視圖”“數(shù)據(jù)視圖窗口”菜單命令,或單擊“標(biāo)準(zhǔn)”工具欄上的“數(shù)據(jù)視圖窗口”按鈕,可打開數(shù)據(jù)視圖窗口。數(shù)據(jù)視圖窗口用于管理數(shù)據(jù)庫(kù)應(yīng)用程序與數(shù)據(jù)庫(kù)的鏈接。 5.1.2 VB程序設(shè)計(jì)語言1VB的編碼原則VB 6.0代碼主要書寫規(guī)則如下: 代碼不區(qū)分大小寫。 在同一行上可以書寫多條語句,各語句間用“:”分開。一
9、行最多可書寫255個(gè)字符。 一條語句可以寫成若干行,在行末加續(xù)行符(空格或下畫線)。 不能使用VB的關(guān)鍵字,如Private、Sub、End、If等。 以Rem或撇號(hào)“”開頭的語句為注釋語句,注釋語句的內(nèi)容可以是任意的一串字符,但同一行內(nèi),續(xù)行符之后不能加注釋。 各種符號(hào)必須在西文狀態(tài)下輸入。2VB中的標(biāo)識(shí)符 標(biāo)識(shí)符是一個(gè)字符序列,用來標(biāo)記變量名、函數(shù)名和類型名等。VB要求標(biāo)識(shí)符必須符合以下語法規(guī)定: 組成標(biāo)識(shí)符的字符有:AZ、az、09和_。 標(biāo)識(shí)符必須以字母或下畫線開始,后跟字母、數(shù)字或下畫線組成的字符串。 標(biāo)識(shí)符不能分行書寫。 3VB的數(shù)據(jù)類型 數(shù)據(jù)類型決定數(shù)據(jù)的存儲(chǔ)方式,包括數(shù)據(jù)的大小
10、、有效位、是否有小數(shù)點(diǎn)等。 基本數(shù)據(jù)類型是系統(tǒng)定義的數(shù)據(jù)類型,VB 6.0中定義的基本數(shù)據(jù)類型有數(shù)值型、字符型、日期/時(shí)間型、邏輯型、對(duì)象型和變體型等。1)數(shù)值型數(shù)據(jù)類型 數(shù)值型數(shù)據(jù)類型包括Integer、Long、Single、Double、Currency和Byte型。 如果變量存儲(chǔ)的是整數(shù)而不是小數(shù),則可聲明它為Integer或Long型。如果變量包含小數(shù),則應(yīng)聲明為Single、Double或Currency型。如果變量包含二進(jìn)制數(shù)據(jù),則可聲明為Byte型。 2)字符串?dāng)?shù)據(jù)類型 用引號(hào)括起來的一串字符即為字符串常量。字符串有定長(zhǎng)字符串和可變長(zhǎng)字符串。數(shù)值字符串和數(shù)值型變量可以互相賦值。
11、例如:Dim x As Single , y As String x=123.456: y=x y 的值為123.456 x=Int(y) x 的值為123 3)布爾型(Boolean) Boolean數(shù)據(jù)類型用于邏輯判斷,只有True和False兩個(gè)值。邏輯型數(shù)據(jù)可轉(zhuǎn)換成整型數(shù)據(jù),True轉(zhuǎn)換為1,F(xiàn)alse轉(zhuǎn)換為0。其他類型數(shù)據(jù)可轉(zhuǎn)換為邏輯型數(shù)據(jù),非0值轉(zhuǎn)換為True,0轉(zhuǎn)換為False。4)日期/時(shí)間型(Date) 日期型數(shù)據(jù)用8字節(jié)的浮點(diǎn)數(shù)來存儲(chǔ),整數(shù)部分表示距1899年12月30日的天數(shù),小數(shù)部分表示距午夜的時(shí)間(如中午為0.5),負(fù)數(shù)表示1899年12月30日以前的日期。使用時(shí)可將
12、按日期/時(shí)間格式書寫的字符串用“#”號(hào)括起來即可。例如,“# 7/1/97 8:30 am #”為合法的日期/時(shí)間值。 可對(duì)日期型數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算。加減整數(shù)為加減天數(shù),加減小數(shù)為加減時(shí)間。5)對(duì)象型(Object) Object變量用4個(gè)字節(jié)來存儲(chǔ),該地址可引用應(yīng)用程序中的對(duì)象。對(duì)Object型變量,可用Set語句為其賦一個(gè)應(yīng)用程序承認(rèn)的實(shí)際對(duì)象。對(duì)象數(shù)據(jù)類型包括兩種,一般對(duì)象數(shù)據(jù)類型和特殊對(duì)象數(shù)據(jù)類型。 6)變體型(Variant) 變體型數(shù)據(jù)是一種可以改變數(shù)據(jù)類型的數(shù)據(jù),對(duì)于未聲明或聲明時(shí)未指定類型的變量,默認(rèn)為變體型。變體型變量可存儲(chǔ)任何類型的數(shù)據(jù),包括數(shù)值型、對(duì)象型、字符型等,可用函數(shù)
13、VarType來測(cè)試其數(shù)據(jù)類型。 不論哪種類型的數(shù)據(jù)均可向變體型變量賦值而不必進(jìn)行任何轉(zhuǎn)換,VB自動(dòng)完成任何必要的轉(zhuǎn)換。例如: Dim x 不指定數(shù)據(jù)類型為變體型x =123 : x = x-23 x的值為100 x = ABC & x x 的值為ABC1007)自定義數(shù)據(jù)類型 自定義數(shù)據(jù)類型是把若干不同類型的變量結(jié)合在一起作為一個(gè)數(shù)據(jù)類型。定義后,這個(gè)數(shù)據(jù)類型就可以和內(nèi)部數(shù)據(jù)類型一樣的使用了。 創(chuàng)建自定義數(shù)據(jù)類型用Type語句實(shí)現(xiàn),必須放在模塊的聲明部分,語法格式為:Private / Public Type 類型名 元素名(下標(biāo)) As 數(shù)據(jù)類型 元素名(下標(biāo)) As 數(shù)據(jù)類型 End T
14、ype 說明: 自定義類型中的每個(gè)元素可為任何一種VB內(nèi)部數(shù)據(jù)類型。 Private / Public用于指明所定義的數(shù)據(jù)類型的有效范圍,對(duì)私有數(shù)據(jù)類型,只能在該模塊中使用,對(duì)公有數(shù)據(jù)類型,可在整個(gè)工程中使用。 聲明一個(gè)變量為自定義類型后,引用該變量中元素的格式為:變量名元素名。 例如,為了描述通迅錄(包括姓名、地址、電話號(hào)碼)中的數(shù)據(jù),可定義自定義類型: Private Type Address_BookName As String * 15Address As String * 30Phone As LongEnd Type然后聲明Address_Book類型的變量,并賦值:Dim Rec
15、ord As Address_Book Record.Name = Zang Sa: Record.Address = Baoding: Record.Phone = 5019530 4常量和變量1)常量 在程序運(yùn)行過程中,其值始終保持不變的量稱為常量。(1)符號(hào)常量 用戶聲明的常量是用一個(gè)符號(hào)名來代替數(shù)值或字符串,因此又稱為符號(hào)常量。聲明常量的語法規(guī)則如下: Public / Private Const 常量名 As 類型 = 表達(dá)式 說明: 符號(hào)常量是有意義的名字,用來取代程序中永遠(yuǎn)不變的數(shù)值或字符串。不能對(duì)符號(hào)常量重新賦值,也不能像變量一樣修改。 符號(hào)常量要先定義后使用,在整個(gè)模塊中只需
16、定義一次。 表達(dá)式中不能含有變量和函數(shù)調(diào)用。(2)系統(tǒng)提供的常量 VB 6.0提供了大量應(yīng)用程序和控件的系統(tǒng)常量,例如,窗口狀態(tài)屬性WindowsState可接受的常量見表5.1。在程序中使用語句Form1.WindowsState = vbMaximized將窗口最大化,顯然比Form1.WindowsState = 2易于閱讀。 2)變量 變量是指在程序運(yùn)行期間其值可以改變的量。變量在使用前應(yīng)該聲明,以便系統(tǒng)為它分配存儲(chǔ)單元??稍凇巴ㄓ谩眳^(qū)中用Option Explicit語句強(qiáng)制要求變量先聲明、后使用,否則變量可以不聲明而直接使用。(1)聲明變量的方法 用語句聲明。 格式如下: 表5.1
17、 WindowsState常量常 量值描 述VbNormal0正常VbMinimized1最小化VbMaximized2最大化表5.1 WindowsState常量 Dim/ Public/ Private / Static 變量名 As 數(shù)據(jù)類型, 變量名 As 數(shù)據(jù)類型說明: 若省略As,系統(tǒng)默認(rèn)為變體類型。一條語句可聲明多個(gè)變量,但每個(gè)變量必須有自己的類型聲明。例如:Dim Num As Single, unit As single 表示Num, unit都是Single數(shù)據(jù)類型Dim Num, unit As single 表示Num為Variant類型, 而unit為Single類型
18、 變量被聲明后,被賦予默認(rèn)初值數(shù)值型為0,字符串型為空串,布爾型為False等。 對(duì)于字符串變量,根據(jù)其存放的字符串長(zhǎng)度是否固定,其定義方法有兩種: Dim 字符串變量名 AS String 聲明不定長(zhǎng)的字符串Dim 字符串變量名 AS String*字符數(shù) 聲明定長(zhǎng)的字符串 用類型說明符直接聲明變量 格式為: 變量名類型符 不同數(shù)據(jù)類型的類型符見表5.2。如聲明整型變量item:item% 數(shù)據(jù)類型整 型長(zhǎng)整型單精度型雙精度型貨幣型字符型類型符%&!#$表5.2 數(shù)據(jù)類型的類型符 隱式聲明不聲明變量而直接使用,應(yīng)盡量避免使用。(2)變量的作用域變量的作用域是指變量的使用范圍。變量的聲明位置、
19、關(guān)鍵字不同,變量的有效范圍也不一樣。VB中變量的有效范圍有三個(gè)等級(jí)。 全局變量:在整個(gè)工程的所有模塊中均有效,主要用于在不同窗體或標(biāo)準(zhǔn)模塊之間傳送數(shù)據(jù)??稍跇?biāo)準(zhǔn)模塊的聲明部分,用Public聲明。 窗體/模塊級(jí)變量:只在該窗體或模塊的各個(gè)過程中使用,其他模塊中的代碼不能引用。在標(biāo)準(zhǔn)模塊的聲明部分,用Private或Dim聲明的變量為模塊級(jí)變量;在窗體的聲明部分,用任何關(guān)鍵字聲明的變量均為窗體級(jí)變量。 過程級(jí)(局部)變量:在過程中用Dim或Static聲明,只在本過程有效。Static用于定義靜態(tài)變量,Dim用于定義動(dòng)態(tài)變量。若某變量聲明為靜態(tài)變量,則重復(fù)調(diào)用該過程時(shí),靜態(tài)變量能夠保留原來的值,
20、而動(dòng)態(tài)變量的值,每次調(diào)用時(shí)都被初始化。如運(yùn)行下面的代碼: 運(yùn)行此工程,單擊窗體后,結(jié)果為:1 1 1 1 1 如將Form1_Load()中的Dim改為Static,運(yùn)行結(jié)果則為: 2 3 4 5 6 Option Explicit : Dim iPrivate Sub Form1_Click() For i = 1 To 5 : Form1_Load : Next iEnd SubPrivate Sub Form_Load() Dim a As Integer a = a + 1 Print a , End Sub5運(yùn)算符和表達(dá)式在VB的代碼中有四種運(yùn)算符:算術(shù)運(yùn)算符、字符串運(yùn)算符、關(guān)系運(yùn)算
21、符、邏輯運(yùn)算符。用這些運(yùn)算符將相關(guān)的常量、變量、函數(shù)等連接起來的式子即為表達(dá)式。1)算術(shù)運(yùn)算符 算術(shù)運(yùn)算符執(zhí)行簡(jiǎn)單的算術(shù)運(yùn)算,按優(yōu)先級(jí)由高到低依次為:(乘方)、(負(fù)號(hào))、*、/(乘、除)、(整除)、Mod(取余)、+、(加、減) VB中的加、減、乘法運(yùn)算和代數(shù)中的概念相同,而除法運(yùn)算有兩種,一種是普通除法“/”,另一種是整除“”(只取商數(shù)的整數(shù)部分)。例如,53的結(jié)果為1。 求余運(yùn)算就是求兩數(shù)相除后的余數(shù),若操作數(shù)中有小數(shù)點(diǎn),則先按四舍五入的原則處理,再進(jìn)行運(yùn)算。例如,8.6 Mod 3結(jié)果為0,10.4 Mod 4.2結(jié)果為2。2)字符串運(yùn)算符 字符串運(yùn)算符只有“&”和“+”,它們都可以將字
22、符串首尾連接起來。其主要區(qū)別如下。(1)書寫格式“&”兩邊都要有空格,否則VB把“&”作為變量名的類型聲明符。(2)運(yùn)算規(guī)則“+”兩邊變量的數(shù)據(jù)類型要一致,否則出現(xiàn)錯(cuò)誤。若都是數(shù)值型的,則進(jìn)行加法運(yùn)算;若都是字符型的,則進(jìn)行字符串連接運(yùn)算;若有一個(gè)是數(shù)值,而另一個(gè)是數(shù)值字符串,則進(jìn)行數(shù)值運(yùn)算。 例如,x = 123,y =123,則x + y的結(jié)果為數(shù)值246,而x & y的結(jié)果為字符串123123。3)關(guān)系運(yùn)算符 關(guān)系運(yùn)算符不分優(yōu)先級(jí),一率從左到右執(zhí)行,VB的關(guān)系運(yùn)算符如下:(小于)、=(小于等于)、=(等于)、(不等于)、=(大于等于)、(大于) 關(guān)系運(yùn)算符可用于任何數(shù)據(jù)類型的表達(dá)式(除對(duì)
23、象型),結(jié)果為邏輯值。若操作數(shù)為字符型時(shí),按字符的ASCII碼值從左到右逐個(gè)比較。ASCII碼值大的字符串大,若第一個(gè)字符相同,則比較第二個(gè)字符,以此類推,直到比較出大小。若要忽略大小寫,可在模塊的聲明部分加入語句:Option Compare Text。日期型數(shù)據(jù)比較按日期先后,后邊的大于前邊的,如#2/5/99# 大于#2/2/99# ,布爾型比較True小于False。 4)邏輯運(yùn)算符 邏輯運(yùn)算符用于連接布爾型數(shù)據(jù),結(jié)果為邏輯值。5)表達(dá)式 由運(yùn)算符將常量、變量、函數(shù)等按照一定規(guī)則連接起來的有意義的式子即為表達(dá)式。 (1)書寫規(guī)則 乘號(hào)不能省略。括號(hào)必須成對(duì)出現(xiàn),且都用圓括號(hào)。表達(dá)式從左
24、至右在同一基準(zhǔn)上書寫。 (2)不同數(shù)據(jù)類型的轉(zhuǎn)換 在算術(shù)運(yùn)算中,如果操作數(shù)具有不同的數(shù)據(jù)精度,則結(jié)果以精度高的數(shù)據(jù)類型為準(zhǔn)。 表5.3 VB支持的邏輯運(yùn)算符(3)優(yōu)先級(jí) 不同類型的運(yùn)算符優(yōu)先級(jí)為: 括號(hào)算術(shù)運(yùn)算符字符運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符 6函數(shù) 內(nèi)部函數(shù)是把一些常用的操作事先編寫成一段程序代碼并封裝起來,用戶通過函數(shù)名調(diào)用這段程序并返回一個(gè)函數(shù)值。函數(shù)按功能分類如下。(1)數(shù)學(xué)函數(shù) 數(shù)學(xué)函數(shù)與數(shù)學(xué)中定義的函數(shù)一致,其參數(shù)和函數(shù)值的數(shù)據(jù)類型均為數(shù)值型。常用數(shù)學(xué)函數(shù)見表5.4。 表5.3 VB支持的邏輯運(yùn)算符(2)字符串函數(shù) 字符串函數(shù)用于處理字符信息。函數(shù)名后有$符號(hào)的表示函數(shù)返回值為字符
25、串。函 數(shù) 名含 義例 子結(jié) 果Abs(N)取絕對(duì)值A(chǔ)bs(1.4)1.4Sqr(N)平方根Sqr(4)2Rnd(N)產(chǎn)生隨機(jī)數(shù)Rnd01之間的數(shù)Fix(N)取整函數(shù),無條件舍去小數(shù)部分Fix(1.23)Fix(3.5)13Int(N)取整函數(shù),返回不大于N的最大整數(shù)Int(1.23)Int(3.67)23 (正舍負(fù)入)表5.4 常用數(shù)學(xué)函數(shù) Len(字符串):返回字符串的長(zhǎng)度。 InStr(數(shù)值,字符串,子串,模式):返回子串在字符串中第一次出現(xiàn)的位置。數(shù)值指定開始查找的位置,省略時(shí)從第一個(gè)字符開始。模式為0或1。為0(默認(rèn))時(shí)區(qū)分大小寫,為1時(shí)不區(qū)分大小寫。找到后返回子串在字符串中的起始位
26、置,若沒找到則返回0。 Mid$(字符串,m,n):從字符串的第m個(gè)字符起,取n個(gè)字符(省略n時(shí)取到末尾)。 Left$(字符串,n):返回字符串左邊n個(gè)字符。 Trim$(字符串):去掉字符串的前后空格,如Trim$( abcd )=abcd。(3)日期/時(shí)間函數(shù) Date$():返回系統(tǒng)當(dāng)前的日期。有$時(shí)返回值是字符型數(shù)據(jù)。 Time$():返回系統(tǒng)當(dāng)前的時(shí)間。如Time= 11:20:12 DateAdd(日期形式串,增減量,要增減的日期變量):對(duì)日期變量按日期形式做增減。日期形式串見表5.5。 日期形式y(tǒng)yyyqMwwDhnsyw意 義年季月周日時(shí)分秒一年的天數(shù)一周的天數(shù)表5.5 日期
27、形式串 DateDiff(日期形式串, 日期1, 日期2):返回日期2減去日期1所得的日期數(shù)。返回值的單位由日期形式串確定。 (4)轉(zhuǎn)換函數(shù) Chr$(n):將ASCII碼值轉(zhuǎn)換成字符串,其中0n255。如Chr$(65)= A。 Asc(字符串):返回字符串中第一個(gè)字母的ASCII碼,Chr$的反函數(shù)。例如:m = Asc(B) 結(jié)果為66 Val(字符串):將字符串轉(zhuǎn)換成數(shù)值量。串的組成必須符合數(shù)學(xué)規(guī)范。例如:a = Val(-13.409) a的值為-13.409 Str$(n):將數(shù)值型量轉(zhuǎn)換成字符型量。例如:s = Str(35) s的值為字符35 7數(shù)組 數(shù)組是用一個(gè)相同的變量名表
28、示,用不同下標(biāo)來區(qū)分的一系列變量。VB中有變量數(shù)組和控件數(shù)組兩種數(shù)組。1)變量數(shù)組 變量數(shù)組是在程序中聲明的一組下標(biāo)變量,下標(biāo)的個(gè)數(shù)稱為數(shù)組的維數(shù)。在VB中,變量數(shù)組分為固定大小的數(shù)組和可變大小的數(shù)組。變量數(shù)組必須先聲明后使用。(1)固定大小的數(shù)組 數(shù)組所包含的元素個(gè)數(shù)是固定不變的。聲明時(shí)必須指定數(shù)組的大小。語法格式為:Dim/ Public/ Private 數(shù)組名(下界To 上界, 下界To 上界)As 數(shù)據(jù)類型 (2)動(dòng)態(tài)數(shù)組 動(dòng)態(tài)數(shù)組可以在任何時(shí)候改變其大小。數(shù)組聲明方式為數(shù)組名后跟一對(duì)空的圓括號(hào)。如Dim Marr()。使用時(shí)要用ReDim語句為其分配實(shí)際的存儲(chǔ)空間。其語法格式為:
29、ReDim 動(dòng)態(tài)數(shù)組名(下界To上界,下界To上界)As 數(shù)據(jù)類型 2)控件數(shù)組 控件數(shù)組由一組相同類型的控件組成,它們共用一個(gè)名稱。系統(tǒng)給每個(gè)元素賦一個(gè)索引號(hào)Index,依次為0、1、2、??丶?shù)組中各個(gè)元素共用同一個(gè)事件過程,在事件過程的聲明中增加Index參數(shù),通過Index參數(shù)值來指明是哪一個(gè)控件發(fā)生了該事件。創(chuàng)建一個(gè)控件數(shù)組有以下幾種方法: 先創(chuàng)建第一個(gè)控件,創(chuàng)建第二個(gè)控件時(shí)修改其Name屬性為第一個(gè)控件的Name值,則VB詢問是否創(chuàng)建控件數(shù)組。若回答“是”,則兩個(gè)控件的Index屬性值自動(dòng)被設(shè)置。 創(chuàng)建第一個(gè)控件后,將其復(fù)制到剪貼板,再粘貼到窗體中,則詢問是否創(chuàng)建控件數(shù)組。若回答“
30、是”,后面的工作同第一種方法。 先創(chuàng)建第一個(gè)控件,修改其Index屬性值為0,創(chuàng)建后面的控件元素時(shí)設(shè)置相同的Name屬性即可。 運(yùn)行時(shí)添加控件。先在設(shè)計(jì)階段創(chuàng)建第一個(gè)控件,將其Index屬性設(shè)為0。再在代碼段用Load數(shù)組名(下標(biāo)值)添加其他元素,也可用Unload數(shù)組名(下標(biāo)值)刪除在代碼段添加的數(shù)組元素。最后,應(yīng)用Left和Top屬性來確定其在窗體中的位置,并將其Visible屬性設(shè)置為True。 8順序結(jié)構(gòu) 順序結(jié)構(gòu)中的語句依次執(zhí)行,常用賦值語句構(gòu)成。賦值語句用于數(shù)據(jù)的處理,其語法格式為:LET 變量名 = 表達(dá)式 功能: 計(jì)算賦值號(hào)右邊表達(dá)式的值并將結(jié)果賦給左邊的變量。 9條件分支結(jié)構(gòu)
31、 VB的選擇結(jié)構(gòu)可以根據(jù)需要判斷是否滿足某些條件,以決定程序的轉(zhuǎn)移。 1)二分支結(jié)構(gòu)行If:If 條件 Then 語句塊1 Else 語句塊2 塊If:塊If:If 條件 Then 語句塊1Else語句塊2 End If2)多分支結(jié)構(gòu)(1)多分支的IfThenElse結(jié)構(gòu)If 條件1 Then語句塊1ElseIf 條件2 Then語句塊2 Else 語句塊 End If (2)多分支的Select Case結(jié)構(gòu)。語法格 式為:Select Case 測(cè)試表達(dá)式Case 取值表1 語句塊1Case 取值表2 語句塊2Case Else 語句塊 End Select 功能為:首先測(cè)試“條件”,若條
32、件成立(結(jié)果為True)則執(zhí)行Then后面的語句,否則執(zhí)行Else后面的語句。省略Else子句為單分支結(jié)構(gòu),即條件為False時(shí)不進(jìn)行任何操作。 說明: “條件”為具有布爾值的關(guān)系表達(dá)式或邏輯表達(dá)式,也可以是求值結(jié)果為數(shù)值的任何表達(dá)式,數(shù)值零解釋為False,任何非零值 解釋為True。 “語句塊”可以是一條語句或多條語句(以“:”分隔各語句)。 10循環(huán)結(jié)構(gòu) 在VB中可用循環(huán)結(jié)構(gòu)來解決需要重復(fù)執(zhí)行多次的語句,要求循環(huán)必須是有窮的。循環(huán)控制有兩種,一種循環(huán)次數(shù)已知,另一種循環(huán)有結(jié)束條件。 1)ForNext結(jié)構(gòu) 語法格式為:For 循環(huán)控制變量 = 初值 To 終值 Step 步長(zhǎng) 語句塊 E
33、xit For 語句塊 Next 循環(huán)控制變量 執(zhí)行過程:初值賦給循環(huán)控制變量。與終值比較,若超過終值則退出循環(huán),否則執(zhí)行循環(huán)體。循環(huán)控制變量增加一個(gè)步長(zhǎng),與終值比較,如此重復(fù)。 2)Do While Loop語句 語法格式為:Do While 條件表達(dá)式語句塊Exit Do語句塊Loop 執(zhí)行過程:計(jì)算條件表達(dá)式,若值為真,則執(zhí)行循環(huán)體,否則退出循環(huán)。執(zhí)行完一遍循環(huán)體后,再重新計(jì)算表達(dá)式的值看是否再進(jìn)行循環(huán)。 3)DoLoop While語句 語法格式為:Do語句塊Exit Do語句塊Loop While 條件表達(dá)式 執(zhí)行過程為,執(zhí)行循環(huán)體,計(jì)算條件表達(dá)式,并根據(jù)條件表達(dá)式的值決定是否再執(zhí)行
34、循環(huán)體。若條件表達(dá)式的值為真,則重復(fù)執(zhí)行循環(huán)體,否則退出循環(huán),執(zhí)行Loop語句后面的語句。 4)DoLoop Until語句 語法格式為:Do 語句塊Exit Do語句塊Loop Until 條件表達(dá)式 執(zhí)行過程為,首先執(zhí)行循環(huán)體,計(jì)算條件表達(dá)式的值,若值為假,則重復(fù)執(zhí)行循環(huán)體;若為真,則退出循環(huán),執(zhí)行Loop語句后面的語句。 5.1.3 常用控件介紹 控件是構(gòu)成VB程序的主要對(duì)象,用來獲取用戶的輸入信息、顯示輸出信息或訪問其他應(yīng)用程序并處理數(shù)據(jù)??丶耐庥^和窗體一起構(gòu)成應(yīng)用程序的界面,程序的代碼也主要是控件的事件過程。標(biāo)準(zhǔn)控件是最基本、最常用的控件,啟動(dòng)VB后顯示在工具箱中。1基本屬性 VB
35、中每個(gè)對(duì)象都有自己的屬性,程序中使用一個(gè)對(duì)象時(shí),都要設(shè)置它的屬性滿足程序的要求。下面首先介紹標(biāo)準(zhǔn)控件所共有的屬性。 1)Name(名稱) Name是對(duì)象的名稱,用于標(biāo)識(shí)不同的對(duì)象。默認(rèn)值是對(duì)象類型加序號(hào)。Name屬性在程序運(yùn)行時(shí)只讀。訪問對(duì)象的屬性和方法的語法格式為:對(duì)象名屬性名 或 對(duì)象名方法名 參數(shù)表 2)Caption(標(biāo)題) Caption屬性用于設(shè)置對(duì)象的標(biāo)題。窗體的標(biāo)題是顯示在其標(biāo)題欄中的文本;控件的標(biāo)題是顯示在該控件中或其附近的文本,一般用于功能描述。 3)Height、Width、Left、Top(大小和位置) Height和Width用于設(shè)置對(duì)象的高度和寬度。Left和Top
36、用于設(shè)置對(duì)象的位置:對(duì)于窗體,Left是窗體左邊框到屏幕左邊的距離,Top是窗體上邊框到屏幕頂部的距離;對(duì)于窗體中的控件,其位置是相對(duì)于包容它的窗體而言。若這兩個(gè)屬性為負(fù)數(shù),表示窗體移出了屏幕或控件移出了窗體。 4)Font(字體) Font用于設(shè)置對(duì)象中文字的字體、字形、字號(hào)等。Font本身作為一個(gè)對(duì)象,具有Name(字體名)、Bold(粗體)、UnderLine(下畫線)、Italic(斜體)、Size(字號(hào))等屬性。當(dāng)給具有Font屬性的對(duì)象設(shè)置有關(guān)字體的屬性時(shí),可通過其Font屬性設(shè)置Font對(duì)象的屬性來實(shí)現(xiàn)。運(yùn)行階段使用代碼設(shè)置的語句格式為: 對(duì)象名.Font.Font對(duì)象的屬性名
37、= 屬性值 5)Enabled(有效性)用于設(shè)置對(duì)象是否能響應(yīng)用戶產(chǎn)生的事件。6)Visible(可視性)用于設(shè)置對(duì)象是否可見。7)Picture用于設(shè)置對(duì)象中顯示的圖像。設(shè)置方法有: 設(shè)計(jì)階段通過LoadPicture對(duì)話框設(shè)置,或從剪貼板粘貼圖形到對(duì)象上。 運(yùn)行階段用LoadPicture()函數(shù)裝入,語法格式為:對(duì)象名.Picture = LoadPicture(d:path圖形文件名) 8)AutoSize(自動(dòng)調(diào)整大小) 用于設(shè)置控件是否能自動(dòng)調(diào)整大小。 2基本事件 事件是對(duì)象能識(shí)別的動(dòng)作。在事件驅(qū)動(dòng)編程中,主要的代碼寫在事件過程中,它規(guī)定了產(chǎn)生某一事件時(shí)程序完成的功能,用于對(duì)事件做
38、出響應(yīng)。1)Click、DblClick(單擊和雙擊事件) 單擊某對(duì)象時(shí),引發(fā)該對(duì)象的Click事件;雙擊某對(duì)象時(shí),引發(fā)該對(duì)象的DblClick事件。 2)GotFocus、LostFocus(焦點(diǎn)事件) 當(dāng)一個(gè)對(duì)象接收到焦點(diǎn)時(shí),發(fā)生GotFocus事件,失去焦點(diǎn)時(shí)發(fā)生LostFocus事件。3)Load、UnLoad(裝載和卸載) 加載窗體時(shí)發(fā)生窗體的Load事件,卸載窗體時(shí)發(fā)生UnLoad事件。 一般在Load事件過程中書寫初始化代碼。如初始化窗體變量、為控件的屬性指定默認(rèn)值、裝入列表框中的目錄項(xiàng)等。UnLoad事件過程一般處理關(guān)閉相關(guān)的對(duì)象及文件、數(shù)據(jù)存盤等操作。 3基本方法 1)Pri
39、nt、Cls(輸出和清除) Print用于在窗體、圖片框、調(diào)試窗口、打印機(jī)等對(duì)象上輸出文本;Cls清除運(yùn)行時(shí)由繪圖方法或Print方法在窗體、圖片框上產(chǎn)生的圖形和文本。語法格式為: 對(duì)象名.Print 輸出項(xiàng)表; 對(duì)象名.Cls 用Print方法輸出的文本VB視為圖形文本,默認(rèn)對(duì)象名時(shí)指當(dāng)前具有焦點(diǎn)的對(duì)象。輸出項(xiàng)之間以逗號(hào)或分號(hào)分隔,以逗號(hào)分隔時(shí)按標(biāo)準(zhǔn)格式輸出,以分號(hào)分隔時(shí)按緊湊格式輸出。 2)Hide、Show(隱藏和顯示) Hide方法用于隱藏窗體對(duì)象,Show方法用于顯示窗體對(duì)象。語法格式為: 窗體名Hide 或 窗體名Show 0/1 選擇參數(shù)1時(shí)顯示為模式窗體,在關(guān)閉之前不能進(jìn)行任何
40、其他操作。 3)Move(移動(dòng)) Move方法用于在屏幕上移動(dòng)窗體或在窗體中移動(dòng)控件,同時(shí)可改變大小。語法格式為: 對(duì)象名Move Left ,Top ,Width ,Height 參數(shù)表示對(duì)象移動(dòng)后新的Left、Top、Width、Height屬性。僅Left參數(shù)是必須的,要指定后面的參數(shù),其前面的參數(shù)也必須指定。4)SetFocus(焦點(diǎn)) 語法格式: 對(duì)象名SetFocus 指定對(duì)象必須是能接收焦點(diǎn)的對(duì)象,即該對(duì)象包括SetFocus方法,同時(shí)是可以接收焦點(diǎn)的。在調(diào)用SetFocus方法后,指定對(duì)象就有了焦點(diǎn),下面的任何輸入都指向該對(duì)象。 4標(biāo)準(zhǔn)控件的其他屬性1)命令按鈕命令按鈕(Com
41、mandButton)是應(yīng)用程序使用最多的控件之一,常用來接收用戶的操作信息,用以激發(fā)某些事件,處理一些事情。 Default:用于設(shè)置一個(gè)命令按鈕是否為默認(rèn)按鈕,值為True時(shí)為默認(rèn)按鈕,默認(rèn)值為False。對(duì)于默認(rèn)命令按鈕,按回車鍵時(shí),引發(fā)其Click事件。一個(gè)窗體上至多有一個(gè)默認(rèn)命令按鈕。 Cancel:用于設(shè)置一個(gè)命令按鈕是否為Cancel按鈕。對(duì)于Cancel命令按鈕,按Esc鍵時(shí)引發(fā)其Click事件。一個(gè)窗體上至多有一個(gè)Cancel按鈕。 Style:設(shè)置命令按鈕的樣式。默認(rèn)值為0,表示是標(biāo)準(zhǔn)按鈕,值為1是圖形按鈕。 Picture:設(shè)置在命令按鈕上顯示的圖形。 2)圖像框和圖片框
42、 圖像框和圖片框均可用來顯示圖形,包括位圖、圖標(biāo)、JPEG或GIF格式的圖形文件等。除Picture外,主要屬性有: Autosize:(圖片框具有)用于設(shè)置控件的大小是否自動(dòng)調(diào)整。值為True時(shí),自動(dòng)調(diào)整大小,以顯示裝入的整個(gè)圖片;值為 False時(shí),保持控件大小,圖片超出部分截除。 Stretch:(圖像框?qū)S校┯糜谠O(shè)置裝入的圖片是否自動(dòng)調(diào)整大小以適應(yīng)圖像框的大小。值為True時(shí),圖片自動(dòng)伸縮,以充滿整個(gè)圖像框,即圖片適應(yīng)圖像框;值為False時(shí),圖像框自動(dòng)調(diào)整大小,以顯示裝入的整個(gè)圖片,即圖像框適應(yīng)圖片。3)標(biāo)簽 標(biāo)簽通常用于顯示文本,標(biāo)識(shí)窗體上不具有Caption屬性的對(duì)象。除Capt
43、ion、AutoSize、BorderStyle、字體、顏色等屬性以外,標(biāo)簽還有以下重要的屬性: Alignment:設(shè)置標(biāo)簽中標(biāo)題文本的對(duì)齊方式。 0文本左對(duì)齊(默認(rèn));1文本右對(duì)齊;2文本居中。 BackStyle:用于設(shè)置標(biāo)簽的背景是否透明。 True透明,背景及任何圖形在控件之后可見。 False不透明(默認(rèn)),其BackColor屬性設(shè)置填充控件。 WordWrap:設(shè)置標(biāo)簽是否可以在垂直方向擴(kuò)展,以適應(yīng)Caption屬性指定的文本。 True垂直方向擴(kuò)展(水平尺寸不變),以多行顯示文本。False水平方向延伸,以容納整個(gè)文本。 4)文本框 文本框最重要的屬性是Text屬性和關(guān)于字體
44、的屬性。Text屬性值是文本框中顯示的文本。其他主要的屬性有: MultiLine:用于設(shè)置文本框是否可以輸入多行文字。默認(rèn)值為False。 Locked:用于設(shè)置文本框的內(nèi)容是否可以編輯。若值為True,則文本為只讀文本。 PasswordCHar:用來設(shè)置輸入密碼時(shí)顯示的字符。比如,屬性值設(shè)置為“*”,則在文本框中輸入的字符,都會(huì)顯示為“*”。 SelText:在程序運(yùn)行過程中,對(duì)文本內(nèi)容進(jìn)行選擇操作時(shí),用于標(biāo)識(shí)被選中的文本。用該屬性可實(shí)現(xiàn)“塊復(fù)制”、“塊移動(dòng)”等與Windows剪貼板交換信息的操作。 SelLength:程序運(yùn)行時(shí),被選中文本的長(zhǎng)度。 SelStart:程序運(yùn)行時(shí),被選中
45、文本的開始位置。如果沒有選中的文本,則該屬性值表示插入點(diǎn)的位置。 該控件的主要事件有鍵盤事件(KeyPress)、焦點(diǎn)事件(GotFocus和LostFocus)和Change事件。 5)框架 框架用于將其他控件分組。主要屬性Caption設(shè)置顯示在框架左上角的標(biāo)題文本。 在框架中創(chuàng)建控件時(shí),必須先創(chuàng)建框架控件,然后從工具箱中選中控件并把它畫到框架中。不能把控件建立在窗體上,再用鼠標(biāo)拖到框架中。如果想把已建立好的若干控件分組,并放到框架上,可以先選中要分為一組的控件,“剪切”到剪貼板上,然后選定框架控件,再使用“粘貼”命令。 6)單選按鈕 單選按鈕提供多個(gè)可選項(xiàng),只能選擇其中的一項(xiàng)。主要屬性有
46、: Value:指出單選按鈕是否被選中。如選中,則值為True。 Alignment:設(shè)置Caption屬性的文本顯示在控件右邊(值為0)還是左邊(值為1)。 Style:用于設(shè)置控件外觀的形式。值為0時(shí)是標(biāo)準(zhǔn)樣式,值為1時(shí)是圖形樣式。 單選按鈕支持Click事件,通過檢測(cè)該控件的Value值,決定執(zhí)行相應(yīng)的命令。 7)復(fù)選框 復(fù)選框提供Yes/No或True/False選項(xiàng),以確定是否選中某一項(xiàng)目。復(fù)選框組中各個(gè)控件獨(dú)立,可以同時(shí)選中多個(gè)選項(xiàng)。Value屬性用于判斷復(fù)選框處于什么狀態(tài):0未選中狀態(tài)。1選中狀態(tài)。2禁用狀態(tài)。 復(fù)選框支持Click事件,根據(jù)復(fù)選框的某種狀態(tài)執(zhí)行相應(yīng)的操作。 8)
47、列表框與組合框 列表框(ListBox)提供一系列表項(xiàng),用戶可從中選擇一項(xiàng)或多項(xiàng),顯示不下時(shí)自動(dòng)加滾動(dòng)條。組合框(ComboBox)是文本框和列表框的組合,用戶可在文本框中輸入信息,也可從列表框中選擇表項(xiàng),但一次只能選擇一項(xiàng)。(1)主要屬性 ListCount:指示列表框或組合框中表項(xiàng)的數(shù)目,該屬性只能在程序中讀取。 List:列表框或組合框中一系列表項(xiàng)可視為一個(gè)字符串?dāng)?shù)組List,每個(gè)表項(xiàng)是其一元素。設(shè)計(jì)時(shí)可通過該屬性向列表框或組合框中添加表項(xiàng),運(yùn)行時(shí)可用“對(duì)象名.List(Index)”來讀取其表項(xiàng)。List數(shù)組的下標(biāo)從0開始,即第一項(xiàng)的序號(hào)(Index值)為0,第2項(xiàng)為1,最后一項(xiàng)為L(zhǎng)i
48、stCount 1。 ListIndex:指示列表框或組合框中被選中表項(xiàng)的序號(hào)(索引值),若沒有項(xiàng)被選中,則該屬性值為1。設(shè)計(jì)時(shí)不可用。 Text:指示列表框中最后一次選中的表項(xiàng)文本,或在組合框的編輯域中輸入的文本。 Selected:該屬性是一個(gè)邏輯數(shù)組,其元素對(duì)應(yīng)列表框中相應(yīng)的項(xiàng),表示對(duì)應(yīng)的項(xiàng)在程序運(yùn)行期間是否被選中。例如,Selected(0)的值為True表示第一個(gè)表項(xiàng)被選中,為False表示第一個(gè)表項(xiàng)不被選中。該屬性只能在程序運(yùn)行時(shí)設(shè)置或引用。(2)常用方法 AddItem:在列表框或組合框中加入表項(xiàng)。語法格式為:對(duì)象名AddItem 表項(xiàng)文本 ,Index 指定Index時(shí),將新表
49、項(xiàng)加入到指定位置,否則加入到排序位置(Sorted為True時(shí))或尾部。 RemoveItem:從列表框或組合框的列表中刪除一個(gè)表項(xiàng)文本。語法格式為: 對(duì)象名RemoveItem Index Clear:刪除列表框中所有表項(xiàng)。 9)計(jì)時(shí)器控件 計(jì)時(shí)器控件(Timer)按一定時(shí)間間隔自動(dòng)觸發(fā)其Timer事件,在事件過程中編寫代碼,可以有規(guī)律地執(zhí)行某種操作。計(jì)時(shí)器控件運(yùn)行期間不可見。 計(jì)時(shí)器控件最重要的屬性是Interval。該屬性用于設(shè)置或返回Timer事件發(fā)生的時(shí)間間隔,單位為毫秒。Enabled屬性決定計(jì)時(shí)器控件是否對(duì)其Interval屬性做出響應(yīng)。 計(jì)時(shí)器控件最常用的事件是Timer事件,
50、在Interval屬性為True時(shí),每隔一個(gè)Interval時(shí)間間隔引發(fā)一次。 5.1.4 可視化程序設(shè)計(jì)的一般過程 創(chuàng)建VB應(yīng)用程序一般包括以下4個(gè)主要的步驟: 建立界面:建立應(yīng)用程序界面,包括創(chuàng)建窗體和控件。 設(shè)置屬性:設(shè)置對(duì)象的屬性,滿足應(yīng)用程序的要求。 編寫代碼:打開代碼窗口,從“對(duì)象框”中選擇對(duì)象,從“過程框”中選擇事件,系統(tǒng)自動(dòng)建立事件過程模板,在其中編寫程序代碼。 保存、調(diào)試運(yùn)行:運(yùn)行應(yīng)用程序是開發(fā)的后期工作,用以檢查是否有錯(cuò)誤、能否運(yùn)行通過、結(jié)果是否符合要求等。 5.1.5 程序調(diào)試 在編寫程序的過程中不可避免地會(huì)出現(xiàn)錯(cuò)誤,錯(cuò)誤分為語法錯(cuò)誤、運(yùn)行錯(cuò)誤和邏輯錯(cuò)誤三類。調(diào)試是指在程
51、序中查找并修改錯(cuò)誤的過程。VB本身不能更改程序中的錯(cuò)誤,但借助于調(diào)試工具可以了解應(yīng)用程序的運(yùn)行情況,幫助用戶迅速地發(fā)現(xiàn)錯(cuò)誤。 1調(diào)試工具欄 程序的調(diào)試包括斷點(diǎn)、中斷表達(dá)式、監(jiān)視表達(dá)式、顯示變量和屬性的值等。這些調(diào)試工具可從“調(diào)試”菜單上調(diào)用,也可使用“調(diào)試”工具欄。調(diào)試工具欄提供了對(duì)調(diào)試程序非常有用的幾個(gè)按鈕,如圖5.5所示,各按鈕的功能見表5.7。 開始/重新開始結(jié)束逐語句跳出切換斷點(diǎn)本地窗口中斷監(jiān)視窗口立即窗口逐過程快速監(jiān)視調(diào)用堆棧表5.7 調(diào)試按鈕功能說明調(diào)試按鈕切換斷點(diǎn)單步執(zhí)行過程單步跳出本地窗口立即窗口監(jiān)視窗口快速監(jiān)視調(diào)用堆棧功能說明 在程序代碼中確定一行,設(shè)置/取消一個(gè)斷點(diǎn),程序執(zhí)
52、行到該行語句停下來執(zhí)行方式啟動(dòng)按鈕,單擊一次,執(zhí)行下一條語句,并跟蹤到過程中執(zhí)行方式啟動(dòng)按鈕,單擊一次,執(zhí)行下一條語句,但不跟蹤到過程中跳出當(dāng)前過程,執(zhí)行其他部分,并在調(diào)用過程的下一行處中斷執(zhí)行顯示局部變量的當(dāng)前值當(dāng)應(yīng)用程序處于中斷模式時(shí),允許執(zhí)行代碼或查詢變量顯示選定表達(dá)式或變量的值當(dāng)應(yīng)用程序處于中斷模式時(shí),列出某表達(dá)式或變量的當(dāng)前值當(dāng)處于中斷模式時(shí),用一個(gè)對(duì)話框顯示所有已被調(diào)用但尚未完成運(yùn)行的過程表5.7 調(diào)試按鈕功能說明 2使用調(diào)試窗口 VB有三個(gè)調(diào)試窗口:“本地”窗口、“立即”窗口和“監(jiān)視”窗口。1)“本地”窗口 顯示當(dāng)前過程中所有局部變量的值。當(dāng)程序的執(zhí)行從一個(gè)過程切換到另一個(gè)過程時(shí)
53、,窗口中的內(nèi)容會(huì)發(fā)生改變。“本地”窗口中有三個(gè)參數(shù)?!氨磉_(dá)式”表示表達(dá)式或變量的名稱,“值”表示程序在當(dāng)前運(yùn)行狀態(tài)下表達(dá)式或變量的當(dāng)前值,“類型”表示表達(dá)式或變量的類型。2)“立即”窗口 顯示代碼中正在調(diào)試的語句所產(chǎn)生的信息,可以在程序代碼中利用Debug.Print方法,把輸出項(xiàng)送到“立即”窗口中。 3)“監(jiān)視”窗口 用于顯示當(dāng)前的監(jiān)視表達(dá)式,可幫助用戶隨時(shí)觀察某些表達(dá)式或變量的值的變化情況,以確定這樣的結(jié)果是否正確。 3使用中斷 在設(shè)計(jì)狀態(tài)下可以改變程序的界面或代碼,但不能看程序的運(yùn)行效果。在運(yùn)行狀態(tài)可以觀察應(yīng)用程序的行為,但不能修改代碼。然而在中斷狀態(tài)下,可中止程序并從代碼窗口修改程序,
54、保留變量的值、窗體和控件的屬性,觀察應(yīng)用程序的界面情況。 進(jìn)入中斷的方法: 在程序中加入Stop語句,生成.exe文件時(shí)必須將其刪除。 在代碼窗口中把插入點(diǎn)移到要設(shè)置或刪除斷點(diǎn)的語句處,直接按F9鍵,即可設(shè)置或刪除斷點(diǎn)。也可從“調(diào)試”菜單中執(zhí)行“清除所有斷點(diǎn)”菜單命令來清除所有斷點(diǎn)。 運(yùn)行“運(yùn)行”“中斷”菜單命令進(jìn)入中斷。 【例5.7】 算術(shù)教師。 程序自動(dòng)出一系列1,100以內(nèi)整數(shù)的加、減、乘、除算式,輸入答案后判斷是否正確,結(jié)束時(shí)給出成績(jī)。(1)程序設(shè)計(jì)用隨機(jī)函數(shù)產(chǎn)生兩個(gè)運(yùn)算數(shù)和運(yùn)算符,運(yùn)算數(shù)的表達(dá)式為int(rnd*100)+1??梢苑謩e用1、2、3、4表示、,則表達(dá)式為int(rnd*
55、4+1)。(2)界面設(shè)計(jì)界面上放置一個(gè)標(biāo)簽、一個(gè)文本框、兩個(gè)按鈕和一個(gè)圖片框。(3)屬性設(shè)置 各控件的屬性設(shè)置見表5.8。 5.2 實(shí)訓(xùn)案例 控 件 名CaptionTextFontBorderStyleText1空白粗體14號(hào)默認(rèn)(1)Label1空白粗體14號(hào)0Picture1粗體14號(hào)Command1確定粗體14號(hào)Command2計(jì)分粗體14號(hào)表5.8 例5.7的屬性設(shè)置 (4)編寫代碼Dim Swrong, Sright, Result, SexpPrivate Sub Form_Load()Dim Sdata1, Sdata2, Op, NopSdata1 = Int(100 * R
56、nd) + 1 :Sdata2 = Int(100 * Rnd) + 1Nop = Int(4 * Rnd) + 1Select Case NopCase 1Op = + : Result = Sdata1 + Sdata2Case 2Op = : Result = Sdata1 Sdata2Case 3Op = : Result = Sdata1 * Sdata2Case 4Op = : Result = Sdata1 / Sdata2End SelectSexp = Sdata1 & Op & Sdata2 & = : Label1.Caption = SexpEnd SubPrivate
57、 Sub Command1_Click() If Val(Text1) = Result Then Picture1.Print Sexp; Text1; Tab(15); : Sright = Sright + 1 Else Picture1.Print Sexp; Text1; Tab(15); : Swrong = Swrong + 1End IfText1 = : Form_Load : Text1.SetFocusEnd SubPrivate Sub Command2_Click() Picture1.Print - Picture1.Print “一共計(jì)算” & Sright + Swrong & “道題”; “得分為” & Int(Sright / (Swrong + Sright) * 100) End Sub 5.3.1 順序、選擇、循環(huán)結(jié)構(gòu)程序設(shè)計(jì)及控件的使用 1實(shí)驗(yàn)?zāi)康?掌握控件的屬性的設(shè)置方法。 練習(xí)使用循環(huán)和分支語句,以及對(duì)控件事件處理代碼的編寫。2實(shí)驗(yàn)內(nèi)容1)數(shù)的運(yùn)算 創(chuàng)建如圖5.6所示的窗體。 單擊“查找”按
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- LY/T 3418-2024林草電子公文處理流程及系統(tǒng)運(yùn)行管理規(guī)范
- 四年級(jí)數(shù)學(xué)上聽評(píng)課記錄
- 湘教版數(shù)學(xué)七年級(jí)下冊(cè)3.2《提多項(xiàng)式公因式》聽評(píng)課記錄
- 生活保障信托協(xié)議書(2篇)
- 環(huán)保工程承包協(xié)議書
- 新版湘教版秋八年級(jí)數(shù)學(xué)上冊(cè)第三章實(shí)數(shù)課題實(shí)數(shù)的運(yùn)算和大小比較聽評(píng)課記錄
- 人教部編版七年級(jí)道德與法治上冊(cè):6.2《師生交往》聽課評(píng)課記錄1
- 湘教版數(shù)學(xué)七年級(jí)下冊(cè)《4.2 平移》聽評(píng)課記錄
- 浙教版數(shù)學(xué)七年級(jí)下冊(cè)《閱讀材料 楊輝三角與兩數(shù)和的乘方》聽評(píng)課記錄2
- 新北師大版小學(xué)數(shù)學(xué)一年級(jí)上冊(cè)《教室》聽評(píng)課記錄
- 初中 初一 數(shù)學(xué) 絕對(duì)值 課件
- 中國(guó)律師學(xué)完整版課件全套教學(xué)ppt教程
- 守紀(jì)律講衛(wèi)生懂禮儀
- 腦控受害者解救方法
- 全國(guó)“創(chuàng)新杯”說課大賽計(jì)算機(jī)應(yīng)用基礎(chǔ)類優(yōu)秀作品-:處理數(shù)據(jù)說課課件(35頁(yè)P(yáng)PT)
- 滁州市城市規(guī)劃管理技術(shù)規(guī)定
- 保理業(yè)務(wù)解決方案
- 圖紙會(huì)審答疑
- PCCP安裝與水壓試驗(yàn)
- 招標(biāo)工作手冊(cè)
- 信訪事項(xiàng)聽證程序流程圖
評(píng)論
0/150
提交評(píng)論