




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2022-3-7南京大學(xué)出版社1第1章 VB程序設(shè)計(jì)概述2022-3-7南京大學(xué)出版社出版社2你已經(jīng)掌握了計(jì)算機(jī)一般應(yīng)用技術(shù),如:你已經(jīng)掌握了計(jì)算機(jī)一般應(yīng)用技術(shù),如:WordExcel計(jì)算機(jī)繪圖計(jì)算機(jī)繪圖網(wǎng)頁(yè)設(shè)計(jì)網(wǎng)頁(yè)設(shè)計(jì)電子游戲電子游戲2022-3-7南京大學(xué)出版社出版社3 -在此之前,你只是機(jī)器的在此之前,你只是機(jī)器的“奴奴隸隸”,必須按照計(jì)算機(jī)的規(guī)定做事,必須按照計(jì)算機(jī)的規(guī)定做事,沒有你自己說話的權(quán)利!沒有你自己說話的權(quán)利! 從此,你將成為計(jì)算機(jī)的主宰者,從此,你將成為計(jì)算機(jī)的主宰者,駕御這匹可以騰飛的駿馬駕御這匹可以騰飛的駿馬,翱翔在無翱翔在無限的太空!限的太空!2022-3-7南京大學(xué)
2、出版社出版社4騰飛就從這里開始!2022-3-7南京大學(xué)出版社出版社5|為了更好地學(xué)習(xí)Visual Basic ,有必要重溫一下課程中的兩個(gè)重要概念:|(1) 計(jì)算機(jī)的系統(tǒng)結(jié)構(gòu);|(2) 計(jì)算機(jī)程序設(shè)計(jì)語言|通過復(fù)習(xí)了解: (1) 本課程在”計(jì)算機(jī)的系統(tǒng)”中的位置 (2) 程序設(shè)計(jì)語言Visual Basic的特點(diǎn)以及它與其它程序設(shè)計(jì)語言的關(guān)系2022-3-7南京大學(xué)出版社出版社6圖1-1 計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)2022-3-7南京大學(xué)出版社出版社7|計(jì)算機(jī)程序設(shè)計(jì)語言的分類機(jī)器語言:機(jī)器語言:用二進(jìn)制代碼表示計(jì)算機(jī)的指令系統(tǒng)-計(jì)算機(jī)可以直接執(zhí)行。匯編語言:匯編語言:用特殊符號(hào)表示計(jì)算機(jī)的指令系統(tǒng)-經(jīng)
3、過簡(jiǎn)單匯編后,計(jì)算機(jī)可以直接執(zhí)行。高級(jí)語言:高級(jí)語言:接近于人類自然語言的程序設(shè)計(jì)語言,計(jì)算機(jī)不能直接執(zhí)行。必須經(jīng)過編譯(翻譯)才能執(zhí)行面向機(jī)器面向用戶2022-3-7南京大學(xué)出版社出版社8機(jī)器語言程序:01101110011000110110?程序運(yùn)行結(jié)果匯編語言源程序MOV AH,BHINT 21H. ?目的程序0110111000110程序運(yùn)行結(jié)果高級(jí)語言源程序:If x0 then Print x. ?目的程序0110111000110程序運(yùn)行結(jié)果圖1-2 三類程序設(shè)計(jì)語言執(zhí)行過程比較2022-3-7南京大學(xué)出版社出版社9第一代BASIC:誕生在20世紀(jì)60年代初,是一種帶有行號(hào)的、非
4、結(jié)構(gòu)化、解釋型程序設(shè)計(jì)語言,它只有十幾條語句,被稱之為第一代BASIC。第二代BASIC采用結(jié)構(gòu)化編譯形式(不帶行號(hào)),其代表性產(chǎn)品有TrueBASIC、QuickBASIC等。第三代BASIC在Windows環(huán)境下運(yùn)行,以嶄新的圖形用戶界面取代傳統(tǒng)的文本(TEXT)方式。特別是90年代初,微軟推出采用可視化程序設(shè)計(jì)界面的Visual Basic,并在短短幾年內(nèi)不斷地改進(jìn)和完善,從1991年的1.0版本逐步升級(jí)到Visual Basic7.0版,使程序設(shè)計(jì)發(fā)生了深刻的變化。 2022-3-7南京大學(xué)出版社出版社10創(chuàng)建一個(gè)應(yīng)用程序,就象實(shí)施一項(xiàng)工程工程項(xiàng)目項(xiàng)目,又好象導(dǎo)演一臺(tái)大型的話劇。以下通
5、過一個(gè)實(shí)例介紹創(chuàng)建一個(gè)工程項(xiàng)目的全過程。 2022-3-7南京大學(xué)出版社出版社11【例1-1】按照下面要求設(shè)計(jì)一個(gè)“捉迷藏”游戲程序。圖1-3 捉迷藏”游戲校園里有操場(chǎng)、花園、樹林和涼亭四個(gè)地方,一位小朋友選擇某一個(gè)地方藏身(見圖1-3),請(qǐng)你猜一猜她藏在哪里,猜對(duì)了,她會(huì)自動(dòng)現(xiàn)身,并顯示:“猜對(duì)了,你真棒!”,猜錯(cuò)了,也會(huì)現(xiàn)身,顯示:“哈哈,猜錯(cuò)了,我在這里!”。游戲可以多次進(jìn)行,直到選擇退出為止。 2022-3-7南京大學(xué)出版社出版社12圖1-3 捉迷藏”游戲操場(chǎng)花園樹林涼亭2022-3-7南京大學(xué)出版社出版社13|第一步,構(gòu)建大舞臺(tái)(窗體界面)。第一步,構(gòu)建大舞臺(tái)(窗體界面)。和啟動(dòng)其它
6、應(yīng)用程序一樣,啟動(dòng)Visual Basic,就會(huì)出現(xiàn)一個(gè)戲劇“大舞臺(tái)”(VB中叫做“窗體”)??梢愿鶕?jù)需要方便地調(diào)整舞臺(tái)的大小。2022-3-7南京大學(xué)出版社出版社14步驟步驟2 舞臺(tái)布局舞臺(tái)布局 一臺(tái)戲的主要對(duì)象是演員,本劇中我們要請(qǐng)出以下對(duì)象(VB中稱為“控件”):(1) 圖片對(duì)象(Picture1),位于左上角,用來裝載小朋友的照片;(2) 標(biāo)簽對(duì)象(Lable1),位于圖片對(duì)象的右面,用來顯示不同文字信息;游戲中的對(duì)話都可以使用標(biāo)簽對(duì)象進(jìn)行:開始時(shí)顯示:猜一猜我藏在哪里?猜對(duì)時(shí)顯示:“猜對(duì)了,你真棒!”猜錯(cuò)時(shí)顯示:“哈哈,猜錯(cuò)了,我在這里!”。2022-3-7南京大學(xué)出版社出版社15我
7、是圖片框,可以貼照片我是標(biāo)簽框,可以登廣告我是命令按鈕,專門幫你下達(dá)命令操場(chǎng)樹林花園涼亭繼續(xù)退出2022-3-7南京大學(xué)出版社出版社16|(3) 四個(gè)藏身之處,使用命令按鈕組(Command1(0)、Command1(1)、Command1(2)、Command1 (3));|(4) 兩個(gè)用來控制游戲過程“繼續(xù)”和“退出”的兩個(gè)命令按鈕。|繪制這些“控件”十分方便,只要在VB“工具箱”中選定相應(yīng)工具,按照?qǐng)D1-3的大小和布局,用通用的繪圖方法(拖動(dòng)鼠標(biāo))在窗體中逐一繪制,讓8個(gè)對(duì)象各居一方,就完成了舞臺(tái)布局。|這里應(yīng)當(dāng)特別說明:具有四個(gè)成員的命令按鈕組(Command1 (0)、(1)、(2)
8、、(3)的繪制方法與一般方法不同,只要繪制出第一個(gè),然后使用“復(fù)制”、“粘貼”命令就可以依次得到其它三個(gè)按鈕。2022-3-7南京大學(xué)出版社出版社172022-3-7南京大學(xué)出版社出版社18|第三步,為演員化妝(設(shè)置對(duì)象的外部特征第三步,為演員化妝(設(shè)置對(duì)象的外部特征-控件控件屬性)。屬性)。|為了增加“藝術(shù)”效果,有必要為各位演員進(jìn)行簡(jiǎn)單化裝:|(1) 為圖片對(duì)象(Picture1)裝入“小朋友”圖片;|(2) 為標(biāo)簽對(duì)象(Lable1)裝入初始標(biāo)題(Caption)內(nèi)容:“猜一猜我在哪里?”并利用Font屬性定義文本的字體和字號(hào);|(3)修改命令按鈕組中的四個(gè)按鈕(Command1(0)、
9、Command1(1)、Command1(2)、Command1(3))的標(biāo)題(Caption)屬性分別為:操場(chǎng)、花園、樹林和涼亭(當(dāng)然,進(jìn)一步學(xué)習(xí)后,還可以分別為它們裝入漂亮的圖片),并選擇合適的字體和字號(hào);|(4) 修改兩個(gè)控制按鈕的標(biāo)題屬性(Caption)分別為“繼續(xù)”和“退出”,選擇合適的字體和字號(hào)。 2022-3-7南京大學(xué)出版社出版社19|第四步,程序設(shè)計(jì)。第四步,程序設(shè)計(jì)。這是關(guān)鍵性的步驟,用來為各位“演員”(對(duì)象)設(shè)置“動(dòng)作”和“臺(tái)詞”:|(1)為了在單擊“退出”按鈕時(shí)會(huì)結(jié)束程序運(yùn)行,必須為“退出”按鈕的“單擊”事件編寫“控制程序結(jié)束運(yùn)行(End)”的代碼,具體方法是:|雙擊
10、“退出”命令按鈕,在隨之出現(xiàn)的代碼窗口中會(huì)自動(dòng)出現(xiàn)以下專用模塊代碼:|Private Sub Command3_Click()|End Sub|在Private Sub和End Sub之間,填入程序:End2022-3-7南京大學(xué)出版社出版社20|(2) 在命令按鈕組的“單擊”事件代碼段中輸入程序代碼(這里不要求大家理解程序內(nèi)容,只要求學(xué)會(huì)在Sub和End Sub之間填入程序代碼的方法-可以將以下代碼段粘貼到Private Sub和End Sub之間):|Private Sub Command1_Click(Index As Integer)|Randomize 設(shè)置隨機(jī)函數(shù)狀態(tài)(隨機(jī)種子)|
11、a = Int(4 * Rnd) 隨機(jī)抽取一個(gè)0-3之間的整數(shù)a|If a = Index Then 如果a恰好是你單擊命令按鈕的編號(hào)| Label1.Caption = 猜對(duì)了,你真棒!|Else| Label1.Caption = 哈哈,猜錯(cuò)了,我在這里!|End If|Command1(0).Enabled = False 猜完后,讓四個(gè)|Command1(1).Enabled = False 場(chǎng)所按鈕無效|Command1(2).Enabled = False|Command1(3).Enabled = False |Command1(a).DisabledPicture = Load
12、Picture(小人.gif)| 小朋友在第a個(gè)“場(chǎng)所”現(xiàn)身|End Sub2022-3-7南京大學(xué)出版社出版社21|(3) 為“繼續(xù)”命令按鈕的“單擊”事件填寫程序|Private Sub Command2_Click()|Label1.Caption = 我換一個(gè)地方,你重新猜!|Command1(a).DisabledPicture = LoadPicture()|Command1(0i).Enabled = True 讓四個(gè)場(chǎng)所按鈕有效|Command1(1).Enabled = True|Command1(2).Enabled = True|Command1(3).Enabled =
13、 True|End Sub2022-3-7南京大學(xué)出版社出版社22|第五步,程序調(diào)試和運(yùn)行(預(yù)演排練):第五步,程序調(diào)試和運(yùn)行(預(yù)演排練):|經(jīng)過以上幾個(gè)步驟,一臺(tái)絕妙好戲已經(jīng)出籠,但能不能得到預(yù)想的效果,還需要進(jìn)行“預(yù)演排練”(VB中稱為程序調(diào)試)。在調(diào)試過程中可以發(fā)現(xiàn)問題和不足之處,一邊調(diào)試,一邊修改。|使用運(yùn)行菜單中的“啟動(dòng)”命令或單擊工具欄中的“啟動(dòng)”按鈕(也可以直接使用功能鍵F5),啟動(dòng)當(dāng)前工程。這時(shí)會(huì)發(fā)現(xiàn)以下幾個(gè)沒有預(yù)料到的問題,我們可以逐一解決。|(1)當(dāng)單擊所猜的藏身之處后,小朋友不現(xiàn)身,為什么?|原因是:要想使四個(gè)藏身之處(按鈕組0、1、2、3)可以顯示圖形,必須將它們的“S
14、tyle”屬性均設(shè)置成圖形模式:“1-Graphical”。2022-3-7南京大學(xué)出版社出版社23|(2)單擊“繼續(xù)”后,原來顯示的“藏身之處”仍然顯示圖象,即清除圖象命令“Command1(a).DisabledPicture = LoadPicture()”不起作用,為什么?|問題出在變量a的有效范圍上,必須在所有模塊之前(通用模塊)定義變量a:“Dim a As Integer”使變量a全程有效。|經(jīng)過以上調(diào)試,初步達(dá)到預(yù)先設(shè)計(jì)的效果。 2022-3-7南京大學(xué)出版社出版社24|第六步,程序編譯,生成可執(zhí)行文件第六步,程序編譯,生成可執(zhí)行文件(建立影片拷貝)。(建立影片拷貝)。|經(jīng)過前
15、4個(gè)步驟,可以使用文件菜單中的“保存”命令,保存工程項(xiàng)目。經(jīng)過保存的項(xiàng)目將會(huì)生成一系列文件,本例中將生成一個(gè)項(xiàng)目文件(.vbp)和一個(gè)窗體文件(.frm),如果需要,只要打開項(xiàng)目文件就可以隨時(shí)打開這個(gè)工程,進(jìn)一步修改工程文件。|如果要將程序提交給最終用戶,可以使用文件菜單中的“生成工程1.exe”菜單命令,對(duì)源程序進(jìn)行“編譯”,生成一個(gè)可執(zhí)行文件(.exe)提供給用戶。2022-3-7南京大學(xué)出版社出版社25|我們已經(jīng)成功地設(shè)計(jì)了一個(gè)有趣的小程序,現(xiàn)在可以歸納一下設(shè)計(jì)的全過程,如圖1-4。窗體窗體調(diào)整調(diào)整構(gòu)建構(gòu)建舞臺(tái)舞臺(tái)繪制繪制控件控件舞臺(tái)舞臺(tái)布局布局設(shè)置設(shè)置屬性屬性演員演員化妝化妝程序程序設(shè)
16、計(jì)設(shè)計(jì)劇情劇情排練排練程序程序調(diào)試調(diào)試預(yù)演預(yù)演排練排練程序程序編譯編譯影片影片拷貝拷貝圖圖1-4 建立建立VB工程項(xiàng)目步驟工程項(xiàng)目步驟2022-3-7南京大學(xué)出版社出版社26|1.2.2 程序流程圖程序流程圖|一個(gè)稍微復(fù)雜的項(xiàng)目,都要先設(shè)計(jì)一個(gè)實(shí)施流程圖,利用流程圖便可以一步一步有條不紊地完成程序設(shè)計(jì)。實(shí)施流程圖的主要部分是程序功能的實(shí)現(xiàn)流程。|例如,【例1-1】中,按照題目的要求和VB的特點(diǎn),我們把程序所要實(shí)現(xiàn)的功能用流程圖直觀的表示出來(圖1-5),參照流程圖進(jìn)行程序代碼的設(shè)計(jì)就會(huì)容易得多。我們建議讀者參照流程圖重新閱讀【例1-1】中的程序代碼,一定會(huì)有不小的收獲。2022-3-7南京大學(xué)
17、出版社出版社27是否開 始小朋友躲藏在一個(gè)地方(a)顯示:猜一猜,我藏在哪里?猜者單擊所猜的藏身之處(Index)a=Index?顯示:猜對(duì)了,你真棒!顯示:哈哈,猜錯(cuò)了,我在這里!設(shè)置四個(gè)藏身之處“無效”繼續(xù)/退出?設(shè)置四個(gè)藏身之處“有效”顯示:我換一個(gè)地方,你重新猜!結(jié) 束繼續(xù)退出圖1-5 “捉迷藏”程序代碼功能流程圖2022-3-7南京大學(xué)出版社出版社28|程序流程圖所使用的符號(hào),沒有嚴(yán)格地規(guī)定。一般以直觀、通用為原則。如許多人習(xí)慣使用“菱形框”來表示“邏輯判斷”的兩種不同結(jié)果,用矩形框表示一般計(jì)算等問題的處理,用帶有箭頭的線段表示程序的流向等。2022-3-7南京大學(xué)出版社出版社29|
18、1.2.3 了解了解VB工作環(huán)境工作環(huán)境|1 進(jìn)入進(jìn)入VB的工作環(huán)境的工作環(huán)境|使用“開始”“程序”“Microsoft Visual Basic 6.0”,打開“新建工程”對(duì)話框(圖1-6),在對(duì)話框中可以進(jìn)行“新建”、“現(xiàn)存”和“最新”三類選擇。圖圖1-6 新建工程對(duì)話框新建工程對(duì)話框圖1-6 新建工程對(duì)話框2022-3-7南京大學(xué)出版社出版社30|“新建”,用來開始新建一個(gè)VB工程,打開后,會(huì)出現(xiàn)一個(gè)空白的窗體,以便按照用戶的意愿,繪制所需要的控件。|“現(xiàn)存”,打開VB默認(rèn)存放文件的文件夾“VB98”,以便選擇一個(gè)已經(jīng)建立的工程,進(jìn)行修改或運(yùn)行。當(dāng)然,用戶也可以打開自己使用的文件夾,用來
19、選擇現(xiàn)存的工程文件。選定文件并單擊“打開”按鈕后,系統(tǒng)會(huì)自動(dòng)將工程文件個(gè)與這個(gè)工程相關(guān)的文件裝入內(nèi)存。|“最新”選項(xiàng),便于用戶打開“最近”一次建立的工程文件。這個(gè)功能對(duì)于連續(xù)編輯和修改一個(gè)工程的用戶,特別方便。 2022-3-7南京大學(xué)出版社出版社31|圖1-7 VB的工作界面工作窗體工具箱屬性窗口工程資源管理器。無論選擇哪一種方式打開工程文件,都會(huì)進(jìn)入標(biāo)準(zhǔn)的VB的工作界面,圖1-7就是“新建”工程的工作界面。圖1-7 VB的工作界面工作窗體工具箱屬性窗口工程資源管理器2022-3-7南京大學(xué)出版社出版社32|2 VB的工作界面的工作界面|下面我們就以“新建”“標(biāo)準(zhǔn)EXE”工程為例,介紹VB的
20、工作界面。|在VB工作窗口界面中,除了具備普通窗口的工作欄區(qū)(如標(biāo)題欄、菜單欄、工具欄等)之外,還具有以下特殊欄區(qū)。|(1)工作窗體|工作窗體區(qū)是程序設(shè)計(jì)用戶主要的工作區(qū)域,類似于一個(gè)大舞臺(tái)。用戶繪制控件對(duì)象和輸入程序代碼工作都在這個(gè)區(qū)域中進(jìn)行。比如【例1-1】中繪制圖片控件、標(biāo)簽控件和命令按鈕(組)都是在該區(qū)域中的對(duì)象窗口中完成的,輸入控件對(duì)象的控制代碼則是在該區(qū)域的代碼窗口中進(jìn)行的。|可以使用“視圖”菜單中的“代碼窗口/對(duì)象窗口”命令或“工程資源管理器”上方的“查看代碼/查看對(duì)象”按鈕方便地完成兩個(gè)窗口的切換,也可以在對(duì)象窗口中雙擊選定的對(duì)象切換到代碼窗口。2022-3-7南京大學(xué)出版社出
21、版社33|(2)工具欄|和Windows傳統(tǒng)工作窗口一樣,VB在欄中設(shè)置了一些常用工具按鈕(圖1-8)。圖1-8 VB的常用工具欄在常用工具欄的右側(cè)有一些VB中特有的工具按鈕,如,“運(yùn)行程序”按鈕,可以快速啟動(dòng)程序的運(yùn)行,“工程管理器”、“屬性窗口”可以用來顯示或關(guān)閉工程管理器、屬性窗口工作區(qū),“窗體布局”按鈕則用來顯示窗體的整體布局視圖。2022-3-7南京大學(xué)出版社出版社34|(3)工具箱|VB除了在常用工具欄中列出部分常用工具按鈕外,還設(shè)置了一個(gè)特殊的“工具箱”,用來提供繪制各種常用控件的工具(圖1-9)。例如【例1-1】中的“圖片”、“標(biāo)簽”和“命令按鈕(組)”等控件都是利用控件工具繪
22、制的。如果需要,也可以向工具箱中添加其它的控件工具。|繪制控件可以用兩種方式完成,一是單擊工具箱中的工具,將光標(biāo)移到對(duì)象窗口中,“拖動(dòng)”鼠標(biāo)繪制。用這種方法繪制控件的位置和大小都由用戶“拖動(dòng)”鼠標(biāo)的起點(diǎn)和拖動(dòng)距離決定。第二種指針:選擇對(duì)象圖片框:顯示圖片的控件標(biāo)簽:顯示文字文本框:用于輸入和顯示文本框架:容納一組控件命令按鈕:繪制各種操作按鈕復(fù)選框:繪制多選按鈕單選按鈕:繪制多選按鈕組合框:繪制一組選擇條目列表框:顯示和選擇多個(gè)條目水平滾動(dòng)條:繪制水平滾動(dòng)條垂直滾動(dòng)條:繪制垂直滾動(dòng)條定時(shí)器:繪制時(shí)間控制控件驅(qū)動(dòng)器列表框:顯示選擇驅(qū)動(dòng)器目錄列表框:顯示和選擇目錄文件列表框:顯示和選擇文件形狀控件
23、:繪制圖形直線控件:在窗體上繪制直線圖象控件:顯示圖片數(shù)據(jù)控件:綁定數(shù)據(jù)庫(kù)表容器:用于調(diào)用其它程序圖1-9 工具箱中常用的工具方法是直接雙擊工具箱中的控件工具,控件將自動(dòng)繪制在對(duì)象窗口中央,用戶可以按照自己的意愿改變它的位置和大小。2022-3-7南京大學(xué)出版社出版社35指針:選擇對(duì)象圖片框:顯示圖片的控件標(biāo)簽:顯示文字文本框:用于輸入和顯示文本框架:容納一組控件命令按鈕:繪制各種操作按鈕復(fù)選框:繪制多選按鈕單選按鈕:繪制多選按鈕組合框:繪制一組選擇條目列表框:顯示和選擇多個(gè)條目水平滾動(dòng)條:繪制水平滾動(dòng)條 垂直滾動(dòng)條:繪制垂直滾動(dòng)條定時(shí)器:繪制時(shí)間控制控件驅(qū)動(dòng)器列表框:顯示選擇驅(qū)動(dòng)器目錄列表框
24、:顯示和選擇目錄 文件列表框:顯示和選擇文件形狀控件:繪制圖形直線控件:在窗體上繪制直線圖象控件:顯示圖片數(shù)據(jù)控件:綁定數(shù)據(jù)庫(kù)表容器:用于調(diào)用其它程序圖1-9 工具箱中常用的工具2022-3-7南京大學(xué)出版社出版社36|(4)工程資源管理器|一個(gè)項(xiàng)目往往包含多個(gè)窗體控件和程序模塊,為了便于用戶了解工程整體結(jié)構(gòu)和選擇編輯對(duì)象,VB專門設(shè)置一個(gè)工程資源管理器。和Windows資源管理器類似,工程資源管理器以樹型結(jié)構(gòu)來管理當(dāng)前工程的所有資源,讀者可以象使用Windows資源管理器的方法一樣來使用VB工程資源管理器,所不同的是:當(dāng)我們?cè)谫Y源管理器中選定一個(gè)對(duì)象時(shí),VB將在工作窗體中顯示這個(gè)對(duì)象。|(5
25、)屬性窗口|屬性窗口是VB工作環(huán)境中的一個(gè)重要窗口,它的作用是為選定的控件對(duì)象定義外觀、狀態(tài)等特征(VB中稱為“屬性”)。|在工作窗體中選定一個(gè)控件對(duì)象(包括窗體本身),在屬性窗口中將會(huì)出現(xiàn)該控件的所有屬性列表,選中一個(gè)屬性列表項(xiàng),在屬性窗口下方會(huì)顯示關(guān)于這個(gè)屬性的簡(jiǎn)單說明。這時(shí),用戶可以按照自己的需要選擇或改變控件的原始屬性值。 2022-3-7南京大學(xué)出版社出版社37|許多屬性除了可以使用上述手工方法定義或改變屬性值外,還可以在程序運(yùn)行過程中改變。例如【例1-1】中,下列語句的作用都是改變指定控件的屬性。|If a = Index Then | Label1.Caption = 猜對(duì)了,你
26、真棒!|Else| Label1.Caption = 哈哈,猜錯(cuò)了,我在這里!|End If|這一段代碼的作用是如果猜中了,則把Label1控件的Caption屬性設(shè)置成猜對(duì)了,你真棒!,否則把Label1控件的Caption屬性設(shè)置成哈哈,猜錯(cuò)了,我在這里!。 2022-3-7南京大學(xué)出版社出版社38|以下四個(gè)屬性設(shè)置語句的作用是當(dāng)猜了一次之后,立即把四個(gè)藏身之處的“有效屬性(Enabled)”設(shè)置成“無效”。|Command1(0).Enabled = False |Command1(1).Enabled = False |Command1(2).Enabled = False|Comma
27、nd1(3).Enabled = False |讀者還可以在【例1-1】中找出許多在運(yùn)行過程中定義或改變屬性值的例子。|同樣,在【例1-1】中,利用屬性窗口直接設(shè)置控件屬性的例子也不少:|在圖片對(duì)象(Picture1)的Picture屬性中裝入“小朋友”圖片; 2022-3-7南京大學(xué)出版社出版社39|為標(biāo)簽對(duì)象(Lable1)裝入初始標(biāo)題(Caption)內(nèi)容:“猜一猜我在哪里?”并利用Font屬性定義文本的字體和字號(hào);|修改命令按鈕組中的四個(gè)按鈕(Command(0)、Command(1)、Command(2)、Command(3))的標(biāo)題(Caption)屬性:分別為:操場(chǎng)、花園、樹林和
28、涼亭,并選擇合適的字體和字號(hào);|修改兩個(gè)控制按鈕的標(biāo)題屬性(Caption)分別為“繼續(xù)”和“退出”,選擇合適的字體和字號(hào)。|?|建議讀者自己列出【例1-1】中其它利用屬性窗口直接設(shè)置控件屬性的所有例子。2022-3-7南京大學(xué)出版社出版社40|下面再介紹許多控件幾個(gè)共有的常用屬性。|用來控制控件大小的屬性有Height(高度)和Width(寬度),它們的屬性值都是整型數(shù),單位為象素個(gè)數(shù)。TopHeightWidthLeft圖1-10 控件大小和位置屬性示意圖|用來規(guī)定控件對(duì)象位置的屬性有Left(左坐標(biāo))和Top(頂坐標(biāo)),分別表示控件左上角到所在窗體左、上邊緣的象素?cái)?shù)(圖1-10)。|有時(shí)
29、要控制控件的可見性,可以使用Visible屬性,屬性值為True時(shí)可見, false為不可見。TopHeightWidthLeft圖1-10 控件大小和位置屬性示意圖2022-3-7南京大學(xué)出版社出版社41|使用程序代碼設(shè)置屬性的格式是: |對(duì)象名對(duì)象名.屬性名屬性名=屬性值屬性值|除了以上常用窗口之外,有時(shí)還需要調(diào)出其它一些窗口,可以在“視圖”菜單中選擇使用。比較常用的如立即窗口和窗體布局窗口等。|(5)立即窗口|有時(shí)要想直接使用一些命令,讓VB立即顯示處理結(jié)果,可以在立即窗口中完成,例如,在立即窗口中輸入“?10*16+5”,回車后立即顯示計(jì)算的結(jié)果:165。|(6)窗體布局窗口|如果想了
30、解工程項(xiàng)目的整體布局,則可以使用窗體布局窗口。2022-3-7南京大學(xué)出版社出版社42|1.2.4 繪制工作界面繪制工作界面|我們已經(jīng)了解VB的工作界面,認(rèn)識(shí)了常用控件工具,并且學(xué)會(huì)控件屬性的設(shè)置方法,可以開始自己動(dòng)手完成一項(xiàng)工程的設(shè)計(jì)了。圖圖1-11 添加控件添加控件|新建或修改一個(gè)項(xiàng)目,首先要繪制或修改工作界面,下面我們先來練習(xí)修改一個(gè)工程。|【例1-2】打開【例1-1】的“捉迷藏”工程,為小朋友添加兩個(gè)新的藏身之處:體育館和大學(xué)生俱樂部(圖1-11)。 2022-3-7南京大學(xué)出版社出版社43圖1-11 添加控件2022-3-7南京大學(xué)出版社出版社44|步驟如下:|(1)打開“捉迷藏”工
31、程;|(2)修改原來的窗口布局:改變?cè)瓉淼乃膫€(gè)藏身之處的大小和位置;|(3)為命令按鈕組增加兩個(gè)新成員:Command1(4)、Command1(5);|(4)修改Command1(4)、Command1(5)的Caption屬性值為“體育館”和“大學(xué)生俱樂部”,定義適當(dāng)字體大??;|(5)回憶在【例1-1】調(diào)試過程中發(fā)現(xiàn)的問題(當(dāng)單擊所猜的藏身之處后,小朋友不現(xiàn)身),我們也要將新成員 “Style”屬性設(shè)置成圖形模式:“1-Graphical”。|完成了上述界面設(shè)計(jì)后,啟動(dòng)工程試試看。將會(huì)發(fā)現(xiàn),小朋友始終不會(huì)光顧這兩個(gè)新區(qū)域,按鈕“無效”控制功能對(duì)兩個(gè)新成員都不起作用,為什么呢?|原來,我們還
32、沒有修改“控制代碼”。下面來補(bǔ)上這個(gè)環(huán)節(jié)。 2022-3-7南京大學(xué)出版社出版社45|1.2.5 程序代碼的設(shè)計(jì)輸入程序代碼的設(shè)計(jì)輸入|我們已經(jīng)看出,完成工作界面的設(shè)計(jì)只是完成了舞臺(tái)布局,要想讓“演員”按照“劇本”的規(guī)劃動(dòng)起來,為每一個(gè)控件設(shè)計(jì)程序代碼是關(guān)鍵。本課程的主要任務(wù)之一是學(xué)習(xí)如何設(shè)計(jì)程序代碼,我們這里僅介紹程序代碼的一些常規(guī)輸入方法和技巧。|VB的程序代碼是文本型代碼,可以在任何文本編輯器中編輯成功后復(fù)制到VB代碼窗口中,也可以直接在VB代碼窗口編輯。|在VB代碼窗口中編輯程序代碼時(shí),系統(tǒng)會(huì)對(duì)輸入的代碼進(jìn)行語法檢查,當(dāng)輸入的代碼包含語法錯(cuò)誤時(shí),系統(tǒng)會(huì)拒絕接收(顯示紅色警告),并自動(dòng)指
33、出錯(cuò)誤的位置和類型。在某一些場(chǎng)合,系統(tǒng)會(huì)出現(xiàn)下拉列表供用戶選擇,省去逐個(gè)輸入字符之苦,例如,當(dāng)要為命令按鈕2的Caption賦一個(gè)新值時(shí),當(dāng)準(zhǔn)確地輸入“Command2.”時(shí),系統(tǒng)知道你要為Command2定義某種屬性,會(huì)自動(dòng)列出所有屬性名供你選擇,如果你記住了屬性的第一個(gè)字母,輸入字符C時(shí),系統(tǒng)會(huì)將所有以C開頭的屬性名列出,使選擇更為方便。2022-3-7南京大學(xué)出版社出版社46|下面我們來補(bǔ)充【例1-2】中的程序代碼,必須修改和補(bǔ)充的代碼有以下幾個(gè)地方:|(1)供選擇的范圍增大了,由原來的03變?yōu)?5,因此要把原來的賦值語句“a = Int(4 * Rnd)”中的4改為8(第2章我們將詳細(xì)
34、介紹隨機(jī)函數(shù)Rnd的使用方法)。|(2)在Command1(0).Enabled = False| |Command1(3).Enabled = False|后增加兩個(gè)語句:|Command1(4).Enabled = False|Command1(5).Enabled = False|類似地,在Private Sub Command2_Click()-End Sub中的|Command1(0).Enabled = True| |Command1(3).Enabled = True|后增加兩個(gè)語句:|Command1(4).Enabled = True|Command1(5).Enabled
35、= True2022-3-7南京大學(xué)出版社出版社47|愛思考的讀者將會(huì)說,太麻煩了,要是設(shè)置10個(gè)藏身之處,是不是要把類似的語句寫上10遍呢?不,在以后學(xué)習(xí)了循環(huán)語句后,再多的類似語句只要寫一遍就行了。|至此,我們已經(jīng)將程序修改完畢,再運(yùn)行一次將會(huì)怎樣? 2022-3-7南京大學(xué)出版社出版社48|1.2.6 程序調(diào)試與運(yùn)行程序調(diào)試與運(yùn)行|在【例1-1】中我們已經(jīng)使用了VB的程序調(diào)試方法,并在調(diào)試過程中針對(duì)發(fā)現(xiàn)的問題作了修改。|啟動(dòng)工程調(diào)試的方法有以下幾種:|(1)使用運(yùn)行菜單中的“啟動(dòng)”命令;|(2)單擊工具欄中的“啟動(dòng)”按鈕;|(3)直接使用功能鍵F5。|VB的程序調(diào)試是使用VB的解釋系統(tǒng)對(duì)
36、程序代碼進(jìn)行邊解釋邊執(zhí)行,在調(diào)試過程中發(fā)現(xiàn)并糾正錯(cuò)誤。 2022-3-7南京大學(xué)出版社出版社49|“百密總有一疏”,無論怎樣經(jīng)驗(yàn)豐富的程序設(shè)計(jì)師也不能保證自己設(shè)計(jì)的程序會(huì)“絕對(duì)正確”,因此,及時(shí)地發(fā)現(xiàn)錯(cuò)誤并進(jìn)行糾正是程序調(diào)試的主要任務(wù)。程序設(shè)計(jì)中的錯(cuò)誤一般有兩種類型,一是語法錯(cuò)誤,二是語義錯(cuò)誤。前者是不符合VB語言語法規(guī)定所犯的錯(cuò)誤,這種錯(cuò)誤在調(diào)試過程中一般都能被解釋系統(tǒng)發(fā)現(xiàn)。而后者則經(jīng)常是因人對(duì)任務(wù)的理解不足而發(fā)生的錯(cuò)誤,解釋系統(tǒng)不能發(fā)現(xiàn),必須靠調(diào)試者的經(jīng)驗(yàn)、才智和細(xì)心來發(fā)現(xiàn)并糾正。比如,【例1-1】中調(diào)試過程中發(fā)現(xiàn)的兩個(gè)錯(cuò)誤就屬于語義錯(cuò)誤。|在VB中還有更多的調(diào)試方法和技巧,我們將在以后的
37、章節(jié)中做系統(tǒng)介紹。2022-3-7南京大學(xué)出版社出版社50|1.2.7 程序編譯與發(fā)行程序編譯與發(fā)行|在【例1-1】中經(jīng)過前4個(gè)步驟,可以使用文件菜單中的“保存”命令,保存工程項(xiàng)目。經(jīng)過保存的項(xiàng)目將會(huì)生成一系列文件,本例中將生成一個(gè)項(xiàng)目文件(.vbp)和一個(gè)窗體文件(.frm),如果需要,只要打開項(xiàng)目文件(用鼠標(biāo)雙擊)就可以隨時(shí)打開這個(gè)工程,進(jìn)一步修改工程文件。|如果要將程序提交給最終用戶,可以使用文件菜單中的“生成工程1.exe”菜單命令,對(duì)源程序進(jìn)行“編譯”,生成一個(gè)可執(zhí)行文件(.exe)提供給用戶。2022-3-7南京大學(xué)出版社出版社51|1.3 對(duì)象、屬性與事件驅(qū)動(dòng)編程方式對(duì)象、屬性與
38、事件驅(qū)動(dòng)編程方式|傳統(tǒng)的編程方法是面向處理問題的過程、按程序書寫順序執(zhí)行的機(jī)制。其缺點(diǎn)是程序員始終要關(guān)心什么時(shí)候會(huì)發(fā)生什么事情,因此處理Windows環(huán)境下的事件驅(qū)動(dòng)方式的工作量太大。|VB采用的是面向?qū)ο蟆⑹录?qū)動(dòng)的編程機(jī)制,程序員只需要編寫響應(yīng)用戶動(dòng)作的程序,而不必考慮判斷何時(shí)以及如何會(huì)發(fā)生這些事件的細(xì)節(jié),因此編寫的代碼要少得多。2022-3-7南京大學(xué)出版社出版社52|131 對(duì)象及其屬性對(duì)象及其屬性|何謂對(duì)象?圖圖1-12 手指頂壓氣手指頂壓氣球球|在現(xiàn)實(shí)世界中,一個(gè)人、一本書、一個(gè)氣球、一張桌子乃至地球、宇宙都可以視為一個(gè)對(duì)象。每一個(gè)對(duì)象都有一定的大小、形狀,并具有一定的外部特征,我們稱之為對(duì)象的“屬性”。除此之外,所有的對(duì)象都能“感知”外界發(fā)生的事件。在外力的作用下某些屬性會(huì)發(fā)生變化,并會(huì)產(chǎn)生某種行為或動(dòng)作。比如,氣球?qū)ο螅▓D1-12)具有一定大小、形狀和顏色,當(dāng)外部溫度發(fā)生變化時(shí),它會(huì)隨之膨脹或縮小,用手指頂壓氣球,相應(yīng)的部位會(huì)出現(xiàn)凹坑,放松系線,氣球就會(huì)升起,。圖1-12 手指頂壓氣球2022-3-7南京大學(xué)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 委托居間合同范本
- 科技助力下的老年居住環(huán)境優(yōu)化
- 2025至2030年中國(guó)焊條輔料數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 社交媒體運(yùn)營(yíng)與品牌傳播的融合之道
- 小學(xué)一年級(jí)語文短文閱讀練習(xí)題 拼音標(biāo)注版
- 支付協(xié)議合同范本
- 科技引領(lǐng)農(nóng)業(yè)種植技術(shù)的新變革與優(yōu)化
- 教練勞務(wù)合同范本
- 會(huì)議企業(yè)文化推廣協(xié)議
- 2024年中土集團(tuán)北方建設(shè)有限公司招聘考試真題
- 2025年佳木斯職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)完整
- 醫(yī)學(xué)影像檢查技術(shù)復(fù)習(xí)題(含參考答案)
- 2025年湖北省技能高考(建筑技術(shù)類)《建筑構(gòu)造》模擬練習(xí)試題庫(kù)(含答案)
- 撤銷失信名單申請(qǐng)書
- 2025年度養(yǎng)老服務(wù)機(jī)構(gòu)場(chǎng)地租賃合同及養(yǎng)老服務(wù)協(xié)議
- 貴州省情知識(shí)考試題庫(kù)500題(含答案)
- 大學(xué)生家長(zhǎng)陪讀承諾書
- 安全生產(chǎn)事故調(diào)查與案例分析(第3版)課件 呂淑然 第5章 事故案例評(píng)析
- 2024年泰州職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年參考題庫(kù)含答案解析
- 勞動(dòng)法培訓(xùn)課件
- 2024-2025學(xué)年成都市成華區(qū)七年級(jí)上英語期末考試題(含答案)
評(píng)論
0/150
提交評(píng)論