VB總復(fù)習(xí)(2011年).ppt_第1頁(yè)
VB總復(fù)習(xí)(2011年).ppt_第2頁(yè)
VB總復(fù)習(xí)(2011年).ppt_第3頁(yè)
VB總復(fù)習(xí)(2011年).ppt_第4頁(yè)
VB總復(fù)習(xí)(2011年).ppt_第5頁(yè)
已閱讀5頁(yè),還剩123頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、VB程序設(shè)計(jì),總復(fù)習(xí),考試說(shuō)明,考試時(shí)間: 2011-7-7星期四 考試地點(diǎn): 考試形式: 閉卷考試(150分鐘),考試題型(筆試閉卷 60%) 1.選擇題 (40分) 2.填空題 (20分)包括程序及結(jié)果填空 3.判斷題 (10分) 4. 編程題(30分)編程題選自實(shí)驗(yàn)CF中的15題中,經(jīng)過(guò)小變動(dòng)而來(lái).以4.常用算法內(nèi)容為主,不考的章節(jié): 第5章:第5.4自定義類型及數(shù)組 第6章:第6.4 過(guò)程的嵌套和遞歸調(diào)用 第7.210章,4. 常用算法: (出現(xiàn)在填空題、判斷題、編程題中) 隨機(jī)數(shù)的生成! 累加、累乘、求平均值、排序 求最大值、求最小值、以及它們的位置 求素?cái)?shù)、求水仙花數(shù)、菲波納契數(shù)列

2、 求最大、最小公約數(shù)。 統(tǒng)計(jì)字符個(gè)數(shù)等,1.VB應(yīng)用程序(工程文件)的組織結(jié)構(gòu),VB應(yīng)用程序由三種模塊組成: 窗體模塊(Form) (文件擴(kuò)展名.frm) 標(biāo)準(zhǔn)模塊(Module) (文件擴(kuò)展名.bas) 類模塊(Class) (文件擴(kuò)展名.cls),關(guān)系:,第一、二章,1.3 VB集成開(kāi)發(fā)環(huán)境,工 具 箱,窗體設(shè)計(jì)窗口,屬性窗口,工程資源管理器 窗口,代碼窗口,菜 單 欄,工 具 欄,P5,1.3 創(chuàng)建應(yīng)用程序的過(guò)程,1、建立用戶界面的對(duì)象。 2、對(duì)象屬性的設(shè)置。 3、對(duì)象事件過(guò)程編程。 4、運(yùn)行與調(diào)試程序。 5、保存程序。,P13P15,7保存一個(gè)Visual Basic的應(yīng)用程序,應(yīng)當(dāng)保

3、存工程文件以及與工程有關(guān)的窗體或標(biāo)準(zhǔn)模塊等文件。(P16),6.程序的運(yùn)行及調(diào)試 (P16),5.Vb的工作狀態(tài)(三種模式:設(shè)計(jì)、運(yùn)行和 break) (P),8.生成可執(zhí)行文件 VB程序的執(zhí)行方式有兩種: 解釋方式 和 編譯方式 (P17),2.1 VB對(duì)象的概念,2.1.1 對(duì)象和類 對(duì)象指現(xiàn)實(shí)世界中的實(shí)體。 每個(gè)對(duì)象有自己的特征(屬性)、行為(方法)和發(fā)生在該對(duì)象上的活動(dòng)(事件)。,類是對(duì)同一種對(duì)象的集合與抽象。類是創(chuàng)建對(duì)象實(shí)例的模板,對(duì)象則是類的一個(gè)實(shí)例。 類包含所創(chuàng)建對(duì)象的屬性數(shù)據(jù),以及對(duì)這些數(shù)據(jù)進(jìn)行操作的方法。封裝和隱藏是類的重要特性,將數(shù)據(jù)結(jié)構(gòu)和對(duì)數(shù)據(jù)的操作封裝在一起,類的內(nèi)部實(shí)

