




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、以事件驅(qū)動(dòng)應(yīng)用程序的工作方式 下面是事件驅(qū)動(dòng)應(yīng)用程序中的典型工作方式:1、啟動(dòng)應(yīng)用程序,裝載和顯示窗體。2、窗體(或窗體上的控件)接收事件。事件可由用戶引發(fā)(例如通過(guò)鍵盤(pán)或鼠標(biāo)操作),可由系統(tǒng)引發(fā)(例如定時(shí)器事件),也可由代碼間接引發(fā)(例如當(dāng)代碼裝載窗體時(shí)的Load事件)。3、如果在相應(yīng)的事件過(guò)程中已編寫(xiě)了相應(yīng)的程序代碼,就執(zhí)行該代碼。4、應(yīng)用程序等待下一次事件。1.對(duì)象 是基本的運(yùn)行時(shí)的實(shí)體,如窗體、各種控件等,它包括對(duì)象的行為(方法)和對(duì)象的響應(yīng)(事件)。 將數(shù)據(jù)和處理這些數(shù)據(jù)的過(guò)程封裝在一起.2.類 是一個(gè)抽象的整體概念 ,對(duì)象是類的實(shí)例化。3. 對(duì)象的命名 每一個(gè)對(duì)象都有自己的名字。每
2、個(gè)窗體、控件對(duì)象在建立時(shí)VB系統(tǒng)給出了一個(gè)默認(rèn)名。用戶可通過(guò)屬性窗口設(shè)置(名稱)來(lái)給對(duì)象命名。命名的原則: (1)必須由字母或漢字開(kāi)頭、隨后可以是字母、漢字、數(shù)字、下劃線(最好不用)串組成。 (2)長(zhǎng)度<=255個(gè)字符。(二)對(duì)象的三要素 1.屬性 對(duì)象 . 屬性 = 屬性值 對(duì)象的性質(zhì),即用來(lái)描述和反映對(duì)象特征的參數(shù)。 2.事件 對(duì)象名_事件 ( 參數(shù)名表 ) 響應(yīng)對(duì)象的動(dòng)作稱為事件,它發(fā)生在用戶與應(yīng)用程序交互時(shí)。如單擊控件、鼠標(biāo)移動(dòng)、鍵盤(pán)按下等。 3.方法 對(duì)象 . 方法 參數(shù)名表 對(duì)象的行為,即將一些通用的過(guò)程編寫(xiě)好并封裝起來(lái),作為方法供用戶直接調(diào)用。設(shè)計(jì)模式:可進(jìn)行界面的設(shè)計(jì)和代
3、碼的編制。 用戶可以設(shè)計(jì)窗體、繪制控件、編寫(xiě)代碼并使用“屬性”窗口來(lái)設(shè)置或查看屬性設(shè)置值。運(yùn)行模式:運(yùn)行應(yīng)用程序,不可編輯代碼和界面。 用戶可與應(yīng)用程序交流??刹榭创a,但不能改動(dòng)它。 中斷模式:應(yīng)用程序運(yùn)行暫時(shí)中斷,可編輯代碼,不可編輯界面。 用戶可查看各變量及不是屬性的當(dāng)前值,從而了解程序執(zhí)行是否正常。還可以修改程序代碼,檢查、調(diào)試、重置、單步執(zhí)行或繼續(xù)執(zhí)行程序。工程文件(.vbp):該工程所有文件和對(duì)象的清單窗體文件(.frm):窗體及控件的屬性設(shè)置、窗體級(jí)常量、變量的聲明,事件過(guò)程和自定義過(guò)程窗體的二進(jìn)制數(shù)據(jù)文件(.frx):如果窗體上控件的數(shù)據(jù)屬性含有二 進(jìn)制屬性(例如圖片或圖標(biāo)),
4、當(dāng)保存窗體文件時(shí),自動(dòng)產(chǎn)生同名.frx文件。標(biāo)準(zhǔn)模塊文件(.bas)類模塊的文件(.cls)資源文件(.res)ActiveX控件的文件(.ocx)一)編碼規(guī)則1VB代碼中不區(qū)分字母的大小寫(xiě)。2在同一行上可以書(shū)寫(xiě)多條語(yǔ)句,但語(yǔ)句間要用冒號(hào)“:”分隔。3若一個(gè)語(yǔ)句行不能寫(xiě)下全部語(yǔ)句,或在特別需要時(shí),可以換行。換行時(shí)需在本行后加入續(xù)行符,1個(gè)空格加下劃線“_”。4一行最多允許255個(gè)字符。 5注釋以Rem開(kāi)頭,也可以使用單引號(hào)“”,注釋內(nèi)容可直接出現(xiàn)在語(yǔ)句的后面。 數(shù)值(Numeric)數(shù)據(jù)類型(1)整型(Integer):表示-32768至32767之間的整數(shù) 例如:10% 110% 20%(2
5、)長(zhǎng)整型(Long): 表示-2,147,483,648至2,147,483,647之間的整數(shù) 例如:長(zhǎng)整型常數(shù)的書(shū)寫(xiě): 23& (3) 單精度實(shí)型(Single):有效數(shù)為7位 表示-3.37E+38至3.37E+38之間的實(shí)數(shù) 例如:常數(shù)的表示: 3.14! 35! 3e8!(4)雙精度實(shí)型(Double):有效數(shù)為15位 表示-1.67E+308至1.67E+308之間的實(shí)數(shù) 例如:常數(shù)的表示: 3.14# 3e8# (5)貨幣型(Currency):定點(diǎn)實(shí)數(shù) 保留小數(shù)點(diǎn)后4位,小數(shù)點(diǎn)左邊最多能有15位數(shù)。 例如:常數(shù)的表示: 3.14 1234(6)字節(jié)型(Byte) 存儲(chǔ)二進(jìn)
6、制數(shù)。2、日期(Date)數(shù)據(jù)類型Date型按8個(gè)字節(jié)的浮點(diǎn)數(shù)來(lái)存儲(chǔ),日期:100年1月1日至9999年12月31日 時(shí)間:0:00:00到23:59:59 日期和時(shí)間字符只要用號(hào)碼符“#”括起來(lái),都可以作為日期型數(shù)值。例:#5/12/98#、#January 1,1997#。3、邏輯(Boolean)數(shù)據(jù)類型:只有兩個(gè)值True,或False。將邏輯數(shù)據(jù)轉(zhuǎn)換成整型時(shí):True為-1,F(xiàn)alse為0;其它數(shù)據(jù)轉(zhuǎn)換成邏輯數(shù)據(jù)時(shí):非0為T(mén)rue, 0為False。4、字符串(String)數(shù)據(jù)類型: 有兩種字符串:定長(zhǎng)字符串和變長(zhǎng)字符串 字符串中每個(gè)字符占一字節(jié),以儲(chǔ)存065,535個(gè)字符,5、對(duì)
7、象(Object)數(shù)據(jù)類型: Object變量通過(guò)32位(4個(gè)字節(jié))地址來(lái)存儲(chǔ)。6、用戶自定義類型: 7、變體(Variant)數(shù)據(jù)類型: 是一種通用的、可變的數(shù)據(jù)類型。 Dim a as Variant也是所有未定義的變量的缺省類型定義。變量:在程序運(yùn)行中其存儲(chǔ)的值可以改變。常量:在程序運(yùn)行中其值不可以改變。1、 常量1).直接常量(普通常量) 前面介紹的各種類型的常數(shù)值,如整型、長(zhǎng)整型、單精度浮點(diǎn)數(shù)、雙精度浮點(diǎn)數(shù)等等。八進(jìn)制常數(shù)形式:數(shù)前面+&O 如:&O305 &O743十六進(jìn)制常數(shù)形式:數(shù)前面+&H 如: &H43abc2). 用戶聲明常量(符號(hào)
8、常量) 形式: Const 常量名 AS 類型 = 表達(dá)式 省略 AS 類型 ,常量的類型由表達(dá)式值的類型決定 為使與變量名區(qū)分,一般常量名使用大寫(xiě)字母 例 Const MAX=100 3). 系統(tǒng)提供的常量 系統(tǒng)定義常量位于對(duì)象庫(kù)中,可通過(guò)“對(duì)象瀏覽器”查看. 例: vbNormal vbMinimized、vbbCrLf等2、變量1).變量和常量的命名規(guī)則(1).以字母或漢字開(kāi)頭,后可跟漢字、字母、數(shù)字或下劃線組成,長(zhǎng)度小于等于255個(gè)字符;(2).不要使用VB中的關(guān)鍵字;(3).VB中不區(qū)分變量名的大小寫(xiě).(4).為了增加程序的可讀性,可在變量名前加一個(gè)縮寫(xiě)的前綴來(lái)表明該變量的數(shù)據(jù)類型。
9、例如:strAbc(字符串變量) iCount(整型變量) dblx(雙精度變量) sYz(單精度變量)2).變量聲明(1).用Dim語(yǔ)句顯式聲明變量 形式 : Dim 變量名 AS 類型 Dim 變量名類型符 例 Dim iCount As integer , sAllsum As single 等價(jià)于 Dim iCount%, sAllsum! 例 Dim str1 As String Dim str2 As Srting*50(2)隱式聲明 未進(jìn)行上述的聲明而直接使用的變量,其類型為 Variant 類型 建議不使用。容易出現(xiàn)變量名寫(xiě)錯(cuò)的情況,這樣的話,會(huì)產(chǎn)生一個(gè)新的變量。注意: 在通用
10、聲明處加 Option Explicit 語(yǔ)句來(lái)強(qiáng)制顯式聲明變量。例 Dim a,b,c As integer 該語(yǔ)句聲明了C為整型,A,B則為Variant類型(一) 運(yùn)算符 1. 算術(shù)運(yùn)算符 例:5+10 mod 10 9 / 3 +2 2 結(jié)果:102. 字符串運(yùn)算符 、+ 字符串連接 " 123 " + " 456 " 結(jié)果 " 123456 " " 123 " & " 456 " 結(jié)果 " 123456 " 作為字符串運(yùn)算符: + 兩邊必須是字符串, &am
11、p; 不一定 例如: " abcdef " + 12345 '出錯(cuò) "abcdef" & 12345 ' 結(jié)果為 "abcdef12345 " " 123 " + 456 ' 結(jié)果為 579 " 123 " & 456 ' 結(jié)果為 "123456 "3關(guān)系運(yùn)算符 將兩個(gè)操作數(shù)進(jìn)行大小比較,結(jié)果為邏輯量。 字符串比較,則按字符的ASCII碼值從左到右一一比較,直到出現(xiàn)不同的字符為止.。 例: " ABCDE "
12、 > " ABRA " 結(jié)果為 False 漢字字符大于西文字符 關(guān)系運(yùn)算符的優(yōu)先級(jí)相同4. 邏輯運(yùn)算符 將操作數(shù)進(jìn)行邏輯運(yùn)算,結(jié)果是邏輯值說(shuō)明: 若操作數(shù)是數(shù)值型,則按數(shù)值的二進(jìn)制值逐位進(jìn)行邏輯運(yùn)算。以非為真(True),為(False)。 (1) And運(yùn)算符常用于屏蔽某些位。 如取c1變量中的最后3位的邏輯運(yùn)算: c1 And 7 (取出變量c1中的低位) (2) Or 運(yùn)算常用把某些位置。 c1 Or 7 (變量c1的最后3位置) (二) 表達(dá)式 1. 組成 變量、常量、函數(shù)、運(yùn)算符和圓括號(hào) 2.書(shū)寫(xiě)規(guī)則 (1)乘號(hào)不能省略。例x 乘以y 應(yīng)寫(xiě)成:x * y
13、(2)括號(hào)必須成對(duì)出現(xiàn),均使用圓括號(hào)。 (3)表達(dá)式從左到右在同一基準(zhǔn)上書(shū)寫(xiě),無(wú)高低、大小3. 不同數(shù)據(jù)類型的轉(zhuǎn)換 運(yùn)算結(jié)果的數(shù)據(jù)類型向精度高的數(shù)據(jù)類型靠. Integer<Long<Single<Double<Currency 例如:25+3.14*2+3.5# 結(jié)果為 雙精度實(shí)型 4. 優(yōu)先級(jí) 算術(shù)運(yùn)算符>字符運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算 例:設(shè) a = 1,b = 3,c = 3.5,求:1 + b > c And b 2 = a b & 5 - a例:表示算術(shù)表達(dá)式:3x7 正確的VB表達(dá)式: 3<=x And x <
14、=7 錯(cuò)誤的VB表達(dá)式: 3<=x<=7 或 3<=x Or x<=7 七、常用內(nèi)部函數(shù)VB提供了上百種內(nèi)部函數(shù)(庫(kù)函數(shù)),要求掌握這些常用函數(shù)的功能及使用。 調(diào)用方法: 函數(shù)名(參數(shù)列表) 有參函數(shù) 函名 無(wú)參函數(shù)說(shuō)明: (1) 使用庫(kù)函數(shù)要注意參數(shù)的個(gè)數(shù)及其參數(shù)的數(shù)據(jù)類型(2) 要注意函數(shù)的定義域(自變量或參數(shù)的取值范圍) 例如: sqr(x) 要求: x>=0(3) 要注意函數(shù)的值域。 1. 數(shù)學(xué)函數(shù) Abs(N) Cos(N) Sin(N) Exp(N) Log(N) Sqr(N) Rnd(N) Sgn(N) (1) 在三角函數(shù)中的自變量是以弧度為單位。
15、如:sin30° sin(3.14159/180*30) (2) Rnd函數(shù)返回0 1(包括0和不包括1)之間的雙精度隨機(jī)數(shù)。 若要產(chǎn)生1-100的隨機(jī)整數(shù): Int(Rnd *100)+1 每次運(yùn)行時(shí),要產(chǎn)生不同序列的隨機(jī)數(shù),執(zhí)行Randomize 語(yǔ)句。 使用形式: Randomize number number 是隨機(jī)數(shù)生成器的種子值,如果省略,系統(tǒng)將計(jì)時(shí)器返回的值作為新的種子值。2. 轉(zhuǎn)換函數(shù) (1)要區(qū)別兩個(gè)取整函數(shù)int()和fix() Fix(N)為截?cái)嗳≌?,即去掉小?shù)后的數(shù)。 Int(N)不大于N的最大整數(shù)。 N>0與int(N) 相同,當(dāng)N<0時(shí), in
16、t(N) 與fix(N) -1相等。 例如: Fix(9.59) =9, Fix(-9.59) = -9Int(9.59) =9, Int(-9.59) = -10 思考:如何實(shí)現(xiàn)四舍五入取整?(2)Asc(“Abcd”) 值為: 65 (只取首字母的Ascii值)(3)Val(“abc123”) 值為:0 , Val(“1.2sa10”) 值為1.2(4)Chr(65) 值為:“A” Chr(13) 回車(chē)符(5)Str(65) 值為:“ 65” Str(-256.65000) 值為 "-256.65"3. 字符串操作函數(shù)len(“This is a book!”)15Le
17、ft$(“ABCDEFG”,3) "ABC"Mid$("ABCDEFG",2,3) "BCD“Ucase("ABcd") "ABCD" Trim(" Abcd ") "ABcd" RTrim(" Abcd ") " ABcd" String(5, "A" ) "AAAAA" 4. 日期函數(shù) Time( ) Date( ) Now Year( ) Month( ) Day( )5.格式輸出
18、函數(shù)功能:按用戶指定格式返回表達(dá)式,常常用在print方法中。使用形式:print Format$(表達(dá)式,“格式字符串”) 表達(dá)式:可以是數(shù)值、日期或字符串型表達(dá)式。 格式字符串:表示輸出表達(dá)式時(shí)采用的輸出格式。不同數(shù)據(jù)類型所采用的格式字符串是不同的。 (1)數(shù)值型數(shù)據(jù)格式 注意:對(duì)于符號(hào):0與#,當(dāng)數(shù)值的實(shí)際位數(shù)比格式控制給定的位數(shù)多時(shí),系統(tǒng)將按四舍五入返回給定的位數(shù)。 如:Format(3.14159, “#.#”), 其值為 3.142 (2)日期和時(shí)間型數(shù)據(jù)格式化 缺省日期格式為:“mm/dd/yy”, 時(shí)間格式:“hh:mm:ss” (3)字符串類型數(shù)據(jù)格式化6. Shell函數(shù)在
19、VB中,可以調(diào)用在DOS下或Windows下運(yùn)行的應(yīng)用程序。調(diào)用形式: Shell(命令字符串,窗口類型)說(shuō)明: 執(zhí)行一個(gè)可執(zhí)行文件,返回一個(gè) Variant (Double),如果成功的話,代表這個(gè)程序的任務(wù) ID,它是一個(gè)唯一的數(shù)值,用來(lái)指明正在運(yùn)行的程序。若不成功,則會(huì)返回 0。命令字符串:要執(zhí)行的應(yīng)用程序名,包括盤(pán)符、路徑,它 必須是可執(zhí)行的文件。窗口類型: 為整型值,表示執(zhí)行應(yīng)用的窗口大小。窗口類型參數(shù)有以下這些值:vbHide 0 窗口被隱藏vbNormalFocus 1 窗口具有焦點(diǎn),且會(huì)還原到它原來(lái)的大小和位置。vbMinimizedFocus 2 窗口會(huì)以一個(gè)具有焦點(diǎn)的圖標(biāo)來(lái)
20、顯示(最小化)。vbMaximizedFocus 3窗口是一個(gè)具有焦點(diǎn)的最大化窗口。vbNormalNoFocus 4窗口會(huì)被還原到最近使用的大小和位置,而當(dāng)前活動(dòng)的窗口仍然保持活動(dòng)。vbMinimizedNoFocus 6窗口會(huì)以一個(gè)圖標(biāo)來(lái)顯示(最小化),當(dāng)前活動(dòng)的窗口仍然保持活動(dòng)一、常用算法 算法是對(duì)某個(gè)問(wèn)題求解過(guò)程的描述 。1.累加2.累乘3.求最大值、最小值4.窮舉法5.求素?cái)?shù)6.遞推法3.求最大值、最小值在若干個(gè)數(shù)中求最大值,一般先假設(shè)一個(gè)較小的數(shù)為最大值的初值,若無(wú)法估計(jì)較小的值,則取第一個(gè)數(shù)為最大值的初值;然后將每一個(gè)數(shù)與最大值比較,若該數(shù)大于最大值,將該數(shù)替換為最大值;依次逐一
21、比較。例:隨機(jī)產(chǎn)生10個(gè)100200之間的整數(shù),求最大值。Private Sub Command1_Click() Max = 100 For i = 1 To 10 x = Int(Rnd * 101 + 100) Print x; If x > Max Then Max = x Next i Print Print "最大值=" MaxEnd Sub4.窮舉法 “窮舉法”也稱為“枚舉法”或“試湊法”, 即將可能出現(xiàn)的各種情況一一測(cè)試,判斷是否滿足條件,一般采用循環(huán)來(lái)實(shí)現(xiàn)。 例: 買(mǎi)飲料問(wèn)題。假定礦泉水每瓶1元,果汁每瓶1.5元,可樂(lè)每瓶2元?,F(xiàn)在有12元錢(qián)要求買(mǎi)8
22、瓶飲料,編程列出所有可能的采購(gòu)方案。 設(shè)礦泉水、果汁、可樂(lè)各為x、y、z瓶,根據(jù)題目要求, 列出方程為: x+y+z=8 x+1.5y+2z =12 三個(gè)未知數(shù),兩個(gè)方程,此題有若干個(gè)解。解決此類問(wèn)題采用“窮舉法”,把每一種情況都考慮到。 方法一:三個(gè)未知數(shù)利用三重循環(huán)來(lái)實(shí)現(xiàn)。 方法二:從三個(gè)未知數(shù)的關(guān)系,利用兩重循環(huán)來(lái)實(shí)現(xiàn)。5.求素?cái)?shù) 判別某數(shù)m是否為素?cái)?shù)最簡(jiǎn)單的方法是: 對(duì)于m 從i=2,3,m-1判別m能否被i整除,只要有一個(gè)能整除,m就不是素?cái)?shù),否則m是素?cái)?shù)。 求100以內(nèi)的素?cái)?shù) For m = 2 To 100For i = 2 To m - 1 If (m Mod i) = 0 T
23、hen GoTo NotNextM Next i Print m NotNextM: Next m常見(jiàn)錯(cuò)誤1. 不循環(huán)或死循環(huán)的問(wèn)題 主要是循環(huán)條件、循環(huán)初值、循環(huán)終值、循環(huán)步長(zhǎng)的設(shè)置有問(wèn)題。2循環(huán)結(jié)構(gòu)中缺少配對(duì)的結(jié)束語(yǔ)句 For 少 配對(duì)的Next 3.循環(huán)嵌套時(shí),內(nèi)外循環(huán)交叉4累加、累乘時(shí),存放累加、累乘結(jié)果的變量賦初值問(wèn)題 (1)一重循環(huán) 在一重循環(huán)中,存放累加、累乘結(jié)果的變量初值設(shè)置應(yīng)在循環(huán)語(yǔ)句前。(2)多重循環(huán) 這要視具體問(wèn)題分別對(duì)待。數(shù)組排序 對(duì)已知存放在數(shù)組中的n個(gè)數(shù)。(1)選擇法排序算法思想: 1)對(duì)有n個(gè)數(shù)的序列(存放在數(shù)組a(n)中),從中選出最?。ㄉ颍┗蜃畲螅ń敌颍┑臄?shù)
24、,與第1個(gè)數(shù)交換位置;2)除第1 個(gè)數(shù)外,其余n-1個(gè)數(shù)中選最小或最大的數(shù),與第2個(gè)數(shù)交換位置;3)依次類推,選擇了n-1次后,這個(gè)數(shù)列已按升序排列。選擇法排序(升序)的VB程序For i = 1 To n - 1 imin = i For j = i + 1 To n If a(j) < a(imin) Then imin = j Next j temp = a(i) a(i) = a(imin) a(imin) = tempNext i(2)冒泡法排序(遞增) 算法思想:(將相鄰兩個(gè)數(shù)比較,小的調(diào)到前頭)1)有n個(gè)數(shù)(存放在數(shù)組a(n)中),第一趟將每相鄰兩個(gè)數(shù)比較,小的調(diào)到前頭,經(jīng)
25、n-1次兩兩相鄰比較后,最大的數(shù)已“沉底”,放在最后一個(gè)位置,小數(shù)上升“浮起”;2)第二趟對(duì)余下的n-1個(gè)數(shù)(最大的數(shù)已“沉底”)按上法比較,經(jīng)n-2次兩兩相鄰比較后得次大的數(shù); 3)依次類推,n個(gè)數(shù)共進(jìn)行n-1趟比較,在第j趟中要進(jìn)行n-j次兩兩比較。冒泡法排序(升序)的VB程序:For i = 1 To n - 1 For j = 1 To n-i If a(j+1) < a(j) Then temp=a(j) a(j)=a(j+1) a(j+1)=temp End if Next jNext i三、查 找1、順序查找法(在一列數(shù)中查找某數(shù)x) 算法思想:一列數(shù)放在數(shù)組a(1)-a(
26、n)中,待查找的數(shù)放在x 中,把x與a數(shù)組中的元素從頭到尾一一進(jìn)行比較查找。Private Function Find( a( ) As Single,x!) As Integer Dim n%,p% Find=0 n=Ubound( a )For p=1 to n If x=a( p) Then Find=p : exit forNext pEnd Function 2、二分法查找(只能對(duì)有序數(shù)列進(jìn)行查找)算法思想:n個(gè)有序數(shù)存放在數(shù)組a(1) a(n)中,要查找的數(shù)為x。變量high,low,mid 分別表示查找范圍的頂部、底部和中間,mid=(high+low)2,若:(1)x=a(mi
27、d),則已找到退出,否則進(jìn)行下面的判斷;(2)x<a(mid),x必定落在low和mid-1的范圍之內(nèi), 即high=mid-1;(3)x>a(mid),x必定落在mid+1和high的范圍之內(nèi), low=mid+1;(4)在確定了新的查找范圍后,重復(fù)進(jìn)行以上比較,直到找到或者h(yuǎn)igh<=low。find = False '判斷是否找到邏輯變量 low = 1high = n n為數(shù)組下標(biāo)的上界Do While low <= high And Not find mid = (low + high) 2 If x = a(mid) Then find = True
28、 Print "the position is " mid ElseIf x < a(mid) Then high = mid - 1 Elselow = mid + 1 End IfLoop If (Not find) Then Print x; "has not found"單選按鈕(OptionButton)檢查框(CheckBox) 框架(Frame)定時(shí)器(Timer)滾動(dòng)條(ScrollBar)列表框(ListBox)ListBox 控件顯示項(xiàng)目列表,從其中可以選擇一項(xiàng)或多項(xiàng)。如果項(xiàng)目總數(shù)超過(guò)了可顯示的項(xiàng)目數(shù),就自動(dòng)在 ListBox
29、控件上添加滾動(dòng)條。List: 字符型數(shù)組,存放列表框的項(xiàng)目,下標(biāo)是從0開(kāi)始的。如:List(0)表示第一項(xiàng)(Listindex=0)的內(nèi)容ListIndex:選中的項(xiàng)目序號(hào),沒(méi)有項(xiàng)目選中時(shí)為-1ListCount:項(xiàng)目數(shù)量,ListCount-1是最后一項(xiàng)的下標(biāo)。Selected:邏輯數(shù)組,表示列表項(xiàng)選中狀況。Selected(i)的值為T(mén)rue表示第i+1項(xiàng)被選中,否則沒(méi)有選中。Text:被選中列表項(xiàng)的內(nèi)容,相當(dāng)于List(ListIndex) 。Sorted:True:按字母順序排列;False:按加入先后順序排列MultiSelect:0-None:禁止多項(xiàng)選擇;1-Simple:簡(jiǎn)單多
30、項(xiàng)選擇;2-Extended:擴(kuò)展多項(xiàng)選擇。(二)、方法AddItem 把一個(gè)項(xiàng)目(字符串)加入列表框。 使用形式: 對(duì)象.AddItem item , index其中 : item: 為字符串表達(dá)式,表示要加入的項(xiàng)目。 index:決定新增項(xiàng)目的位置,缺省則添加在最后RemoveItem 刪除列表框中一個(gè)項(xiàng)目。 使用形式: 對(duì)象.RemoveItem index 其中:index為被刪除項(xiàng)目在列表中的位置。首項(xiàng)為0Clear 清除列表框中的所有內(nèi)容。 使用形式 對(duì)象.Clear注意:“對(duì)象”可以是列表框、組合框。實(shí)例5: 在列表框中添加、刪除、修改所選課程。(三)、事件 Click 、 Db
31、lClick組合框(ComboBox)ComboBox 控件是由 TextBox 控件和 ListBox 控件的特性結(jié)合在一起的控件。 1、屬性 :具有列表框和文本框的大部分屬性。 Style屬性決定組合框三種不同的風(fēng)格:窗 體(Form)(一)、屬性 Name,Height,Width,Top,Left,Enabled,Visible,Font, ForeColor,BackColor, Picture和Icon等。二)、方法 常用的方法有Print、Cls、Move、Hide、Show。三)、事件Click/DblClick: 單擊/雙擊窗體觸發(fā)。 Load: 窗體被裝入時(shí)觸發(fā)的事件。該事
32、件通常用來(lái)在啟動(dòng)應(yīng)用程序時(shí)對(duì)屬性和變量進(jìn)行初始化。1. 單選按鈕(OptionButton):必須成組出現(xiàn),用戶只能選擇其中的一項(xiàng);2. 復(fù)選框(CheckBox)又稱檢查框 :顯示多項(xiàng)選擇,用戶可選擇其中的一項(xiàng)或多項(xiàng);重要區(qū)別:在選擇一個(gè)單選鈕時(shí),同組中的其它單選鈕控件自動(dòng)無(wú)效。相反,可以選擇任意數(shù)量的 CheckBox 控件。(1)基本屬性 Name、Width、Height、Top、Left、ForeColor、BackColor、Enabled、Visible和Index等。(2)其他屬性Caption:設(shè)置單選按鈕或復(fù)選框的文本注釋內(nèi)容。Value :?jiǎn)芜x按鈕(邏輯值) True:
33、單選鈕被選定False: 單選鈕未被選定 缺省設(shè)置檢查框(整型值)0-Unchecked:未被選定 1-Checked: 選定 2-Grayed: 灰色(二)、事件 Click(一般不需要Click事件過(guò)程,單擊時(shí)自動(dòng)改變狀態(tài))三、框 架(Frame)框架內(nèi)控件的創(chuàng)建方法: 方法1:?jiǎn)螕艄ぞ呦渖系墓ぞ?,然后用出現(xiàn)的“+”指針,在框架中適當(dāng)位置拖拉出適當(dāng)大小的控件。不能使用雙擊工具箱上工具的自動(dòng)方式。方法2:將控件“剪切”(Ctrl+X)到剪貼板,然后選中框架,使用 (Ctrl+V)命令粘貼到框架內(nèi) (1)基本屬性: Name、Width、Height、Top、Left、ForeColor、Fo
34、nt、Enabled和Visible等。(2)其他屬性:Caption:框架標(biāo)題Enabled:缺省為T(mén)rue,若False:標(biāo)題呈灰色,不允許對(duì)框架內(nèi)的所有對(duì)象進(jìn)行操作。Visible:設(shè)置影響框架內(nèi)的所有對(duì)象2、事件框架可以響應(yīng)的事件Click、DblClick一般不需要有關(guān)框架的事件過(guò)程。 四、定時(shí)器(Timer) 定時(shí)器(Timer)能有規(guī)律地以Interval為時(shí)間間隔激發(fā)計(jì)時(shí)器事件Timer事件,從而執(zhí)行相應(yīng)的程序代碼。1、屬性Interval 屬性:時(shí)間間隔屬性,它表示兩個(gè)計(jì)時(shí)器事件之間的時(shí)間間隔。單位:ms(0.001s),介間0 64767ms, 500是半秒, 1000 是
35、1秒。Interval0:屏蔽計(jì)時(shí)器。Enabled 屬性:True:有效計(jì)時(shí),F(xiàn)alse:停止時(shí)鐘工作2、事件:時(shí)鐘控件只有一個(gè)Timer事件。五、滾動(dòng)條 (ScrollBar)(1)基本屬性:Name、Width、Height、Top、Left、Enabled和Visible等。(2)其他屬性: Max:最大值 -32,76832,767 默認(rèn) 32767 Min:最小值 -32,76832,767 默認(rèn) 0 SmallChange:最小變動(dòng)值,單擊箭頭時(shí)的移動(dòng)量。 LargeChange:最大變動(dòng)值,單擊空白處的移動(dòng)量。 Value :返回或設(shè)置滑塊所處位置所代表的值。(二)、事件 Sc
36、roll:拖動(dòng)滑塊時(shí)會(huì)觸發(fā)Scroll事件。 Change:Value屬性改變時(shí)觸發(fā)Change事件。八、控件數(shù)組1.控件數(shù)組的概念 一組相同類型的控件組成。 它們共用一個(gè)控件名,具有相同的屬性,建立時(shí)系統(tǒng)給每個(gè)元素賦一個(gè)唯一的索引號(hào)(Index)。 控件數(shù)組共享同樣的事件過(guò)程,通過(guò)返回的下標(biāo)值區(qū)分控件數(shù)組中的各個(gè)元素。 Private Sub cmdName _Click(Index As Integer) If Index=3 then 處理第四個(gè)命令按鈕的操作 End If End Sub九、標(biāo)簽 Label 用于顯示文本(輸出)信息,不能作為輸入信息的界面。 最常用屬性 Name,Ca
37、ption,Height,Width,Top,Left,Enabled,Visible,FontName,FontBold,FontItalic,FontUnderline, Alignment,Autosize 和BorderStyle等 事件 單擊(Click)雙擊(DblClick)改變(Change)十、文本框 TextBox 是一個(gè)文本編輯區(qū)域,可在該區(qū)域輸入,編輯和顯示正文內(nèi)容。1. 屬性(1)基本屬性Name,Height,Width,Top,Left,Enabled,Visible,FontName,FontBold,FontItalic,FontUnderline,Align
38、ment,和BorderStyle等(2)Text 文本屬性(文本框沒(méi)有Caption屬性)在文本框中顯示的正文內(nèi)容存放在Text屬性中。當(dāng)程序運(yùn)行時(shí),用戶通過(guò)鍵盤(pán)輸入正文內(nèi)容,保存在Text屬性中。 (3)其他屬性Maxlength: 正文的最多字符個(gè)數(shù),0為任意長(zhǎng)度MultiLine: 是否為多行,默認(rèn)一行. False ScrollBars: 滾動(dòng)條的形式當(dāng)MultiLine為T(mén)rue時(shí),該屬性才有效, 0-None:無(wú)滾動(dòng)條、1-Horizontal:水平滾動(dòng)條、 2-Vertical垂直滾動(dòng)條、3-Both水平和垂直滾動(dòng)條。 Locked: 是否可被編輯屬性,F(xiàn)alse,表示為可編輯
39、。PasswordChar:作為密碼框時(shí),顯示的字符。2.常用事件 Change :當(dāng)改變文本框的Text屬性時(shí)會(huì)引發(fā)該事件。當(dāng)用輸入一個(gè)字符,就會(huì)觸發(fā)一次Change事件。 KeyPress(KeyAscii As Integer):當(dāng)用戶按下并釋放鍵盤(pán)上一個(gè)ANSI鍵時(shí),就會(huì)觸發(fā)一次該事件,并傳遞一個(gè)KeyAscii參數(shù)(字符的Ascii值) LostFocus : 當(dāng)控件失去焦點(diǎn)時(shí)發(fā)生。 GotFocus : 當(dāng)控件獲得焦點(diǎn)時(shí)發(fā)生。3. 常用方法 文本框最有用的方法是:SetFocus使用形式: 對(duì)象.SetFocus功能: 是把光標(biāo)移到指定的文本框?qū)ο笾小J?、命令按鈕CommandB
40、utton接受用戶輸入的命令.輸入命令可以有三種方式: (1)鼠標(biāo)單擊; (2)按Tab鍵焦點(diǎn)跳轉(zhuǎn)到該按鈕, 再按回車(chē)鍵; (3) 快捷鍵(Alt+有下劃線的字母) 1. 屬性 (1)基本屬性 Name,Height,Width,Top,Left,Enabled,Visible, FontName,FontBold,FontItalic,FontUnderline,Alignment,和BorderStyle等 (2)其它屬性 Caption: 標(biāo)題屬性命令按鈕顯示的內(nèi)容,可在某字母前加“&“設(shè)置快捷鍵。 例如: &Ok ,顯示 Ok2. 事件: 單擊事件ClickPictur
41、e : 按鈕可顯示圖片文件(.bmp和.Ico),只有當(dāng)Style屬性值設(shè) 為1時(shí)有效Style : 顯示形式: 0 只能顯示文字, 1 文字、圖形均可 。ToolTipText :設(shè)置工具提示,和Picture結(jié)合使用。Private Sub Command1_Click()順序結(jié)構(gòu)賦值語(yǔ)句、輸入輸出語(yǔ)句分支結(jié)構(gòu)單分支結(jié)構(gòu)(if then) 雙分支結(jié)構(gòu)(if then else) 多分之結(jié)構(gòu)循環(huán)結(jié)構(gòu)do loop、for .next while .wendEnd Sub在VB6.0中,除了系統(tǒng)提供的內(nèi)部函數(shù)過(guò)程和事件過(guò)程外,用戶可自定義下列四種過(guò)程: “Sub”保留字開(kāi)始的為子過(guò)程 “Fun
42、ction”保留字開(kāi)始的為函數(shù)過(guò)程子過(guò)程和函數(shù)過(guò)程的區(qū)別: 函數(shù)過(guò)程有返回值, 而子過(guò)程無(wú)返回值。StaticPublic|PrivateSub 子過(guò)程名(參數(shù)列表)局部變量或常數(shù)定義StaticPublic|PrivateFunction 函數(shù)過(guò)程名(參數(shù)列表) As 類型局部變量或常數(shù)定義2函數(shù)過(guò)程的定義 自定義函數(shù)過(guò)程有兩種方法: (1)利用“工具”菜單下的“添加過(guò)程”命令定義,生成一個(gè)函數(shù)的框架 (2)利用代碼窗口直接定義 函數(shù)過(guò)程形式: Function 函數(shù)過(guò)程名(參數(shù)列表) As 類型局部變量或常數(shù)定義 語(yǔ)句塊 函數(shù)名 = 返回值 函數(shù)過(guò)程體 Exit Function 語(yǔ)句塊
43、函數(shù)名 = 返回值 End Function函數(shù)過(guò)程名:命名規(guī)則同變量名 參數(shù)列表形式: ByVal變量名()As 類型 稱為形參或啞元,僅表示參數(shù)的個(gè)數(shù)、類型,無(wú)值。 函數(shù)名 = 返回值 在函數(shù)體內(nèi)至少對(duì)函數(shù)名賦值一次 Exit Function :表示退出函數(shù)過(guò)程1 子過(guò)程的調(diào)用: 子過(guò)程名 參數(shù)列表 或 Call 子過(guò)程名(參數(shù)列表) 2 函數(shù)過(guò)程的調(diào)用: 變量名 = 函數(shù)過(guò)程名(參數(shù)列表)參數(shù)列表稱為實(shí)參或?qū)嵲?,它必須與形參保持個(gè)數(shù)相同,位置與類型一一對(duì)應(yīng)。(三)參數(shù)傳遞 指主調(diào)過(guò)程的實(shí)參傳遞給被調(diào)過(guò)程的形參。1. 傳地址與傳值 傳地址: 形參得到的是實(shí)參的地址,當(dāng)形參值的改變同時(shí)也改
44、變實(shí)參的值。 傳值: 形參得到的是實(shí)參的值,形參值的改變不會(huì)影響實(shí)參的值。Sub Swap1(ByVal x%, ByVal y%) t% = x: x = y: y = tEnd SubSub Swap2(x%, y%) t% = x: x = y: y = tEnd Sub傳地址(形參前有ByRef說(shuō)明)實(shí)參的值隨形參值的改變而改變Private Sub Command2_Click() a% = 10 b% = 20 Swap2 a, bEnd Sub Sub Swap2(x%, y%)t% = x: x = y: y = tEnd SubSub SS(ByVal X%, ByRef Y
45、%, Z%)X = X + 1 Y = Y + 1 Z = Z + 1 End SubPrivate Sub Command1_Click()Dim A%, B%, C%A = 1 B = 2 C = 3 Call SS(A, B, C)Print A; B; CEnd Sub 1 3 4當(dāng)參數(shù)是數(shù)組時(shí),是通過(guò)傳地址方式進(jìn)行傳遞的使用過(guò)程注意事項(xiàng):1. 確定自定義的過(guò)程是子過(guò)程還是函數(shù)過(guò)程 函數(shù)過(guò)程名有值,子過(guò)程名無(wú)值。2過(guò)程中形參的個(gè)數(shù)和傳遞方式的確定 過(guò)程中參數(shù)的作用是實(shí)現(xiàn)過(guò)程與調(diào)用者的數(shù)據(jù)通信。 (1)從主調(diào)程序獲得初值,值傳遞。 (2)將結(jié)果返回給主調(diào)程序,地址傳遞。3. 實(shí)參與形參結(jié)
46、合時(shí)對(duì)應(yīng)問(wèn)題 個(gè)數(shù)、類型、位置、次序一一對(duì)應(yīng)。 形參是值傳遞,對(duì)應(yīng)實(shí)參可以是表達(dá)式、常量、數(shù)組元素。 形參是地址傳遞,對(duì)應(yīng)實(shí)參只能是簡(jiǎn)單變量。 數(shù)組、記錄類型、對(duì)象只能是地址傳遞。三、變量、過(guò)程的作用域.作用域:變量、過(guò)程可被訪問(wèn)的范圍。它隨所處的位置不同而不同。(一) 過(guò)程的作用域 過(guò)程可被訪問(wèn),起作用的范圍窗體/模塊級(jí):加 Private 關(guān)鍵字的過(guò)程,只能被定義的窗體或模塊中的過(guò)程調(diào)用。全局級(jí):加 Public 關(guān)鍵字(或缺?。┑倪^(guò)程,可供該應(yīng)用程序的所有窗體和所有標(biāo)準(zhǔn)模塊中的過(guò)程調(diào)用。(二)變量的作用域在VB中,根據(jù)定義變量的位置和定義變量的語(yǔ)句不同,變量可以分為:局部變量(過(guò)程級(jí)變量
47、,只能在本過(guò)程中使用)在過(guò)程內(nèi)用dim或static聲明窗體/模塊級(jí)變量(私有的模塊級(jí)變量,能被本模塊的所有過(guò)程和函數(shù)使用)在“通用”“聲明”段中用Dim或Private語(yǔ)句聲明變量全局級(jí)變量(公有的模塊級(jí)變量,即可被本應(yīng)用程序的任何過(guò)程或函數(shù)訪問(wèn)。)。在“通用”“聲明”段用Public關(guān)鍵字聲明例如在下面一個(gè)標(biāo)準(zhǔn)模塊文件中不同級(jí)的變量聲明:Public Pa As integer' 全局變量Private Mb As string *10' 窗體/模塊級(jí)變量Sub F1( ) Dim Fa As integer' 局部變量End SubSub F2( )Dim Fb
48、As Single' 局部變量End Sub若在不同級(jí)聲明相同的變量名,系統(tǒng)按 局部窗體/模塊全局Public Temp As integer' 全局變量 Sub Form_Load() Dim Temp As Integer' 局部變量 Temp=10' 訪問(wèn)局部變量 Form1.Temp=20' 訪問(wèn)全局變量必須 ' 加窗體名 Print Form1.Temp, Temp End Sub(三) 靜態(tài)變量局部變量聲明: Dim聲明:隨過(guò)程的調(diào)用而分配存貯單元,變量的初始化;過(guò)程體結(jié)束,變量的內(nèi)容自動(dòng)消失,存貯單元釋放。 Static聲明,每次調(diào)
49、用過(guò)程,變量保持上次調(diào)用結(jié)束時(shí)的值。 聲明形式:Static 變量名 AS 類型Static Function 函數(shù)過(guò)程名(參數(shù)列表) As 類型Static Sub 子過(guò)程名(參數(shù)列表)注意:過(guò)程名前加Static,表示該過(guò)程內(nèi)的局部變量都是靜態(tài)變量。Private Sub Form_Click() Dim i% ,x% For i = 1 To 5x = sum(i)Printx;”,”; Next i End SubPrivate Function sum(n As Integer) Dim j As Integer j = j + n sum = jEnd Function1,2,3,4,5Static j As Integer,結(jié)果?1, 3, 6, 10, 15Dim x% , y%,z%Private Sub Form_click() Dim x as integer x=1 y=2 Call
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 戰(zhàn)略合作委托代理運(yùn)輸合同
- 銷售代理合同模板
- 標(biāo)準(zhǔn)個(gè)人居間代理合同模板
- 超市兼職員工勞動(dòng)合同范本
- 智能家居定制合同
- 技術(shù)服務(wù)合同意向協(xié)議書(shū)
- 食品進(jìn)出口合同范本
- 家具維修與家庭生活習(xí)慣改變考核試卷
- 地震勘探儀器的采購(gòu)與供應(yīng)鏈管理策略考核試卷
- 木地板行業(yè)人力資源管理與培訓(xùn)考核試卷
- 生物產(chǎn)品檢驗(yàn)檢疫基礎(chǔ)知識(shí)單選題100道及答案
- 江蘇省中職《英語(yǔ)》學(xué)業(yè)水平考試備考試題集(含歷年真題)
- 2025年合伙型公司新合伙人加入?yún)f(xié)議
- 2025年安全員之C證(專職安全員)考試題庫(kù)
- 2025城市商鋪買(mǎi)賣(mài)合同書(shū)
- 2025年春新北師大版物理八年級(jí)下冊(cè)課件 第六章 質(zhì)量和密度 第一節(jié) 物體的質(zhì)量及其測(cè)量
- 2024全國(guó)各省高考詩(shī)歌鑒賞真題及解析
- 《價(jià)值觀培訓(xùn)》課件
- 《臨床科研思維》課件
- GA/T 761-2024停車(chē)庫(kù)(場(chǎng))安全管理系統(tǒng)技術(shù)要求
- 《設(shè)施節(jié)水灌溉技術(shù)》課件
評(píng)論
0/150
提交評(píng)論