VB程序設(shè)計(jì)教案(詳細(xì))_第1頁
VB程序設(shè)計(jì)教案(詳細(xì))_第2頁
VB程序設(shè)計(jì)教案(詳細(xì))_第3頁
VB程序設(shè)計(jì)教案(詳細(xì))_第4頁
VB程序設(shè)計(jì)教案(詳細(xì))_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第1章VisualBasic6.0概述[課程引入]:先用教師機(jī)播放《VB教學(xué)實(shí)例程序演示系統(tǒng)》軟件,將幾個(gè)用VB編寫的、有趣的典型應(yīng)用程序?qū)嵗纾旱褂?jì)時(shí)、滾動(dòng)字幕、學(xué)生學(xué)籍管理、自制IE瀏覽器等演示給學(xué)生,引入本課程,以提高學(xué)生的感性認(rèn)識(shí)與學(xué)習(xí)興趣。[課堂提問與討論]:有哪些同學(xué)見過或使用過VB應(yīng)用程序?試舉例說明。[知識(shí)點(diǎn)講解]:§1.1程序設(shè)計(jì)基礎(chǔ)一、程序設(shè)計(jì)幾個(gè)概念1、程序:是為解決某一問題而編寫的語句集合,是將一個(gè)實(shí)際問題的具體操作用某種程序設(shè)計(jì)語言描述出來的指令序列。2、程序設(shè)計(jì):是分析問題、編寫程序、調(diào)試程序的過程。3、程序設(shè)計(jì)語言:是人們根據(jù)描述問題的需要而設(shè)計(jì)的,有固定的符號(hào)和語法規(guī)則、是計(jì)算機(jī)能夠識(shí)別的人機(jī)交流所使用的語言。二、程序設(shè)計(jì)語言的發(fā)展概況1、機(jī)器語言2、匯編語言3、高級(jí)語言§1.2VisualBasic6.0簡介一、VisualBasic6.0簡介1、概念:VisualBasic6.0簡稱VB,是Windows環(huán)境下可視化的、面向?qū)ο蟮某绦蛟O(shè)計(jì)開發(fā)工具。其中:Visual英文原意是“可視的”、“視覺的”。6.0是版本號(hào)。2、VB功能:用它可以開發(fā)數(shù)學(xué)計(jì)算、數(shù)據(jù)庫管理、客戶/服務(wù)器軟件、通訊軟件、多媒體與Internet/Intranet軟件等。其功能之強(qiáng)大絕非是早期Basic所能比擬的,其直觀、通俗易懂,特別適合于初學(xué)者。3、VB發(fā)展過程:美國微軟公司于1991年推出VB1.0版至今已經(jīng)歷了6個(gè)版本。4、VB中常用的幾個(gè)基本概念:面向?qū)ο螅好嫦驅(qū)ο缶幊淌墙⒃陬惖幕A(chǔ)上的,其通過類的封裝而使源程序更加便于維護(hù)。事件驅(qū)動(dòng):在事件驅(qū)動(dòng)模式下,程序的執(zhí)行是依靠系統(tǒng)能夠被識(shí)別的觸發(fā)事件啟動(dòng)的。5、VB的版本:VB6.0是MicrosoftVisualStudio開發(fā)工具組件中的一員,它共有3個(gè)版本:標(biāo)準(zhǔn)版、專業(yè)版、企業(yè)版。教學(xué)中采用企業(yè)版。6、運(yùn)行環(huán)境操作系統(tǒng):NTServer4.0、Windows98,或更高版本。CPU:486DX/66MHz或更高的處理器。內(nèi)存:Windows95/98下要求16MB以上的內(nèi)存,WindowsNT下要求32MB以上。磁盤空間:對(duì)于標(biāo)準(zhǔn)版或?qū)I(yè)版,典型安裝48MB,完全安裝80MB。對(duì)于企業(yè)版,典型安裝128MB,完全安裝147MB。其他設(shè)備:CD-ROM驅(qū)動(dòng)器,鼠標(biāo)。7、VB特點(diǎn):

具有面向?qū)ο蟮目梢暬O(shè)計(jì)工具;

事件驅(qū)動(dòng)的程序運(yùn)行機(jī)制;

提供了易學(xué)易用的應(yīng)用程序集成開發(fā)環(huán)境。

結(jié)構(gòu)化的程序設(shè)計(jì)語言;

支持多種數(shù)據(jù)庫系統(tǒng)的訪問;

支持動(dòng)態(tài)數(shù)據(jù)交換、動(dòng)態(tài)庫和對(duì)象嵌入技術(shù);