4、現(xiàn)細(xì)節(jié)對(duì)用戶來(lái)說(shuō)是透明的。,VB中的類和對(duì)象,VB工具箱中的可視圖標(biāo)是VB系統(tǒng)設(shè)計(jì)好的標(biāo)準(zhǔn)控件類。 通過(guò)將控件類實(shí)例化,得到真正的控件對(duì)象。 實(shí)例化方法: 在窗體上畫(huà)一個(gè)控件,就將類轉(zhuǎn)換為對(duì)象,即創(chuàng)建了一個(gè)控件對(duì)象。,VB是一種面向?qū)ο蟮目梢暬绦蛟O(shè)計(jì)語(yǔ)言,采取了 _的編程機(jī)制。 P5特點(diǎn)(2) A) 事件驅(qū)動(dòng) B) 按照過(guò)程順序執(zhí)行 C) 從主程序開(kāi)始執(zhí)行 D) 按模塊順序執(zhí)行,練習(xí),2.假如一個(gè)Visual Basic 應(yīng)用程序由一個(gè)窗體模塊和一 個(gè)標(biāo)準(zhǔn)模塊構(gòu)成。為了保存該應(yīng)用程序,以下正確的操 作是_ 。P1617 A)只保存窗體模塊文件。 B)分別保存窗題模塊、標(biāo)準(zhǔn)模塊和工程文件。C)

5、只保存窗體模塊和標(biāo)準(zhǔn)模塊文件。 D)只保存工程文件。 D) 面向過(guò)程、順序驅(qū)動(dòng),A,B,3. 以下不屬于VB工作模式的是 _模式。 A)設(shè)計(jì) B)編譯 C)運(yùn)行 D)中斷,練習(xí),4.對(duì)象的三要素為_(kāi)、_、_,B,5. VB是一種面向?qū)ο蟮目梢暬绦蛟O(shè)計(jì)語(yǔ)言,采取 了_的編程機(jī)制 .,事件驅(qū)動(dòng),6.運(yùn)行程序時(shí),程序中的所有語(yǔ)句都要運(yùn)行一次或多次 ( )。,練習(xí),7. VB中的事件只能由用戶引發(fā)( )。,8.在VB中開(kāi)發(fā)每個(gè)應(yīng)用程序都被稱為工程,工程是組 成一個(gè)應(yīng)用程序的文件集合( )。,屬性 存放對(duì)象的數(shù)據(jù)(決定對(duì)象外觀及功能)。 對(duì)象屬性的設(shè)置方法: 設(shè)計(jì)階段 利用屬性窗口直接設(shè)置屬性值 程序

6、運(yùn)行時(shí) 通過(guò)語(yǔ)句:對(duì)象名.屬性名=屬性值 例如:Command1.Caption = 確定 注意:若屬性只能在設(shè)計(jì)階段設(shè)置,在程序運(yùn)行階段不能改變,稱為只讀屬性。,2.1.2 對(duì)象的屬性、事件和方法,事件:發(fā)生在對(duì)象上的事情.,VB為對(duì)象預(yù)先定義了一系列的事件。,事件過(guò)程:應(yīng)用程序處理事件的步驟. 應(yīng)用程序設(shè)計(jì)的主要工作就是為對(duì)象編寫(xiě)事件過(guò)程的代碼。事件過(guò)程的形式如下: Sub 對(duì)象名_事件(參數(shù)) 事件過(guò)程代碼 End Sub,方法,面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,為程序設(shè)計(jì)人員提供了一種特殊的過(guò)程和函數(shù),稱為方法。方法是面向?qū)ο蟮?,調(diào)用時(shí)一定要指明對(duì)象。 對(duì)象方法的調(diào)用格式為: 對(duì)象.方法 參數(shù)名

7、表 若省略對(duì)象,表示當(dāng)前對(duì)象,一般指窗體。 例如:Text1.SetFocus 此語(yǔ)句使Text1控件獲得焦點(diǎn),光標(biāo)在本文框內(nèi)閃爍。,通用屬性 Name名稱屬性 創(chuàng)建的對(duì)象名稱,有默認(rèn)的名.在程序中,控件名是作為對(duì)象的標(biāo)識(shí)而引用,不會(huì)顯示在控件上。 Caption標(biāo)題屬性 該屬性決定了控件上顯示的內(nèi)容。 Enabled屬性 控件是否可操作. 當(dāng)設(shè)置為false時(shí),呈暗淡色,禁止用戶進(jìn)行操作,Visible屬性 控件是否可見(jiàn).當(dāng)設(shè)置為false時(shí), 用戶看不到,但控件本身存在。,7. 窗體 1屬性: name, Caption, Picture, BoderStyle.,2事件: Load:窗體

8、被裝入時(shí)自動(dòng)執(zhí)行該事件,通常用于對(duì)屬性和變量初始化 Click: 單擊事件 DblClick: 雙擊事件,連續(xù)按兩次鼠標(biāo)鍵發(fā)生該事件。 3方法: Print:用于在窗體或圖形框中顯示文本。 Cls:在窗體或圖形框中清除運(yùn)行時(shí)產(chǎn)生的圖形和文本。 Move:移動(dòng)一個(gè)窗體或控件。,8. 標(biāo)簽 用于顯示文本(輸出)信息,不能作為輸入信息的界面。也就是說(shuō)標(biāo)簽控件的內(nèi)容只能由Caption屬性來(lái)設(shè)置。 1屬性: Caption, Font, Left, Top, BoderStyle. 2事件: Click: 單擊事件 DblClick: 雙擊事件,連續(xù)按兩次鼠標(biāo)鍵發(fā)生該事件 3方法: Move: 移動(dòng)控

9、件,或改變其大小。 .Move ,9. 文本框 文本編輯區(qū)域,可在該區(qū)域輸入,編輯和顯示正文內(nèi)容。 1屬性: Text, Maxlength, MultiLine, ScrollBars, Locked, PasswordChar 2事件: Change : 當(dāng)改變文本框的Text屬性或者用戶輸入新內(nèi)容時(shí)會(huì) 引發(fā)該事件. KeyPress :KeyAscii 參數(shù)是所按鍵的ASCII碼 。 LostFocus : 當(dāng)控件失去焦點(diǎn)時(shí)發(fā)生. GotFocus : 當(dāng)控件獲得焦點(diǎn)時(shí)發(fā)生. 3方法: SetFocus: 把光標(biāo)移到指定的文本框?qū)ο笾小?格式: 對(duì)象.SetFocus,6. 命令按鈕 1

10、屬性: Name, Caption, Style, Picture. 2事件: Click 、KeyDown、KeyUp、MouseDown、MouseUp Keypress 3方法: SetFocus: 將焦點(diǎn)定位到命令按鈕上。 格式:對(duì)象.SetFocus eg: Command1.SetFocus,1.文本框沒(méi)有_屬性。P31 識(shí)記表2.3 A)Enabeld B)Caption C)Visible D)BackColor,練習(xí),2.下列中不是屬性的是 : A. caption B. text C. Click D. picture,B,C,3.以下敘述中正確的是_ P24對(duì)象名稱的作用

11、 A. 窗體的Name屬性指定窗體的名稱,用來(lái)標(biāo)識(shí)一個(gè)窗體 B窗體的Name屬性的值是顯示在窗體標(biāo)題欄中的文本 C可以在運(yùn)行期間改變對(duì)象的Name屬性的值 D對(duì)象的Name屬性值可以為空,練習(xí),4.要將用戶在文本框Text1中所選擇的文本賦值給變量a, 應(yīng)書(shū)寫(xiě)語(yǔ)句_,A,a = Text1,5.在VB中最基本的對(duì)象是_,它是應(yīng)用程序的 基石,是其他控件的容器 .,Form 窗體,練習(xí),6.當(dāng)對(duì)命令按鈕picture屬性裝入.bmp圖形文件后,命令 按鈕上并沒(méi)有顯示所需的圖形,原因是沒(méi)有將_ 屬性設(shè)置為1(Graphical)P34,Style,7.如果要使命令按鈕Command1上顯示文字“退