完備的聯(lián)機(jī)幫助功能。8、VB安裝(略)、幫助系統(tǒng)的使用(略)二、VisualBasic6.0啟動(dòng)、退出1、VB的啟動(dòng)雙擊桌面上的VB快捷方式圖標(biāo),或單擊桌面上“開始”按鈕→“程序”→MicrosoftVisualBasic6.0中文版→MicrosoftVisualBasic6.0中文版,都可以啟動(dòng)VB6.0。2、VB的退出單擊關(guān)閉按鈕、ALT+F4快捷鍵、或通過菜單命令“文件\退出”均可關(guān)閉并退出VB集成環(huán)境。[課堂練習(xí)]:1、課后習(xí)題1:2。2、預(yù)習(xí)本章后面內(nèi)容,思考課后習(xí)題1:3、6。[答疑]:針對(duì)學(xué)生提出的問題答疑。[小結(jié)]:本節(jié)主要講解VisualBasic6.0可視化編程的基本概念、發(fā)展過程、特點(diǎn)與其啟動(dòng)、退出的方法。要求掌握全部知識(shí)點(diǎn)。[作業(yè)]:上機(jī)熟悉VisualBasic6.0的啟動(dòng)、退出與界面組成。預(yù)習(xí)第2章內(nèi)容?!?.3VB的可視化開發(fā)環(huán)境[復(fù)習(xí)]:以提問的方式,復(fù)習(xí)上節(jié)所講知識(shí),檢查學(xué)生掌握情況。[引入]:啟動(dòng)VB后,同學(xué)們見到的VB開發(fā)環(huán)境由哪幾部分組成?這個(gè)問題即是本節(jié)要講的內(nèi)容。[知識(shí)點(diǎn)講解]:一、VB的界面組成VB的界面由標(biāo)題欄、菜單欄、工具欄、控件箱、窗體編輯窗口、工程資源管理窗口、屬性窗口、窗體布局窗口等組成。(如教材圖2-2所示)二、VB各部分功能簡介1、菜單欄:是在集成開發(fā)環(huán)境下發(fā)布命令的最基本手段。VisualBasic頂級(jí)菜單有:文件、編輯、視圖、工程、格式、運(yùn)行、查詢、圖表、工具、外接程序、窗口、幫助,但菜單命令是通過子菜單中的子菜單項(xiàng)發(fā)出的。文件菜單:主要用于建立、打開、添加、移去、保存工程和文件,包括:新建工程、打開工程、添加工程、移除工程、保存工程、工程另存為、保存文件、文件另存為、打印、打印設(shè)置等子菜單項(xiàng)。編輯菜單:在對(duì)工程進(jìn)行修改時(shí),編輯菜單用于各種編輯操作。包括:撤消、重復(fù)、剪切、復(fù)制、粘貼、粘貼、刪除、全選、查找、縮進(jìn)、凸出、插入文件、屬性方法列表、快速信息、參數(shù)信息書簽等子菜單項(xiàng)。視圖菜單:視圖菜單用于顯示各種窗口與和窗口有關(guān)的操作。包括:代碼窗口、對(duì)象窗口、定義、最后位置、對(duì)象瀏覽器、立即窗口、本地窗口、監(jiān)視窗口、調(diào)用堆棧、工程資源管理器、屬性窗口、窗體布局窗口、屬性頁、表、縮放、顯示窗格、工具箱、調(diào)色板、工具欄等子菜單項(xiàng)。工程菜單:用于為當(dāng)前工程創(chuàng)建模塊、作對(duì)象引用或提供各種設(shè)計(jì)器。包括:添加窗體、添加MDI窗體、添加模塊、添加用戶控件、添加屬性頁、添加用戶文檔、添加設(shè)計(jì)器、添加文件、移除、引用、部件、工程屬性等子菜單項(xiàng)。格式菜單:用于界面設(shè)計(jì),能使界面中的控件按規(guī)范排列。包括:對(duì)齊、統(tǒng)一尺寸、按網(wǎng)格調(diào)整大小、水平間距、垂直間距、鎖定控件等子菜單項(xiàng)。調(diào)試菜單:用于調(diào)試、監(jiān)視程序。包括:逐語句、逐過程、跳出、運(yùn)行到光標(biāo)處、添加監(jiān)視、編輯監(jiān)視、快速監(jiān)視、切換斷點(diǎn)、清除所有斷點(diǎn)等子菜單項(xiàng)。查詢菜單:各條命令用于數(shù)據(jù)庫表的查詢與相關(guān)操作。所提供的各種查詢?cè)O(shè)計(jì)工具,使用戶能夠通過可視化工具創(chuàng)建SQL語句,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的查詢、修改。運(yùn)行菜單:用于執(zhí)行程序。包括:啟動(dòng)、全編譯執(zhí)行、中斷、結(jié)束、重新啟動(dòng)等子菜單項(xiàng)。工具菜單包括:添加過程、過程屬性、菜單編輯器、選項(xiàng)、發(fā)布等子菜單項(xiàng)。外接程序菜單用于為當(dāng)前工程創(chuàng)建含有:可視化數(shù)據(jù)管理器、外接程序管理器等子菜單項(xiàng)。窗口菜單:用于調(diào)整已打開窗口的排列方式。包括:拆分、水平平輔、垂直平鋪、層疊、排列圖標(biāo)等子菜單項(xiàng)。幫助菜單:用于給用戶提供各種方式的幫助。包括:內(nèi)容、索引、搜索、技術(shù)支持等子菜單項(xiàng)。[課堂練習(xí)1]:提問:若將界面上的某窗口誤操作關(guān)閉,如何通過菜單將其重新打開?2、VisualBasic6.0工具欄工具欄的作用是可以通過單擊其上面的圖標(biāo)按鈕執(zhí)行菜單命令,由此加快操作速度。VisualBasic能提供“編輯”、“標(biāo)準(zhǔn)”、“窗體編輯器”、“調(diào)試”等幾個(gè)工具欄,用戶也可以按自己的需要,通過“視圖\工具欄”菜單來選取“自定義”工具欄。3、VisualBasic6.0控件箱(又稱工具箱)控件箱是VisualBasic為程序界面開發(fā)而提供控件的面板。默認(rèn)為內(nèi)置控件。除了VisualBasic內(nèi)置控件之外,用戶還可以通過菜單“工程\部件”打開“部件”對(duì)話框,從中能添加控件、設(shè)計(jì)器或可插入對(duì)象到工具箱中,也可以引用已加載的控件工程。4、工程管理器窗口工程管理器又稱工程資源管理器,它以層次列表的方式管理當(dāng)前工程文件或工程組文件中所包含的窗體文件、模塊文件、類模塊文件等3種類型的文件。5、屬性窗口屬性窗口用于顯示和設(shè)置窗體或控件的所有屬性。它由3部分組成:對(duì)象列表框、屬性列表框、屬性含義說明。6、窗體布局窗口窗體布局窗口用于確定程序運(yùn)行時(shí)窗體在屏幕上的初始位置。除了以上基本部分外,在VB程序設(shè)計(jì)中還有一個(gè)重要的窗口,即代碼編輯窗口。[課堂練習(xí)2]:試設(shè)置默認(rèn)窗體的背景顏色為紅色,字體的顏色為黃色,試著在它上面“畫”幾個(gè)控件。[答疑]:針對(duì)學(xué)生提出的問題答疑。[小結(jié)]本章節(jié)主要講VisualBasic6.0集成開發(fā)環(huán)境界面組成。本節(jié)內(nèi)容可作為“字典”備查,不需全部掌握,編程用到時(shí),再返回本節(jié)查看。重點(diǎn)掌握:文件、運(yùn)行菜單;控件箱、屬性窗口的使用即可。[作業(yè)]上機(jī)熟悉VisualBasic6.0的啟動(dòng)、退出與界面組成,控件箱、屬性窗口的使用?!?.4VB可視化編程概念§1.5可視化編程初識(shí)[復(fù)習(xí)]:上節(jié)所講VisualBasic6.0集成開發(fā)環(huán)境界面組成。[實(shí)例引入]:VB的第一個(gè)實(shí)例——“歡迎進(jìn)入奇妙的VB世界”。先演示此例的運(yùn)行結(jié)果,用以引入本節(jié)內(nèi)容。[知識(shí)點(diǎn)講解]:一、VB編程中用到的幾個(gè)概念1、對(duì)象:(object)是代碼和數(shù)據(jù)的集合,在VB環(huán)境中,常用的對(duì)象有工具箱中的控件、窗體、菜單、應(yīng)用程序的部件,以與數(shù)據(jù)庫等。對(duì)象有三個(gè)特征:屬性、事件和方法。對(duì)象的屬性:VB中每個(gè)對(duì)象都有一組特征,這組特征稱為屬性。屬性設(shè)置方法:先選定對(duì)象,然后在屬性窗口中找到相應(yīng)屬性直接設(shè)置;或編程在代碼中設(shè)置,格式為:對(duì)象名·屬性名=屬性值。2、事件:對(duì)象的事件(Event)就是對(duì)象上所發(fā)生的事情。VB中事件是預(yù)先定義好的,能夠被對(duì)象是別的動(dòng)作,如:單擊事件(Click)、雙擊事件(Dblclick)、裝載事件(Load)、鼠標(biāo)移動(dòng)事件(MouseMove)等。對(duì)象的事件是固定的,用戶不能建立新的事件,程序員只需編寫必須相應(yīng)的事件過程即可。事件過程的一般編寫格式為:Sub……程序代碼……Endsub3、方法:事件的方法與事件過程類似,它可能函數(shù)或過程,用于完成某種特定功能,而不能相應(yīng)某個(gè)事件。如:對(duì)象打印方法(Print)、窗體顯示方法(Show)、移動(dòng)方法(Move)等??捎靡韵赂袷秸{(diào)用對(duì)象方法:對(duì)象名·方法名。例如:Form1·Show二、VB可視化編程的步驟一般步驟為:打開VB→新建工程→添加控件、設(shè)計(jì)應(yīng)用程序界面→設(shè)置屬性→編寫代碼→運(yùn)行工程→修改工程→保存工程。1、新建工程:步驟:啟動(dòng)VB→新建工程,標(biāo)準(zhǔn)EXE。或者文件菜單→新建工程→標(biāo)準(zhǔn)EXE。2、添加控件、設(shè)計(jì)應(yīng)用程序界面:方法:單擊工具箱中的某控件圖標(biāo),鼠標(biāo)變成“+”指針,然后在窗體工作區(qū)按住鼠標(biāo)左鍵拖動(dòng)鼠標(biāo),松開即可在窗體上畫出對(duì)應(yīng)控件。3、屬性設(shè)置:先選定對(duì)象,然后在屬性窗口中找到相應(yīng)屬性直接設(shè)置;或編程在代碼中設(shè)置,格式為:對(duì)象名·屬性名=屬性值。4、編寫代碼:打開代碼編輯器,單擊“對(duì)象”下拉列表框,從中選取相應(yīng)對(duì)象,單擊“過程”下拉列表框,從中選取相應(yīng)事件,然后編寫代碼。5、運(yùn)行工程:單擊工具欄上的“運(yùn)行”按鈕或按F5鍵,即可運(yùn)行工程。單擊“退出”按鈕或標(biāo)題欄上的“關(guān)閉”按鈕,即可結(jié)束工程運(yùn)行。6、保存工程:單擊“文件”菜單→“保存工程”或“工程另存為”或單擊工具欄上的“保存工程”,即可保存工程。三、實(shí)例:實(shí)例1:VB的第一個(gè)實(shí)例——“歡迎進(jìn)入奇妙的VB世界”。運(yùn)行結(jié)果如圖2-8所示。程序界面由一個(gè)文本框和一個(gè)命令按鈕組成,單擊命令按鈕時(shí),文本框會(huì)出現(xiàn)“歡迎進(jìn)入奇妙的VB世界”字樣。詳見教材P10-12。具體操作步驟如下:1、設(shè)計(jì)界面:在窗體上畫一個(gè)一個(gè)文本框和一個(gè)命令按鈕。2、設(shè)置屬性:按表2-1設(shè)置各對(duì)象的屬性:控件名屬性名屬性設(shè)置值歡迎進(jìn)入奇妙的VB世界窗體Form1caption文本框Text1text命令按鈕Command1caption確定3、編寫代碼:命令按鈕Command1的click事件過程代碼為:text1.text=”歡迎進(jìn)入奇妙的VB世界”4、運(yùn)行應(yīng)用程序:選擇“運(yùn)行|啟動(dòng)”、F5鍵、單擊工具欄上“啟動(dòng)”按鈕都可以運(yùn)行該示例程序。5、保存工程:單擊工具欄上的“保存”按鈕即可保存該工程和窗體文件。(詳細(xì)講解并演示以上幾個(gè)步驟的制作過程)[課堂練習(xí)]:上機(jī)實(shí)現(xiàn)以上實(shí)例。[答疑]:針對(duì)學(xué)生提出的問題答疑。[小結(jié)]可視化編程的概念、程序調(diào)試步驟。習(xí)題1:思考:習(xí)題2、3、5、6、7;上機(jī):熟悉VB的界面,編程并上機(jī)實(shí)現(xiàn):習(xí)題7。§1.5可視化編程初識(shí)[復(fù)習(xí)與作業(yè)講解]:1、復(fù)習(xí)VB應(yīng)用程序調(diào)試的全過程。2、講解作業(yè)7題,并以此引入“工程”的概念。[知識(shí)點(diǎn)講解]:一、VB的開發(fā)模式VB提供了3種開發(fā)模式:設(shè)計(jì)模式、運(yùn)行模式和中斷模式。二、VB工程概述1、工程文件(.vbp):VB使用了稱為“工程”的特殊文件來管理應(yīng)用程序中所有不同的文件。它提供了與該工程有關(guān)的全部文件和對(duì)象的清單,每當(dāng)保存工程時(shí),VB都要更新工程文件。一個(gè)完整的工程中的文件包括:

跟蹤所有部件的工程文件(.vbp);

窗體文件(.frm);

窗體所對(duì)應(yīng)二進(jìn)制數(shù)據(jù)文件(.frx);

標(biāo)準(zhǔn)模塊文件(.bas)。2、工程管理(1)新建工程:“文件|新建工程”、選擇類型后“確定”。(2)打開工程:“文件|打開工程”。(3)保存工程:兩種方法:直接保存和工程另存為。(4)向工程中添加文件:“工程|添加文件”將現(xiàn)存的文件添加到當(dāng)前的工程文件中。(5)從工程中刪除文件:在工程資源管理器中先選定要?jiǎng)h除的文件,然后再選擇“工程|移除文件”移除。3、啟動(dòng)窗體的設(shè)置:可以將工程中的任一個(gè)窗體設(shè)置為啟動(dòng)窗體,方法是:“工程|xxx屬性…”,其中xxx為當(dāng)前工程的名稱。[課堂練習(xí)]:查看上節(jié)實(shí)例(第1個(gè)VB實(shí)例)所生成的工程文件與其他文件,注意其擴(kuò)展名。[答疑]:針對(duì)學(xué)生提出的問題答疑。[小結(jié)]:本節(jié)主要講解工程的概念、工程文件的組成、工程的管理等。要求了解工程文件的組成,掌握工程文件的保存、打開方法。[作業(yè)]:P18,習(xí)題2。筆答:習(xí)題1、2、3、4、6、10;上機(jī):熟悉VB的工程,編程并上機(jī)實(shí)現(xiàn):習(xí)題13。[拓展與提高]:試將習(xí)題13貼上一幅自己喜歡的圖片。第3章VB簡單應(yīng)用程序的設(shè)計(jì)[復(fù)習(xí)、提問]:以提問方式復(fù)習(xí)上節(jié)所講VisualBasic6.0工程知識(shí)。[實(shí)例演示、引入]:前面章節(jié)實(shí)例中用到的命令按鈕、文本框等統(tǒng)稱為——控件。在窗體上任意畫若干個(gè)控件,演示其常見屬性的設(shè)置,大小、位置的調(diào)整。用以引入本節(jié)內(nèi)容。[知識(shí)點(diǎn)講解]:§3.1控件概述一、控件概述1、控件:是建立VB應(yīng)用程序的基本元素??梢暬绦蛟O(shè)計(jì)就是通過控件實(shí)現(xiàn)的。2、VB的控件分類:分為三大類:內(nèi)部固有控件、ActiveX控件、可插入的對(duì)象。用戶可以通過“工具箱”獲取各種內(nèi)部控件。內(nèi)部控件是包含在VisualBasic系統(tǒng)內(nèi),可以直接使用的控件;因此具有相對(duì)較好的運(yùn)行性能。3、常用的內(nèi)部控件有:命令按鈕、文本框、標(biāo)簽、框架、列表框、組合框、復(fù)選框、選項(xiàng)按鈕、圖片框、定時(shí)器、數(shù)據(jù)控件等。§3.2控件的常用屬性1、屬性的設(shè)置方法:有兩種方法:一種是通過屬性窗口來直接設(shè)置,另一種是在代碼中設(shè)置。即:對(duì)象名稱.屬性名稱=設(shè)置值例如:Command1.Caption=“確定”用代碼設(shè)置的方法常用于動(dòng)態(tài)地修改控件的有關(guān)屬性。2、控件的常用屬性Caption屬性:也稱標(biāo)題屬性,用于設(shè)置在控件上顯示的文本內(nèi)容。Name屬性:對(duì)象在創(chuàng)建時(shí)所取的名字。編代碼引用該對(duì)象時(shí)使用,這個(gè)名字不會(huì)出現(xiàn)在窗體上,且每個(gè)對(duì)象都有。Enabled屬性:決定了對(duì)象在運(yùn)行時(shí)是否允許用戶操作。Font屬性:用于設(shè)置字符的格式,如字體、字號(hào)、字形等。Height、Width、Top、Left屬性:決定控件的大小、位置。ForeColor、BackColor:分別設(shè)置對(duì)象的背景色、前景色?!?.3控件的格式化1、控件的添加/刪除:兩種方法:單擊拖動(dòng)、雙擊再移動(dòng)。2、控件的大小與位置:控件的位置調(diào)整有兩種方法:一是用鼠標(biāo)拖動(dòng)對(duì)象,二是使用Ctrl+方向鍵。3、窗體與控件的布局調(diào)整:兩種方法:一是通過“格式”菜單,二是通過“窗體編輯器”。[課堂練習(xí)]:上機(jī)練習(xí):在窗體上任意畫若干個(gè)控件,試完成其常見屬性的設(shè)置,大小、位置的調(diào)整?!?.4基本控件的使用一、標(biāo)簽(Label)1、Label(標(biāo)簽)控件是專門用來顯示文本的,因此用戶不能對(duì)標(biāo)簽內(nèi)的文本進(jìn)行編輯。2、一般被用作標(biāo)題名。通常用標(biāo)簽來標(biāo)注本身不具有Caption屬性的控件。例如,可用Label控件為文本框、列表框、組合框等控件添加描述性的文字。3、標(biāo)簽常用的屬性有:Caption屬性:缺省屬性,設(shè)置標(biāo)簽中顯示的文本內(nèi)容。AutoSize屬性:設(shè)置控件是否能自動(dòng)調(diào)整以顯示所有的內(nèi)容。WordWrap屬性:該屬性設(shè)置是否擴(kuò)大以顯示標(biāo)題文字。二、命令按鈕(CommandButton)1、當(dāng)用戶需要交互式地控制應(yīng)用程序的時(shí)候,最簡便的方法就是給用戶提供一個(gè)“命令按鈕”。2、命令按鈕的作用是:在用戶單擊它時(shí),將會(huì)激發(fā)它的Click事件。因此,將代碼寫入命令按鈕的Click事件過程,通過用戶單擊就可以執(zhí)行相關(guān)操作。3、命令按鈕的常用屬性有:Cancel屬性:用于設(shè)置按鈕為取消按鈕。Caption屬性:用于設(shè)置在命令按鈕上顯示的文本。Style屬性:設(shè)置命令按鈕的外觀。三、文本框(TextBox)1、TextBox(文本框)控件一般是用來接收或顯示輸入輸出信息,可用于編輯文本。2、經(jīng)常使用的文本框?qū)傩杂校篢ext屬性:用于設(shè)置顯示的文本內(nèi)容。MaxLength屬性:用于設(shè)置文本框中輸入字符串的長度限制。MultiLine屬性:用于設(shè)置文本框是否以多行方式顯示文本。PasswordChar屬性:用于設(shè)置是否顯示用戶鍵入的字符。ScrollBars屬性:用于設(shè)置文本框是否有垂直或水平滾動(dòng)條。[答疑]:針對(duì)學(xué)生提出的問題答疑。[小結(jié)]本節(jié)主要講三種基本控件的編程使用。要點(diǎn):三種基本控件的常用屬性的設(shè)置和編程實(shí)現(xiàn)。[習(xí)題]預(yù)習(xí):實(shí)例1、2、3。思考:習(xí)題3:2、4、5。§3.4基本控件的使用——例題[提問]:以提問方式復(fù)習(xí)上節(jié)所講VB6.0控件知識(shí)。[實(shí)例演示]:演示實(shí)例3-1,用以引入本節(jié)內(nèi)容。[知識(shí)點(diǎn)講解]:例題講解:1、講解并演示教材P27例3-1。實(shí)現(xiàn)步驟、編程代碼:如教材P27(略)[課堂練習(xí)1]:上機(jī)實(shí)現(xiàn)例3-1。2、講解并演示教材P28例3-2。[課堂練習(xí)2]:上機(jī)實(shí)現(xiàn)例3-2。3、演示教材P31例3-3。[課堂練習(xí)3]:上機(jī)實(shí)現(xiàn)例3-3。[答疑]:針對(duì)學(xué)生提出的問題答疑。[小結(jié)]本節(jié)主要以實(shí)例形式講解三種基本控件的編程思路與編程方法。要求掌握重點(diǎn)語句的使用。[習(xí)題]習(xí)題32、4、5。編程并上機(jī)實(shí)現(xiàn):7、11、12。要求:交上機(jī)作業(yè)。每人通過網(wǎng)絡(luò)上傳一個(gè)文件夾,文件夾以班級(jí)、XX、學(xué)號(hào)為名字,內(nèi)含3個(gè)可執(zhí)行文件(EXE文件)。記一次平時(shí)成績?!盎究丶氖褂谩薄?xí)題課[學(xué)生演示]:指定學(xué)生演示實(shí)例3-1、3-3,檢查學(xué)生例題掌握情況,并給其記一次平時(shí)成績。[學(xué)生作業(yè)講評(píng)]:針對(duì)所交作業(yè)中出現(xiàn)的共同問題講評(píng)。[知識(shí)點(diǎn)講解]:例1:課后習(xí)題P33-7。設(shè)計(jì)步驟(同以前例題,略),程序代碼如下:PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=1ThenForm1.Picture=LoadPicture("c:\programfiles\microsoftoffice\office10\bitmaps\styles\globe.wmf")ElseForm1.Picture=LoadPicture("")EndIfEndSub[課堂練習(xí)1]:學(xué)生上機(jī)實(shí)現(xiàn)例1。例2:程序結(jié)果為分別在窗體上顯示“今天是:”后分別顯示當(dāng)前年月日、時(shí)分秒。制作步驟(略),程序代碼如下:PrivateSubCommand1_Click()Label1.Caption="歡迎使用:"&Chr(13)&Chr(13)&"VB6"EndSubPrivateSubCommand2_Click()Label1.Caption="今天是:"&Chr(13)&Chr(13)&Year(Date)&"年"_&Month(Date)&"月"&Day(Date)&"日"&Chr(13)&Chr(13)&Hour(Time)&"時(shí)"&Minute(Time)&"分"&Second(Time)&"秒"EndSubPrivateSubCommand3_Click()UnloadMeEndSub[課堂練習(xí)2]:學(xué)生上機(jī)實(shí)現(xiàn)例2。例3:P33習(xí)題12,程序結(jié)果如圖3-10,程序代碼如下PrivateSubCommand1_Click()‘紅燈Label1.Picture=LoadPicture("c:\programfiles\Microsoftvisualstudio\common……\trff10c.ico")Label2.visible=falseLabel2.visible=falseEndSub另兩段代碼類似(略)。[課堂練習(xí)3]:學(xué)生上機(jī)實(shí)現(xiàn)例3。[答疑]:針對(duì)學(xué)生提出的問題答疑。[小結(jié)]本節(jié)主要通過課后習(xí)題講解,使用學(xué)生訓(xùn)練掌握三種基本控件的編程知識(shí)與技巧。[習(xí)題]課后實(shí)驗(yàn)1,P243實(shí)驗(yàn)二、2(1)-(2)。要求:交上機(jī)作業(yè)P243實(shí)驗(yàn)二、2(1)-(2)。每人通過網(wǎng)絡(luò)上傳一個(gè)文件夾,文件夾以班級(jí)XX學(xué)號(hào)為名,內(nèi)含2個(gè)可執(zhí)行文件(EXE文件)。[學(xué)生演示]:指定學(xué)生演示課后實(shí)驗(yàn)1,P243二、2(1)-(2)。,檢查學(xué)生作業(yè)情況,并給其記一次平時(shí)成績。[學(xué)生作業(yè)講評(píng)]:針對(duì)以上演示中出現(xiàn)的問題講評(píng)。[知識(shí)點(diǎn)講解]:第4章代碼基礎(chǔ)與程序結(jié)構(gòu)§4.1數(shù)據(jù)類型一、常量與變量1、常量:是用標(biāo)識(shí)符表示永遠(yuǎn)不變的數(shù)值或字符串。值得注意的是:常量不能象對(duì)變量那樣在程序運(yùn)行過程中給常量標(biāo)識(shí)符賦以新值。常量有兩種來源:內(nèi)部的或系統(tǒng)定義的,其由VisualBasic系統(tǒng)或引用的對(duì)象提供;用戶自定義的,其需要用Const語句來聲明。用戶自定義常量:用戶自定義常量在使用前需要聲明,由此使該標(biāo)識(shí)符能夠被程序識(shí)別。其語法是:[Public/Private]Const常量名[As類型]=常量表達(dá)式例如:ConstconMaxPlanetsAsInteger=92、變量:在VisualBasic中執(zhí)行應(yīng)用程序期間,用變量臨時(shí)存儲(chǔ)數(shù)據(jù)。變量有名字(變量標(biāo)識(shí)符)和數(shù)據(jù)類型(確定變量能夠存儲(chǔ)的數(shù)據(jù)的種類)??梢园炎兞靠醋鲀?nèi)存中存放未知值的所在處。聲明變量:聲明變量就是事先將變量通知程序,由此使變量的使用合法。語法:Dim/Private/Public/Static變量名[As類型]例如:DimIAsIntegerPrivateYourNameAsString,BillsPaidAsCurrencyPublicTest,Amount,JAsInteger變量范圍:變量的范圍確定了能夠知曉該變量存在的那部分代碼。一個(gè)變量在劃定范圍時(shí)被看作是過程級(jí)變量、模塊級(jí)變量,或是公用變量。這取決于聲明該變量時(shí)采用的方式。過程級(jí)變量:過程級(jí)變量只有在聲明它們的過程中才能被識(shí)別,也稱它們?yōu)榫植孔兞俊>植孔兞恐荒苡肈im或Static關(guān)鍵字來聲明它們。例如:DimintTempAsIntegerStaticintPermanentAsInteger用Dim聲明的變量只在過程執(zhí)行期間才存在。而用Static聲明的局部變量,則在整個(gè)應(yīng)用程序運(yùn)行期一直存在,稱做:靜態(tài)變量。模塊級(jí)變量:模塊級(jí)變量對(duì)該模塊(包括:標(biāo)準(zhǔn)模塊、窗體模塊、類模塊)的所有過程都可用,但對(duì)其他模塊的代碼不可用??稍谀K頂部的聲明段用Private或Dim關(guān)鍵字聲明模塊級(jí)變量。例如:PrivateintTempAsInteger公用變量:為了使模塊級(jí)的變量在其他模塊中也有效,需要用Public關(guān)鍵字聲明。經(jīng)過Public關(guān)鍵字聲明的變量是公用變量,其值可用于應(yīng)用程序的所有過程。只能在模塊的聲明段中用Public關(guān)鍵字聲明公用變量,例如:PublicintTempAsInteger二、數(shù)據(jù)類型:所有變量都具有數(shù)據(jù)類型,以決定能夠存儲(chǔ)哪種數(shù)據(jù)。變量的數(shù)據(jù)類型決定了如何將代表這些值的位存儲(chǔ)到計(jì)算機(jī)的內(nèi)存中。除變量外,數(shù)據(jù)類型也用于其他場合。如在給對(duì)象屬性賦值時(shí),這個(gè)值就有數(shù)據(jù)類型;函數(shù)的參數(shù)也有數(shù)據(jù)類型。事實(shí)上,在VisualBasic中,凡是涉與數(shù)據(jù)就與數(shù)據(jù)類型有關(guān),包括:變量、常量、數(shù)組,以與函數(shù)、過程中的參數(shù)。1、數(shù)值型數(shù)據(jù)VisualBasic支持幾種數(shù)值數(shù)據(jù)類型—Integer(整型)、Long(長整型)、Single(單精度浮點(diǎn)型)、Double(雙精度浮點(diǎn)型)、Currency(貨幣型),另外,Byte(字節(jié)型)也可用于數(shù)值計(jì)算。所有數(shù)值變量都可相互賦值。在將浮點(diǎn)數(shù)賦予整數(shù)之前,VisualBasic將浮點(diǎn)數(shù)的小數(shù)部分四舍五入到整數(shù)。2、String數(shù)據(jù)類型String型變量用于存儲(chǔ)字符串,如下列語句:DimSAsStringS="Database"在缺省情況下,String型變量是一個(gè)可變長度的字符串變量,隨著對(duì)其賦予新數(shù)據(jù),它的長度可增可減。但也可以聲明具有固定長度String型變量,語法是:3、Boolean數(shù)據(jù)類型若變量的值只是“true/false”、“yes/no”、“on/off”信息,則可將它聲明為Boolean類型。Boolean的缺省值為False。4、Date數(shù)據(jù)類型用于存儲(chǔ)Date和Time值,VisualBasic接受許多種文字的Date和Time格式。例如:DimSomeDateAsDateSomeDate=#1980-03-16#SomeDate=#3-6-9313:20#SomeDate=#March27,19931:20am#5、Object數(shù)據(jù)類型Object變量采用32位(4個(gè)字節(jié))地址來存儲(chǔ)對(duì)象,該地址可引用應(yīng)用程序中或某些其他應(yīng)用程序中的對(duì)象??梢噪S后(用Set語句)指定一個(gè)被聲明為Object的變量去引用應(yīng)用程序所識(shí)別的任何實(shí)際對(duì)象,如:DimobjDbAsObjectSetobjDb=OpenDatabase("c:\Vb5\Biblio.mdb")6、Variant數(shù)據(jù)類型如果把數(shù)據(jù)賦予Variant變量,則不必在這些數(shù)據(jù)的類型間進(jìn)行轉(zhuǎn)換;VisualBasic會(huì)自動(dòng)完成任何必要的轉(zhuǎn)換。例如:DimSomeValueSomeValue="17"SomeValue=SomeValue-15SomeValue="U"&SomeValue7、自定義數(shù)據(jù)類型在模塊的聲明部分可以使用Type語句建立自定義數(shù)據(jù)類型。語法格式:[Private|Public]Type自定義類型名元素As類型…EndType[小結(jié)]:本節(jié)主要講解常量、變量,幾種數(shù)據(jù)類型的概念。要求學(xué)生理解。[作業(yè)]:思考:理解幾種數(shù)據(jù)類型。[復(fù)習(xí)]:幾種數(shù)據(jù)類型。[知識(shí)點(diǎn)講解]:§4.2運(yùn)算符和表達(dá)式一、運(yùn)算符程序中對(duì)數(shù)據(jù)的基本加工,是依靠運(yùn)算符實(shí)現(xiàn)的。在VisualBasic中運(yùn)算符的類型有算術(shù)運(yùn)算符、字符串運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符。1、算術(shù)運(yùn)算符用來進(jìn)行算術(shù)運(yùn)算,有:+(加)、-(減)、*(乘)、/(除)、\(整除)、Mod(求模)、^(乘方)等運(yùn)算符。2、字符串運(yùn)算符&、+運(yùn)算符都能用于進(jìn)行兩個(gè)字符串的連接,但&運(yùn)算符強(qiáng)制兩個(gè)表達(dá)式按字符串連接,盡管被連接的表達(dá)式不是字符串也是如此。而+運(yùn)算符則較復(fù)雜,當(dāng)兩個(gè)表達(dá)式都是字符串時(shí)按字符串連接,否則視具體情況會(huì)有不同結(jié)果。因此,在進(jìn)行字符串連接時(shí)一般使用&運(yùn)算符。3、運(yùn)算符關(guān)系運(yùn)算符包括:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、<>(不等于)和=(等于),用來反映兩個(gè)數(shù)值或字符串表達(dá)式之間的關(guān)系。關(guān)系成立,返回True(真);關(guān)系不成立,返回False(假);兩個(gè)表達(dá)式中若有Null,則返回Null。4、邏輯運(yùn)算符邏輯運(yùn)算符包括:Not(非)、And(與)、Or(或)、Xor(異或)、Equ(邏輯等于)和Imp(邏輯蘊(yùn)涵),用于表達(dá)兩個(gè)邏輯表達(dá)式之間的關(guān)系。在進(jìn)行邏輯運(yùn)算時(shí),只要參入運(yùn)算的表達(dá)式中有一個(gè)為Null,則將返回Null。5、運(yùn)算符優(yōu)先順序在表達(dá)式中,當(dāng)運(yùn)算符不止一種時(shí),要先處理算術(shù)運(yùn)算符,接著處理比較運(yùn)算符,然后再處理邏輯運(yùn)算符。算術(shù)運(yùn)算符優(yōu)先級(jí)由高至低是:指數(shù)運(yùn)算(^)、負(fù)數(shù)(–)、乘法和除法(*、/)、整數(shù)除法(\)、求模運(yùn)算(Mod)、加法和減法(+、–)、字符串連接(&)。邏輯運(yùn)算符優(yōu)先級(jí)由高至低是:Not、And、Or、Xor、Eqv、Imp。所有比較運(yùn)算符的優(yōu)先順序都相同。二、表達(dá)式通過常量、變量、運(yùn)算符、函數(shù)等的組合,由此構(gòu)成表達(dá)式。VisualBasic中的賦值運(yùn)算符“=”用來給變量、數(shù)組或?qū)ο蟮膶傩再x值,即把運(yùn)算符右邊的內(nèi)容(包括常量、變量、函數(shù)返回值或?qū)ο蟮膶傩裕┵x給運(yùn)算符左邊的變量或?qū)傩?。語法格式:Variable=表達(dá)式其中variable可以是變量、數(shù)組的元素等。表達(dá)式可以是常數(shù)、常量、變量或函數(shù)調(diào)用,但必須有確定的值。[例題]計(jì)算下列表達(dá)式的值。解:2+3>5and5<3值為falsenot5<3and6-2=10+2值為true[答疑]:針對(duì)學(xué)生提出的問題答疑。[小結(jié)]:本節(jié)主要講解幾種運(yùn)算符的作用與優(yōu)先級(jí)。要求掌握并能夠正確計(jì)算各類表達(dá)式的值。[作業(yè)]:P62習(xí)題5、6、7、8、9、10、11、12?!?.3程序流程[復(fù)習(xí)]:幾種運(yùn)運(yùn)算符的作用與優(yōu)先級(jí)。[講解習(xí)題]:講解上節(jié)課后習(xí)題。[實(shí)例引入]:演示例題:P66-3,以引入程序流程概念。[知識(shí)點(diǎn)講解]:一、順序流程控制程序的基本運(yùn)行方式是自頂向下地順序執(zhí)行各條語句,被稱做順序結(jié)構(gòu)。對(duì)于簡單的問題,依靠順序結(jié)構(gòu)就可以完成任務(wù);但對(duì)于稍微復(fù)雜一點(diǎn)的問題,單純依靠順序結(jié)構(gòu)也許就不夠了,而必須在程序中加入更多的控制。程序流程的控制是通過有效的控制結(jié)構(gòu)來實(shí)現(xiàn)的,包括:分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。二、分支結(jié)構(gòu)分支結(jié)構(gòu)的作用是使程序依照條件而走不同的支路。VisualBasic支持的分支結(jié)構(gòu)有:If...ThenIf...Then...ElseSelectCase程序中,往往根據(jù)需要選擇合適的分支結(jié)構(gòu)。If...Then語句用If...Then結(jié)構(gòu)可以有條件地執(zhí)行其結(jié)構(gòu)內(nèi)的一條或多條語句。語法格式:If條件表達(dá)式Then多條語句EndIfIf...Then...Else語句可以使用If...Then...Else語句建立多個(gè)分支流程,并根據(jù)條件選擇其中一個(gè)分支。語法結(jié)構(gòu):If條件1Then[語句塊1][ElseIf條件2Then[語句塊2]]...Else[語句塊n]]EndIfSelectCase語句類似。語法結(jié)構(gòu)是:SelectCase測試條件[Case表達(dá)式1[語句塊1]][Case表達(dá)式2[語句塊2]][CaseElse[語句塊n]]EndSelect三、循環(huán)結(jié)構(gòu)循環(huán)的作用是允許某個(gè)程序段被重復(fù)執(zhí)行。VisualBasic支持的循環(huán)結(jié)構(gòu)有:Do...LoopFor...NextForEach...Next程序中,往往根據(jù)需要選擇合適的循環(huán)結(jié)構(gòu)。Do...Loop循環(huán)Do...Loop語句是通過計(jì)算條件值以決定是否繼續(xù)執(zhí)行,而產(chǎn)生循環(huán)效果。Do...Loop語句有幾種演變形式。形式一:DoWhile條件表達(dá)式語句塊Loop形式二:DoUntil條件表達(dá)式語句塊Loop形式二Do語句塊LoopWhile條件表達(dá)式形式四:Do語句塊LoopUntil條件表達(dá)式For...Next循環(huán)在知道要執(zhí)行多少次時(shí),則可以使用For...Next循環(huán)。與Do循環(huán)不同,F(xiàn)or循環(huán)使用一個(gè)叫做計(jì)數(shù)器的變量,每重復(fù)一次循環(huán)之后,計(jì)數(shù)器變量的值就會(huì)增加或者減少。For循環(huán)的語法如下:For計(jì)數(shù)器=初始值To終止值[Step增量]語句塊Next[計(jì)數(shù)器]其中,參數(shù):計(jì)數(shù)器、初始值、終止值和增量都必須是數(shù)值型的變量。ForEach...Next循環(huán)ForEach...Next循環(huán)與For...Next循環(huán)類似,但它是以對(duì)象集合中的每一個(gè)元素作為重復(fù)依據(jù)的,而不是按次數(shù)重復(fù)。如果不知道一個(gè)集合有多少元素,F(xiàn)orEach...Next循環(huán)非常有用。語法格式:ForEach元素In集合語句塊Next元素例題:P46例4-3詳細(xì)講解。[答疑]:針對(duì)學(xué)生提出的問題答疑。[小結(jié)]本節(jié)主要講分支、循環(huán)結(jié)構(gòu)程序設(shè)計(jì)。[作業(yè)與上機(jī)安排]上機(jī)調(diào)試?yán)}:P46例4-3習(xí)題:P51:1-11?!?.3程序流程——例題[復(fù)習(xí)]:幾種程序流程語句。[實(shí)例演示、講解]:演示、講解例題:以掌握程序流程編程思路。例4-4P47。代碼略。[課堂練習(xí)1]:學(xué)生上機(jī)實(shí)現(xiàn)例4-4。例4-5P48。代碼略。[課堂練習(xí)2]:學(xué)生上機(jī)實(shí)現(xiàn)例4-5。例4-6P49。代碼略。[課堂練習(xí)3]:學(xué)生上機(jī)實(shí)現(xiàn)例4-6。例4-7P50。代碼略。[課堂練習(xí)4]:學(xué)生上機(jī)實(shí)現(xiàn)例4-7。[答疑]:針對(duì)學(xué)生提出的問題答疑。[小結(jié)]本節(jié)主要掌握幾種程序流程的編程方法、思路。[作業(yè)與上機(jī)安排]習(xí)題:P51:13、15題,要求全部編程,并上機(jī)實(shí)現(xiàn)。程序流程——習(xí)題課1[答疑]:針對(duì)編程作業(yè)中出現(xiàn)的問題答疑。[實(shí)例演示、講解]:演示、講解習(xí)題:以掌握程序流程編程思路。1、演示、講解習(xí)題4-13P51。代碼略。[課堂練習(xí)1]:學(xué)生上機(jī)實(shí)現(xiàn)上例。2、演示、講解習(xí)題4-15P51。代碼如下:PrivateSubCommand1_Click()Dima(1To10)AsIntegerDimb(1To10)AsIntegerFori=1To10a(i)=Int(100*Rnd):b(i)=a(i)Printa(i);"-";NextiPrintPrintFori=1To9Forj=i+1To10Ifb(j)<b(i)ThenMin=b(j)b(j)=b(i)b(i)=MinEndIfNextjPrintb(i);"-";NextiPrintb(i)EndSub[課堂練習(xí)2]:學(xué)生上機(jī)實(shí)現(xiàn)上例。[答疑]:針對(duì)學(xué)生提出的問題答疑。[小結(jié)]本節(jié)主要掌握幾種程序流程的編程方法、思路,特別是排序的編程思路。[作業(yè)與上機(jī)安排]實(shí)驗(yàn)11-2,實(shí)驗(yàn)21-4。要求全部編程,并上機(jī)實(shí)現(xiàn)。程序流程——習(xí)題課2[復(fù)習(xí)]:循環(huán)編程技巧。[實(shí)例演示、講解]:演示、講解實(shí)驗(yàn)2、3:以掌握程序流程編程思路。1、演示、講解實(shí)驗(yàn)2-1P245。代碼略。[課堂練習(xí)1]:學(xué)生上機(jī)實(shí)現(xiàn)上例。2、演示、講解實(shí)驗(yàn)3-1P245。代碼如下:PrivateSubCommand2_Click()s=0Fori=1To99Step2s=s+iNextiPrintsEndSub[課堂練習(xí)2]:學(xué)生上機(jī)實(shí)現(xiàn)上例。3、演示、講解實(shí)驗(yàn)3-2P245。代碼如下:PrivateSubCommand3_Click()DimiAsInteger'★☆DimjAsIntegerFori=6To1Step-1PrintTab(20-2*i);"★";Forj=1To2*i-1Print"☆";NextjPrint"★"NextiPrintTab(20-2*i);"☆"'PrintTab(20-2*i);"★"Fori=1To6PrintTab(20-2*i);"☆";Forj=1To2*i-1Print"★";NextjPrint"☆"NextiEndSub[課堂練習(xí)3]:學(xué)生上機(jī)實(shí)現(xiàn)上例。[答疑]:針對(duì)學(xué)生提出的問題答疑。[小結(jié)]:本節(jié)重點(diǎn)掌握?qǐng)D形的編程思路——數(shù)圖形、找規(guī)律,結(jié)合雙層循環(huán)進(jìn)行程序設(shè)計(jì)。[作業(yè)與上機(jī)安排]要求全部編程,并上機(jī)實(shí)現(xiàn)P245實(shí)驗(yàn)3-3、4題。[演示實(shí)例、引入課程]:輸出“圣誕樹”編程實(shí)例,其中有重復(fù)輸出,以引出過程概念。[知識(shí)點(diǎn)講解]:第5章過程和函數(shù)過程是構(gòu)成程序邏輯部件的基本單位,將程序分割成較小的邏輯部件可以簡化程序設(shè)計(jì)任務(wù),結(jié)構(gòu)化設(shè)計(jì)就是建立在這個(gè)思路之上。在VisualBasic中使用的過程有:Sub過程——不返回值;又被叫做子過程。Function過程——返回值;又被叫做函數(shù)。一、子過程在VisualBasic中子過程包括通用過程和事件過程,它們的定義語法類似,差別是調(diào)用方式一般不同。通用過程往往是由程序中的語句調(diào)用。事件過程往往是由用戶事件觸發(fā)。二、通用過程通用過程是由程序中的語句調(diào)用的過程。它一般由用戶根據(jù)需要自主建立,其作用是可以把一些公共的功能代碼放在一個(gè)過程中,由此提高代碼利用率,并使其更便于維護(hù)??梢詫⒆舆^程放入標(biāo)準(zhǔn)模塊、類模塊和窗體模塊中。定義通用過程的語法是:[Private|Public][Static]Sub過程名(形式參數(shù)列表)EndSub過程參數(shù)PrivateSubAbut(XAsString,YAsInteger,Z)語句塊EndSub調(diào)用過程注意:實(shí)際參數(shù)列表,是往被定義過程的形式參數(shù)傳遞的數(shù)據(jù);因此,其數(shù)據(jù)類型需要和形式參數(shù)保持一致。實(shí)際參數(shù)可以是常量、變量、數(shù)組,或復(fù)雜表達(dá)式,但無論是什么都必須有確定的值。三、事件過程窗體也屬于控件,但其事件過程命名規(guī)則卻和一般控件有所不同。窗體事件名是:詞匯“Form”、下劃線和事件名的組合。例如,窗體單擊時(shí)所調(diào)用的事件過程是:Form_Click。通用過程和事件過程的關(guān)系四、函數(shù)過程在VisualBasic中,通過Function語句創(chuàng)建的函數(shù)過程和通過Sub語句創(chuàng)建的子過程類似。與子過程不同的是:Function過程可返回一個(gè)值到調(diào)用的過程。函數(shù)過程的語法是:Function函數(shù)名(形式參數(shù)列表)[As類型]語句塊EndFunction函數(shù)過程需要返回的值由As子句設(shè)置。五、調(diào)用函數(shù)過程調(diào)用函數(shù)時(shí)可以有兩種方式。方法一:把函數(shù)看作一個(gè)數(shù),可以放在賦值號(hào)右端。例如:Tx1=MyFunc(5)方法二:作為參數(shù)出現(xiàn)在調(diào)用過程中或函數(shù)中。例如:Tx2=MyFunc(MyFunc(5)六、函數(shù)過程中返回值在函數(shù)過程內(nèi)的語句塊內(nèi),可以通過以下語句將值返回。函數(shù)名=表達(dá)式例如:FunctionHypotenuse(AAsInteger,BAsInteger)AsStringHypotenuse=Sqr(A^2+B^2)EndFunction[綜合實(shí)例]:編程實(shí)現(xiàn)在窗體中輸出如下所示“圣誕樹”。代碼如下:PrivateSubprstr(mAsInteger,nAsInteger)Fori=mTonPrintTab(20-2*i);"☆";Forj=1To2*i-1Print"★";NextjPrint"☆"NextiEndSubPrivateSubCommand4_Click()PrintTab(20-2*i);"★"prstr1,3prstr2,4prstr3,5Fori=1To6prstr2,2NextiEndSub[小結(jié)]:本節(jié)主要掌握自定義過程與其調(diào)用。[作業(yè)]:上機(jī)實(shí)現(xiàn)本節(jié)中實(shí)例。[實(shí)例演示、引入本節(jié)]演示包含多種控件的實(shí)例、引入本節(jié)。[知識(shí)點(diǎn)講解]:第5章窗體與常用控件§6.1控件應(yīng)用基礎(chǔ)在VisualBasic中,事件是一種程序可以響應(yīng)的動(dòng)作。例如:用戶單擊某按鈕、過了一段指定的時(shí)間等,這些都可稱之為事件。事件驅(qū)動(dòng):每個(gè)控件都能識(shí)別特定類型的事件。例如:有的控件能識(shí)別鼠標(biāo)的單擊動(dòng)作,有的可以響應(yīng)自身值的變化等。而如果希望程序中的控件響應(yīng)某一事件,則必須在事件過程中放置與該控件對(duì)應(yīng)的代碼,這就是事件驅(qū)動(dòng)。一、基于事件編程VisualBasic中可能發(fā)生的事件有兩種類型。1、用戶觸發(fā)事件:其由用戶控制。如:Click事件,KeyPress事件都屬于這種類型。2、系統(tǒng)環(huán)境事件:系統(tǒng)環(huán)境事件是由VB系統(tǒng)或程序控制的事件。例如:窗體的Load、Activate、Unload事件,時(shí)鐘控件的Timer事件等。二、編寫事件過程每個(gè)控件所能識(shí)別的事件可以從代碼窗口中的下拉列表中看出來。當(dāng)在控件列表框和事件列表框中選擇確定的對(duì)象和事件后,VB將自動(dòng)產(chǎn)生該對(duì)象事件的過程框架。三、常見用戶觸發(fā)事件1、Click、DblClick事件:當(dāng)在一個(gè)對(duì)象上用鼠標(biāo)單擊按鈕或按Enter鍵時(shí),會(huì)發(fā)生單擊Click事件;如果雙擊鼠標(biāo)按鈕則會(huì)發(fā)生雙擊DblClick事件。2、MouseDown、MouseUP和MouseMove事件:都是對(duì)鼠標(biāo)操作的響應(yīng)。分別在按下鼠標(biāo)鍵時(shí)、松開鼠標(biāo)鍵時(shí)、鼠標(biāo)指針移到新的位置時(shí)發(fā)生的。3、GotFocus、LostFocus事件:當(dāng)對(duì)象獲得焦點(diǎn)時(shí)產(chǎn)生GotFocus事件;當(dāng)對(duì)象失去焦點(diǎn)時(shí)產(chǎn)生LostFocus事件。4、KeyPress、KeyDown和KeyUp事件:是對(duì)用戶鍵盤操作的響應(yīng)。當(dāng)用戶按下和松開一個(gè)ANSI鍵時(shí)會(huì)發(fā)生KeyPress事件。KeyDown和KeyUp事件提供了最低級(jí)的鍵盤響應(yīng),當(dāng)焦點(diǎn)在某個(gè)對(duì)象上時(shí),則按下鍵盤將觸發(fā)該對(duì)象的KeyDown事件,松開按鍵則會(huì)觸發(fā)KeyUp事件。5、Change事件:當(dāng)控件的內(nèi)容發(fā)生改變時(shí)會(huì)被引發(fā)。[課堂討論]:列舉目前所見過的事件。四、事件的順序大部分的控件都能響應(yīng)諸如鼠標(biāo)事件、鍵盤事件等。而這些事件往往不是單獨(dú)發(fā)生的,他們之間有許多關(guān)聯(lián)性。例如,單擊鼠標(biāo)時(shí),可能會(huì)觸發(fā)Click、DblClick、MouseDown、MouseUp等事件;按下鍵盤上的鍵時(shí),又可能會(huì)觸發(fā)KeyPress、KeyDown、KeyUp等事件。當(dāng)焦點(diǎn)從某個(gè)控件移到另外一個(gè)控件時(shí),會(huì)觸發(fā)該控件的LostFocus和另一個(gè)控件的GotFocus事件。當(dāng)一個(gè)動(dòng)作會(huì)激發(fā)多個(gè)事件,而在其多個(gè)事件中都定義了代碼時(shí),就可能造成程序的沖突。因此我們必須弄清多個(gè)事件的激活順序,從而保證程序的正確執(zhí)行。當(dāng)Click事件和DblClick事件過程中都有代碼時(shí),只會(huì)響應(yīng)Click事件。當(dāng)單擊鼠標(biāo)時(shí),除了產(chǎn)生Click事件以外還可產(chǎn)生MouseDown和MouseUp事件。這三種事件發(fā)生的順序根據(jù)控件的不同而不同。按下鍵盤上的鍵時(shí),一般來說,鍵盤事件按照以下順序發(fā)生:KeyDown、KeyPress、和KeyUp。五、控件數(shù)組1、控件數(shù)組:由類型相同、名稱相同、事件過程都相同的一組控件構(gòu)成。可有1—32767個(gè)元素。系統(tǒng)由index屬性為其賦予了惟一的索引號(hào),從0開始起。2、控件數(shù)組的應(yīng)用:共用一段代碼,一般和多分支語句selectcase語句結(jié)合使用。3、控件數(shù)組的創(chuàng)立:有兩種方法:一是設(shè)計(jì)時(shí)創(chuàng)建,先畫第一個(gè)元素控件,再復(fù)制粘貼;二是運(yùn)行時(shí)創(chuàng)建,略。[答疑]:針對(duì)學(xué)生提出的問題答疑。[小結(jié)]本節(jié)理論內(nèi)容講解較多,只需重點(diǎn)了解幾種常用事件與系統(tǒng)響應(yīng)順序即可。[作業(yè)與上機(jī)安排]上機(jī)實(shí)現(xiàn)例5-1,例5-2。[學(xué)生演示]先讓兩個(gè)學(xué)生分別演示例5-1,例5-2,針對(duì)出現(xiàn)的問題講解編程重點(diǎn)。[實(shí)例演示、引入本節(jié)]演示例5-3所示“留言薄”實(shí)例,其中包含單選、復(fù)選按鈕控件,以引入本節(jié)內(nèi)容。[知識(shí)點(diǎn)講解]:§5.2單選按鈕與復(fù)選框一、單選按鈕與復(fù)選框的創(chuàng)建單選按鈕(OptionButton)被用于做從多個(gè)可選項(xiàng)中僅選擇一項(xiàng)的操作。復(fù)選框(CheckBox)控件通常用于提供Yes/No或True/False的邏輯選擇。復(fù)選框可以用于多項(xiàng)選擇。創(chuàng)建單選按鈕與復(fù)選框的方法與創(chuàng)建一般的控件相同。通常都將它們放置在相應(yīng)的控件數(shù)組中以便管理。二、單選按鈕與復(fù)選框的常用屬性單選按鈕與復(fù)選框也具有諸如Name、Caption、Width、Height、ForeColor、Enabled、Visible等常規(guī)屬性,這些的設(shè)置與含義與前幾章所講的相同。特殊屬性如下:1、Value屬性指示單選按鈕與復(fù)選框是否被選中,用來表示其所處的狀態(tài)。單選按鈕值為true表示選中,為false表示未選中。復(fù)選框值為0表示未選中,為1表示選中,為2表示禁止選擇。2、style(風(fēng)格)決定了單選按鈕與復(fù)選框的檢查風(fēng)格。值為0是標(biāo)準(zhǔn)方式,為1是圖形方式。三、單選按鈕與復(fù)選框的使用單選按鈕與復(fù)選框最常用的事件是Click事件。在其編程時(shí)主要解決兩個(gè)問題:第一是當(dāng)用戶對(duì)單選按鈕與復(fù)選框作出響應(yīng)后,能準(zhǔn)確判定出響應(yīng)的位置與其取值;第二是在程序中如何主動(dòng)地設(shè)置它們的各種狀態(tài)。[例5-3]設(shè)計(jì)一個(gè)簡單的留言簿,要求能改變輸入文字的字體與字型。設(shè)計(jì)步驟如下:(1)在VB中創(chuàng)建一個(gè)窗體,在它上面放置1個(gè)標(biāo)簽、2個(gè)命令按鈕(數(shù)組)、3個(gè)單選按鈕(數(shù)組)、3個(gè)復(fù)選框(數(shù)組)。(2)設(shè)置各控件的屬性如下表5-1所示:控件數(shù)組屬性名稱value取值truetrueTrue2單選鈕(optfont)命令按鈕(cmdgrp)文本框defaultMultilanescrollbars(3)編寫代碼如下:PrivateSubchkbiu_Click(IndexAsInteger)'復(fù)選框數(shù)組的單擊事件過程SelectCaseIndexCase0Text1.FontBold=NotText1.FontBold'改變粗體狀態(tài)Case1Text1.FontItalic=NotText1.FontItalic'改變斜體狀態(tài)Case2Text1.FontUnderline=NotText1.FontUnderline'改變下劃線狀態(tài)EndSelectEndSubPrivateSubcmdgrp_Click(IndexAsInteger)IfIndex=1ThenUnloadMe'命令按鈕數(shù)組的單擊事件過程IfIndex=0ThenText1.Text=""'清除文本框,并重置焦點(diǎn)Text1.SetFocusEndIfEndSubPrivateSubOptfont_Click(IndexAsInteger)'單選鈕數(shù)組的單擊事件過程,設(shè)置字體IfIndex=0ThenText1.FontName="宋體"IfIndex=1ThenText1.FontName="黑體"IfIndex=2ThenText1.FontName="楷體_gb2312"EndSub(4)進(jìn)行調(diào)試,運(yùn)行結(jié)果如圖5-3。[課堂練習(xí)]:1、上機(jī)實(shí)現(xiàn)例5-3。2、程序調(diào)試正確后,將其代碼抄寫在筆記本上。[答疑]:針對(duì)學(xué)生提出的問題答疑。[小結(jié)]:本節(jié)主要講單選按鈕與復(fù)選框的編程使用。要求掌握其特殊屬性與編程方法——常以控件數(shù)組形式出現(xiàn)、結(jié)合select語句編程使用。[作業(yè)與上機(jī)安排]上機(jī)實(shí)現(xiàn):將例5-3中增加一組單選按鈕,功能為設(shè)置字號(hào)大小。[學(xué)生演示]先讓學(xué)生演示5-3與上節(jié)作業(yè),針對(duì)出現(xiàn)的問題講解編程重點(diǎn)。[實(shí)例演示、引入本節(jié)]演示實(shí)例5-5,其中包含列表框控件,以引入本節(jié)內(nèi)容。[知識(shí)點(diǎn)講解]:§5.3組合框與列表框一、組合框與列表框列表框(ListBox)控件用于顯示項(xiàng)目列表。用戶可以從列表框中的一系列選項(xiàng)中選擇一個(gè)或多個(gè)選項(xiàng)。ComboBox(組合框)控件將文本框和列表框的功能結(jié)合在一起。有了這個(gè)控件,用戶可通過在組合框中輸入文本來選定項(xiàng)目,也可從列表中選定項(xiàng)目。在使用方式上,組合框具有和列表框相似的特征。二、組合框與列表框的屬性設(shè)置特殊屬性有:List屬性設(shè)置列表框中包含的項(xiàng)。Columns屬性設(shè)置是水平滾動(dòng)還是垂直滾動(dòng)。MultiSelect屬性設(shè)置是否能夠做多個(gè)選擇。ListIndex屬性當(dāng)前所選擇元素的下標(biāo)。ListCount屬性列表中全部元素的個(gè)數(shù)。Sorted屬性設(shè)置按字母順序排列項(xiàng)目。組合框的特點(diǎn)是可由Style屬性設(shè)置三種組合樣式。三、組合框與列表框的使用列表框經(jīng)常用到的操作有:1.添加項(xiàng)目:列表框.AddItemitem[,index]例如:List1.AddItem“王平”2.刪除項(xiàng)目:列表框.RemoveItemindex例如:List1.RemoveItem03.獲得列表項(xiàng)目內(nèi)容:列表框.List(index)例如:Text1.Text=List1.List(2)4.用ListIndex屬性判斷項(xiàng)目位置。5.用ListCount屬性返回項(xiàng)目數(shù)。[例5-5]設(shè)計(jì)一個(gè)課程選擇的窗體,運(yùn)行后如教材P84圖6-5。實(shí)現(xiàn)步驟如下:(1)在VB中創(chuàng)建一個(gè)窗體,在它上面放置3個(gè)標(biāo)簽、5個(gè)命令按鈕、2個(gè)列有框。(2)設(shè)置各控件的屬性如下表6-1所示:控件名屬性名稱MultiselectSorted取值True列表框(lstkc)TrueList如圖6-9true列表框(lstbjkc)multiselect(3)代碼如下:PrivateSubCommand1_Click()‘添加List2.AddItemList1.List(List2.ListIndex)EndSubPrivateSubCommand2_Click()Fori=0ToList1.ListCount-1List2.AddItemList1.List(i)Nexti‘全部添加EndSubPrivateSubCommand3_Click()'刪除選定的項(xiàng)List2.RemoveItemList1.ListIndexEndSubPrivateSubCommand4_Click()List2.Clear'刪除全部項(xiàng)EndSub[課堂練習(xí)]:1、上機(jī)實(shí)現(xiàn)例5-5。2、程序調(diào)試正確后,將其代碼抄寫在筆記本上。[答疑]:針對(duì)學(xué)生提出的問題答疑。[小結(jié)]:本節(jié)主要講組合框與列表框的編程使用。要求掌握其特殊屬性與編程方法。[作業(yè)與上機(jī)安排]上機(jī)實(shí)現(xiàn):P103,習(xí)題6-10、6-15。[學(xué)生演示]先讓學(xué)生演示6-5與上節(jié)作業(yè),針對(duì)出現(xiàn)的問題講解編程重點(diǎn)。[實(shí)例演示、引入本節(jié)]演示實(shí)例6-6,其中包含滾動(dòng)條控件,以引入本節(jié)內(nèi)容。[知識(shí)點(diǎn)講解]:§5.4其他常用控件§5.4.1滾動(dòng)條控件一、滾動(dòng)條控件滾動(dòng)條是一種模糊輸入與定位的控件.當(dāng)不需要精確設(shè)置數(shù)值,只要一個(gè)大概的范圍時(shí),如音箱的音量,使用滾動(dòng)條來進(jìn)行輸入是非常方便的.注:由滾動(dòng)條控件創(chuàng)建的滾動(dòng)條與一般附加在文本控件上的滾動(dòng)條是不一樣的。因?yàn)楦郊釉谖谋究丶系臐L動(dòng)條是自動(dòng)出現(xiàn)的。二、滾動(dòng)條的屬性設(shè)置min、max屬性:滾動(dòng)條代表的最小值、最大值,在-32768--+32767之間。largechange屬性:在滾動(dòng)條上空白處單擊時(shí),滾動(dòng)條數(shù)值的增減量。smallchange屬性:單擊滾動(dòng)條兩端的滾動(dòng)箭頭時(shí),滾動(dòng)條數(shù)值的增減量。value屬性:滾動(dòng)條的當(dāng)前值。三、滾動(dòng)條的使用滾動(dòng)條的值發(fā)生變化時(shí)會(huì)引發(fā)Change事件。[例5-6]使用滾動(dòng)條模擬實(shí)現(xiàn)調(diào)色板。結(jié)果如圖5-10。實(shí)現(xiàn)步驟較簡單,詳見教材。主要編程方法是:在滾動(dòng)條的Change事件過程代碼中,要隨時(shí)取其value屬性的值。[課堂練習(xí)1]:1、上機(jī)實(shí)現(xiàn)例5-6。2、程序調(diào)試正確后,將其代碼抄寫在筆記本上?!於〞r(shí)器控件定時(shí)器控件即可用于處理一些與時(shí)間有關(guān)的操作。定時(shí)器的功能是通過Timer事件實(shí)現(xiàn)的。Timer是周期性事件,即該事件是按一定的時(shí)間間隔定期地產(chǎn)生的。Timer事件之間的時(shí)間間隔由Interval屬性來設(shè)置(毫秒數(shù))。定時(shí)器的工作狀況由Enable屬性確定。設(shè)置Enable屬性為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論