12、出(X)”, 并以Alt+X為快捷鍵,則其Caption屬性應(yīng)設(shè)置為: _ 。,退出( “您上機(jī)” “您上機(jī)” Next i Print Print MAX=; max; MIN=; min; AVER=; aver / 10 End Sub,實(shí)驗(yàn)E:1,思考: 如何在二維數(shù)組中求最大值、最小值以及它們的位置。,在二維數(shù)組中求最大值max 、最小值min以及它們的位置 a(maxi, maxj) 、a(mini, minj)。 Option Base 1 Private Sub Command1_Click() Dim max, min, a(10, 10), i, j, maxi, maxj

13、, mini, minj As Integer For i = 1 To 10雙重循環(huán)產(chǎn)生隨機(jī)數(shù)組 For j = 1 To 10 a(i, j) = Int(Rnd * 90) + 10 Print a(i, j); Next j Print Next i Print max = a(1, 1)假設(shè)第一個(gè)數(shù)組元素為最大值 min = a(1, 1)假設(shè)第一個(gè)數(shù)組元素為最小值 For i = 1 To 10 雙重循環(huán)尋找最大值、最小值及其位置 For j = 1 To 10 If a(i, j) max Then max = a(i, j): maxi = i: maxj = j If a(i

14、, j) min Then min = a(i, j): mini = i: minj = j Next j Next i Print “a( Next End Sub,排序,Private Sub Command1_Click() Dim a(), n%, i%, j%, t%,k% a = Array(8, 6, 9, 3, 2, 7) n = UBound(a) For i = 0 To n-1 雙重循環(huán)找最小值下標(biāo) k=i For j = i+1 To n If a(j) a(k) Then k = j 后項(xiàng)比前項(xiàng)小 Next t = a(i):a(i) = a(k): a(k) =

15、t 交換值 Next For i = 0 To n Print a(i) ; Next End Sub,演示,Private Sub Command1_Click() Dim a(), n%, i%, j%, t% Print a = Array(8, 6, 9, 3, 2, 7) n = UBound(a) For i = 0 To n - 1 循環(huán)產(chǎn)生最大值后移 For j = i+1 To n If a(i) a(j) Then 前項(xiàng)比后項(xiàng)大 t = a(i ): a(i) = a(j): a(j) = t 交換值 End If Next Next For i = 0 To n Prin

16、t a(i) ; Next End Sub,選擇法排序,冒泡法排序,插入數(shù)據(jù),插入數(shù)據(jù)基本思想是: 1)首先查找待插入數(shù)據(jù)在數(shù)組中的位置k; 2)申請(qǐng)一個(gè)位置空間,然后從最后一個(gè)元素開(kāi)始往前直到下標(biāo)為k的元素依次往后移動(dòng)一個(gè)位置; 3) 第k個(gè)元素的位置騰出,將數(shù)據(jù)插入。,Dim a(), i%, k%, x%, n% a = Array(1, 4, 7, 9, 12, 23, 56) n = UBound(a) x = 14 For k = 0 To n If x a(k) Then Exit For Next k,ReDim Preserve a(n + 1) For i = n To k

17、 Step -1 a(i + 1) = a(i) Next i a(k) = x For i = 0 To n + 1 Print a(i); Next i,刪除數(shù)據(jù),1)首先找到欲刪除的元素的位置k; 2)然后從k+1到n個(gè)位置開(kāi)始向前移動(dòng); 3)最后將數(shù)組元素減1。,例5.8要將值為14的元素刪除。,Dim a(), i%, k%, x%, n% a = Array(1, 4, 7, 9, 12, 14, 23, 56) n = UBound(a) : x = 14 For k = 0 To n 查找欲刪除的數(shù)組元素位置 If x = a(k) Then Exit For Next k I

18、f k n Then MsgBox (找不到此數(shù)據(jù)): Exit Sub For i = k + 1 To n 將x后的元素左移 a(i - 1) = a(i) 比較與插入數(shù)據(jù)程序的差異 Next i n = n 1 數(shù)組元素減少一個(gè) ReDim Preserve a(n) For i = 0 To n 顯示刪除后的各數(shù)組元素 Print a(i); Next i,1.在VB中把一組具有同一名字、不同下標(biāo)的下標(biāo)變量稱為 _。 A)同類數(shù)據(jù) B)數(shù)組 C)變量數(shù)組 D)變量,練習(xí),2.若用Dim a(10) As Integer 語(yǔ)句聲明了數(shù)組a ,以下 語(yǔ)句中錯(cuò)誤的是_。P99下標(biāo)的形式 A)

19、a(9)=a(-6) B)a(1)=56 C)a(8)=a(1)+a(3) D)a(1)=a(8)-34,B,A,3.對(duì)于動(dòng)態(tài)數(shù)組a,如果需要重新定義大小,并保留原有 數(shù)據(jù),可使用語(yǔ)句_。P101注意 A)Dim B)ReDim C)Dim Preserve D)ReDim Preserve,D,4. 1個(gè)二維數(shù)組可以存放1個(gè)矩陣。在程序開(kāi)始有語(yǔ)句Option Base 0, 則下面定義的數(shù)組中正好可以存放1個(gè)4 X 3矩陣。(即只有12個(gè)元素) 的是( )。 Dim a (-2To 0,2) As Integer Dim a (3,2) As Integer C) Dim a(4,3) As

20、 Integer D) Dim a(-1 To -4,-1 To -3) As Integer,練習(xí),B,練習(xí),5.在窗體上面1個(gè)名稱為Command1 的命令按鈕,然后編寫(xiě)下列事件過(guò)程 Option Base 1 Private Sub Command1_Click() Dim a(5,5)As Integer For i= 1 To 5 For j = 1 To 5 a(i,j)=(i+j)*510 為數(shù)組元素賦值,如a(2,3)=(2+3)*510=2 Next j Next i s=0 For i= 1 To 5 s=s+a (i,i)求對(duì)角線之和 Next i Print s End

21、 Sub 程序運(yùn)行后,單擊命令按鈕,輸出結(jié)果是( )。 A)15 B)13 C)11 D)9 注明:本題的關(guān)鍵是正確計(jì)算出各個(gè)數(shù)組元素值,求對(duì)角線之和,A,6.在任何情況下,數(shù)組下標(biāo)總是從0開(kāi)始( )。 P99下標(biāo)的形式,練習(xí),7.任何類型的動(dòng)態(tài)數(shù)組都可以利用Array函數(shù)賦值( )。 P103 Array函數(shù),8.欲在數(shù)組a中刪除某個(gè)元素,試完善下列程序。P108109例5.8 Private Sub Command1_Click() Dim a( ), i%, k%, x%, n% a = Array(1, 4, 7, 9, 12, 14, 23, 56) n= _ x = Val(Inp

22、utBox(輸入要?jiǎng)h除的數(shù) x :) For k = 0 To n If _ Next k If k n Then MsgBox 找不到此數(shù)據(jù): Exit Sub For i = k + 1 To n _= a( i ) Next i Print 刪除后: ; ReDim Preserve a( n 1 ) For i = 0 To Ubound(a) Print a(i); Next i,UBound(a),x = a(k) Then Exit For,a(i - 1),第六章 過(guò)程,一. 過(guò)程的概念 VB的程序是由一個(gè)個(gè)過(guò)程構(gòu)成的,除了VB系統(tǒng)提供的大量使用的內(nèi)部函數(shù)過(guò)程(Function

23、)和事件過(guò)程(Sub)外,VB系統(tǒng)還允許用戶根據(jù)各自需要自定義過(guò)程。 二. 兩類過(guò)程定義與調(diào)用 函數(shù)過(guò)程 Function () As = Exit Function = End Function,調(diào)用形式: 函數(shù)過(guò)程名(實(shí)參表) 特點(diǎn):函數(shù)過(guò)程名有值,有類型,在過(guò)程體內(nèi)至少賦值一次。 調(diào)用時(shí)不能獨(dú)立存在,必須參加表達(dá)式的運(yùn)算。 子過(guò)程 Sub 子過(guò)程名(參數(shù)列表) 局部變量或常數(shù)定義語(yǔ)句 語(yǔ)句塊1 Exit Sub 語(yǔ)句塊2 End Sub 調(diào)用形式: Call 子過(guò)程名(實(shí)參表) 或: 子過(guò)程名 實(shí)參表 特點(diǎn): 子過(guò)程名無(wú)值,無(wú)類型。調(diào)用時(shí)可以是一句獨(dú)立的語(yǔ)句。,三. 參數(shù)傳遞 值傳遞(

24、ByVal ): 將實(shí)參的具體值單向地傳遞給形參,調(diào)用結(jié)束后形參值的改變不會(huì)影響實(shí)參的值。相對(duì)應(yīng)的實(shí)參可以是常數(shù)或表達(dá)式。 2. 地址傳遞( ByRef ) 將實(shí)參在內(nèi)存的地址傳遞給形參,數(shù)據(jù)傳遞是雙向的,即調(diào)用時(shí)實(shí)參將值傳遞給形參,調(diào)用結(jié)束后由形參將操作結(jié)果返回給實(shí)參。即形參值的改變會(huì)改變實(shí)參的值。當(dāng)實(shí)參要得到返回結(jié)果時(shí),實(shí)參只能是變量,不能是常量或表達(dá)式。,3數(shù)組參數(shù)的傳遞 只能通過(guò)傳址方式進(jìn)行傳遞。注意: 在實(shí)參和形參中寫(xiě)數(shù)組名() 被調(diào)過(guò)程可通過(guò)Lbound和Ubound函數(shù)確定實(shí)參數(shù)組的下、上界,6.1.3函數(shù)過(guò)程的調(diào)用,Sub Form_Click Dim x%, y%, z% x

25、 = 124: y = 24 z = gcd(x, y) Print 最大公約數(shù)是 ; z End Sub,程序運(yùn)行流程,Function gcd( m%, n%) As Integer If m 0 r = m Mod n : m = n: n = r Loop gcd = m End Function,在窗體上畫(huà)一個(gè)命令按鈕,然后編寫(xiě)如下事件過(guò)程: Private Sub Command1_Click() Dim a As Single, b As Single a = 15: b = 12 Call S(a, b) Print a, b End Sub,讀程序,寫(xiě)運(yùn)行結(jié)果,Sub S(B

26、yVal x!, y!) Dim t! t = x x = t / y y = t Mod y Print x, y End Sub,1.25 3 15 3,注明:本題關(guān)鍵, x傳值,y傳地址,x的值不影響a,y的值影響b,必須重點(diǎn)關(guān)注的實(shí)例 P127 例6.2 求最大公約數(shù)的函數(shù)過(guò)程 P128 例6.3 的變形 編一過(guò)程,統(tǒng)計(jì)字符串 中漢字和字符的個(gè)數(shù)及長(zhǎng)度,編一過(guò)程,實(shí)現(xiàn)下圖中統(tǒng)計(jì)字符串中漢字和字符的個(gè)數(shù)及長(zhǎng)度,Private Sub Command1_Click() Dim sum0 As String, sum1%, sum2% sum0 = “”: sum1 = 0: sum2 =

27、0 初始化 sum0 = UCase(Text1.Text) 將字符串中小寫(xiě)字母轉(zhuǎn)換成大寫(xiě) Call CountC(sum0, sum1, sum2) Print sum0 ,共 isum Next i End Sub,結(jié)果: isum=1 isum=3 isum=6 isum=10 isum=15,注明:循環(huán)5次調(diào)用sum(i),每次調(diào)用j有累加的作用: 1次 j=0+1=12次 j=1+2=3 3次 j=3+3=64次 j=6+4=10 5次 j=10+5=15,Private Sub Command1_Click() Dim Z% Z=Z+2 Call S Print Z End Sub

28、,Sub S( ) Static Z As Integer Z=Z+2 Print Z; End Sub,例 有如下S過(guò)程和Command1_Click事件過(guò)程: 調(diào)用Command1_Click()3次,最后一次輸出結(jié)果是:,注明:本題是無(wú)參調(diào)用,誰(shuí)也不影響誰(shuí),但是, 要區(qū)分同名變量的不同作用域和生命周期。 1次 Dim Z(2) Static Z(2) 2次 Dim Z(2) Static Z(4) 3次 Dim Z(2) Static Z(6) 最后一次輸出結(jié)果是: 6 2,1.在自定義的函數(shù)過(guò)程體內(nèi),至少對(duì)函數(shù)名賦_值。 A)一次 B)兩次 C)三次 D)四次 P127,練習(xí),2.要想

29、在過(guò)程調(diào)用后返回兩個(gè)結(jié)果,下面的過(guò)程定義語(yǔ)句 合法的是_ P134 3. A Sub Procl(ByVal n,ByVal m) B Sub Procl(n,ByValm) C. Sub Procl(n,m) D Sub Procl(ByVal n,m),A,C,3.在參數(shù)傳遞過(guò)程中,使用關(guān)鍵字_來(lái)修飾參數(shù), 可以使之按值傳遞。 P133AByVal BByRef C. Value DReference,練習(xí),A,4. VB中的變量按其作用域分為_(kāi)變量、_變量和 _變量。P140,局部,模塊,全局,5.窗體中的窗體級(jí)變量應(yīng)在_段聲明,它作用于該 窗體的_ 。P140 2.,通用,任何過(guò)程,7

30、.1 常用控件(不涉及到編程題),7.1.1 單選按鈕、復(fù)選框和框架 1.單選按鈕(OptionButton ) 單選按鈕以組的形式出現(xiàn),允許在多項(xiàng)中選擇一項(xiàng)。 重要屬性 Caption屬性 按鈕上顯示的文本 Value屬性 表示單選按鈕的狀態(tài): True 被選定 False 未被選定 重要事件 Click事件 單擊后,Value屬性為T(mén)rue,Value屬性值為整型,表示復(fù)選框的狀態(tài): 0 vbUnchecked 未選定 1 vbChecked 被選定 2 vbGrayed 灰色,并顯示一個(gè)選中標(biāo)記。 重要事件 Click事件,2.復(fù)選框(CheckBox),3.框架 (Frame),具有容

31、器功能. 先建立框架,然后將各控件放置其中。 屬性 Caption屬性 框架上的標(biāo)題文本. 事件 框架可以響應(yīng)Click和DoubleClick事件,但一般不需要編寫(xiě)事件過(guò)程。,4. 列表框和組合框,列表框 可顯示多個(gè)選項(xiàng)供用戶選擇,不能直接修改其中的內(nèi)容。 組合框 組合了文本框和列表框的特性而形成的一種控件。組合框有3種式樣。,1. 共有的重要屬性 (P:可在程序中設(shè)置或引用,D:可在設(shè)計(jì)狀態(tài)設(shè)置) List :PD 字符型數(shù)組,存放列表框的項(xiàng)目,下標(biāo)是從0開(kāi)始。 ListIndex:P 選中的項(xiàng)目的序號(hào),沒(méi)有項(xiàng)目被選定時(shí)為-1 ListCount:P 項(xiàng)目的數(shù)量,ListCount-1是最

32、后一項(xiàng)的下標(biāo)。 Sorted:D True:按字母順序排列。 False:按加入先后順序排列。 Text:P 列表項(xiàng)中被選定的內(nèi)容, List 1.List(List 1.ListIndex) = List1.Text。,2. 列表框的特有屬性 Selected:P 邏輯數(shù)組。 Selected(i)的值為T(mén)rue表示第i+1項(xiàng)被選中。 MultiSelect 0 - None:禁止多項(xiàng)選擇。 1 - Simple:簡(jiǎn)單多項(xiàng)選擇。 2 - Extended:擴(kuò)展多項(xiàng)選擇。 3. 組合框的特有屬性 Style,List1.ListIndex = 2 List1.ListCount = 6 Lis

33、t1.Sorted = False List1.Text 為 C/C+程序設(shè)計(jì) ,1、列表框運(yùn)行后選中“張三”,下列值各是多少? Private Sub List1_Click() Print List1.List(5) Print List1.ListIndex Print List1.ListCount Print List1.Text Print List1.Sorted End Sub,練習(xí),王五,6,張三,False,3,本題關(guān)鍵:ListIndex的值從0開(kāi)始!,2、將“許多”添加到索引值為2的位置上的方法是: , 下列各值又是多少? Private Sub List1_Click

34、() Print List1.List(5) Print List1.ListIndex Print List1.ListCount Print List1.Text Print List1.Sorted End Sub,練習(xí),李四,7,張三,False,List1.AddItem 許多, 2,4,常用方法,AddItem方法 把一個(gè)項(xiàng)目加入列表 對(duì)象.AddItem 項(xiàng)目字符串 ,索引值 索引值:決定新增項(xiàng)在列表中的位置,如果省略,則新增項(xiàng)目添加在最后。 RemoveItem方法 刪除列表中指定項(xiàng)目 對(duì)象.RemoveItem 索引值 Clear 清除列表中所有項(xiàng)目 例如:List1.Cle

35、ar,例:模仿ACCESS中,在“簡(jiǎn)單查詢向?qū)А敝惺褂玫捻?xiàng)目選擇器,列表框舉例,Private Sub cmdToright_Click() If lstOptional.ListIndex = 0 Then 出錯(cuò)處理代碼 lstSelected.AddItem lstOptional.Text lstOptional.RemoveItem lstOptional.ListIndex Else MsgBox 請(qǐng)先選擇項(xiàng)目, , 友情提示 End If End Sub,Private Sub cmdToLeft_Click() If lstSelected.ListIndex = 0 Then

36、出錯(cuò)處理代碼 lstOptional.AddItem lstSelected.Text lstSelected.RemoveItem lstSelected.ListIndex Else MsgBox 請(qǐng)先選擇項(xiàng)目, , 友情提示 End If End Sub,Private Sub cmdToAllright_Click() Dim i% For i = 0 To lstOptional.ListCount - 1 lstSelected.AddItem lstOptional.List(i) Next lstOptional.Clear End Sub Private Sub cmdToA

37、llLeft_Click() Dim i% For i = 0 To lstSelected.ListCount - 1 lstOptional.AddItem lstSelected.List(i) Next lstSelected.Clear End Sub,Private Sub lstOptional_DblClick() lstSelected.AddItem lstOptional.Text lstOptional.RemoveItem End Sub Private Sub lstSelected_DblClick() lstOptional.AddItem lstSelecte

38、d.Text lstSelected.RemoveItem End Sub,7.3.1 滾動(dòng)條,滾動(dòng)條的屬性,滾動(dòng)條的事件,注意: 1、通過(guò)代碼改變 Value 屬性的值,也會(huì)觸發(fā) Change 事件 2、當(dāng)拖動(dòng)滑塊時(shí),會(huì)不停地觸發(fā) Scroll 事件,當(dāng)拖動(dòng)結(jié)束時(shí),會(huì)觸發(fā)一次 Change 事件,例7.3 計(jì)算018之間某個(gè)數(shù)的階乘,數(shù)據(jù)由滾動(dòng)條獲得。,滾動(dòng)條舉例,Private Sub hslInteger_Change() Dim n%, s&, i% n = hslInteger.Value s = 1 For i = 1 To n s = s * i Next lblFactoria

39、l = n & != & s End Sub,又稱定時(shí)器控件。用于有規(guī)律地定時(shí)執(zhí)行指定的工作,常常用于編寫(xiě)不需要與用戶進(jìn)行交互就可直接執(zhí)行的代碼,如計(jì)時(shí)、倒計(jì)時(shí)、動(dòng)畫(huà)等。 在程序運(yùn)行階段,時(shí)鐘控件不可見(jiàn)。,7.5 計(jì)時(shí)器(Timer),計(jì)時(shí)器的屬性,計(jì)時(shí)器的事件,注意: 1、常常將需要定時(shí)執(zhí)行的操作放在Timer事件過(guò)程中 2、計(jì)時(shí)器工作的必要條件: Interval0 Enabled=True,1.利用水平滾動(dòng)條的數(shù)字可以為某種基本顏色調(diào)出256種 色彩,此時(shí)水平滾動(dòng)條的Min和Max應(yīng)該設(shè)置為_(kāi)。 A)0,255 B)0,256 C)1,255 D)1,256,練習(xí),2.在窗體上有一個(gè)文本框控件,名稱為T(mén)xtTime;一個(gè)計(jì) 時(shí)器控件,名稱為T(mén)imerl,要求每一秒鐘在文本框中顯示 一次當(dāng)前的時(shí)間。程序?yàn)椋?Private S

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論