全套課件:可視化編程應(yīng)用-Visual Basic 6.0中文版(項(xiàng)目教學(xué))_第1頁
全套課件:可視化編程應(yīng)用-Visual Basic 6.0中文版(項(xiàng)目教學(xué))_第2頁
全套課件:可視化編程應(yīng)用-Visual Basic 6.0中文版(項(xiàng)目教學(xué))_第3頁
全套課件:可視化編程應(yīng)用-Visual Basic 6.0中文版(項(xiàng)目教學(xué))_第4頁
全套課件:可視化編程應(yīng)用-Visual Basic 6.0中文版(項(xiàng)目教學(xué))_第5頁
已閱讀5頁,還剩220頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

項(xiàng)目一熟悉VisualBasic6.0開發(fā)環(huán)境

VisualBasic6.0學(xué)習(xí)目標(biāo)了解學(xué)習(xí)VisualBasic6.0的方法。熟悉VisualBasic6.0的集成開發(fā)環(huán)境。了解利用VisualBasic6.0創(chuàng)建簡單的應(yīng)用程序。掌握用戶界面的設(shè)置。掌握屬性的設(shè)置。掌握代碼窗口的使用。掌握運(yùn)行調(diào)試應(yīng)用程序。VisualBasic6.0開發(fā)環(huán)境掌握VisualBasic6.0的學(xué)習(xí)方法創(chuàng)建簡單應(yīng)用程序開發(fā)“Hel

loVisualBas

ic6.0”應(yīng)用程序開發(fā)“祝賀你!”應(yīng)用程序基本要求熟悉VisualBasic6.0的操作環(huán)境與設(shè)計(jì)工具,能設(shè)計(jì)應(yīng)用程序界面。理解面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念。掌握VisualBasic6.0語言的基礎(chǔ)知識和程序設(shè)計(jì)的方法。具備用VisualBasic6.0開發(fā)Windows環(huán)境下應(yīng)用程序的能力和閱讀分析一般難度的VisualBasic程序的能力。啟動VisualBasic6.0中文版單擊Windows環(huán)境下的”開始”按鈕,彈出一個菜單,把鼠標(biāo)光標(biāo)移到【程序】命令上,將彈出下一級聯(lián)菜單,如圖1-2所示。把鼠標(biāo)光標(biāo)移到【MicrosoftVisualBasic6.0中文版】上,彈出下一級菜單,即進(jìn)入VisualBasic6.0程序組。選擇【MicrosoftVisualBasic6.0中文版】命令,即可進(jìn)入VisualBasic6.0編程環(huán)境。VisualBasic6.0應(yīng)用程序的類型標(biāo)準(zhǔn)EXE程序:標(biāo)準(zhǔn)EXE程序是典型的應(yīng)用程序,通常用戶創(chuàng)建的都是這種類型的應(yīng)用程序,它可以最終生成一個可執(zhí)行的應(yīng)用程序。ActiveXEXE和ActiveXDLL程序:ActiveXEXE構(gòu)件是支持OLE的自動化服務(wù)器程序,它可以在用戶的應(yīng)用程序中嵌入或鏈接進(jìn)去。這兩種類型的應(yīng)用程序在編程時(shí)是一樣的,只不過在編譯時(shí),ActiveXEXE編譯程可執(zhí)行文件,ActiveXDLL編譯成動態(tài)鏈接庫?!続ctiveX】控件:用于開發(fā)自己的【ActiveX】控件。VisualBasic6.0應(yīng)用程序向?qū)?。VisualBasic6.0應(yīng)用程序的類型(續(xù))VB向?qū)Ч芾砥鲾?shù)據(jù)工程IIS應(yīng)用程序外接程序ActiveX文檔EXE和ActiveX文檔DLL。DHTML應(yīng)用程序VB企業(yè)版控件1.【新建工程】對話框2.選擇【標(biāo)準(zhǔn)EXE】后對象(Object)任何事物都可看作對象,例如,計(jì)算機(jī)、鼠標(biāo)都可看作對象。在VisualBasic6.0中,對象主要分為兩類:窗體(Form)和控件(Control)。窗體(Form):又稱表單,在應(yīng)用程序中表現(xiàn)為Windows對話框??丶–ontrol):在應(yīng)用程序中表現(xiàn)為按鈕、選項(xiàng)卡或?qū)υ捒虻?。屬性(Property)屬性指的是對象所具有的特征,若把一個人看作一個對象,那么,人的姓名、身高、體重等則是這個對象的屬性。在VisualBasic6.0中,一個按鈕有【Caption】、【Name】、【Font】等屬性,可以通過設(shè)置對象的屬性來改變其外觀。修改對象屬性的方法有如下兩種。在對象屬性對話框中找到相應(yīng)的屬性進(jìn)行設(shè)置。在程序代碼中通過編程設(shè)置。具體的設(shè)置方法為事件(Event)事件是發(fā)生在對象上的動作。例如,“搬桌子”是一個事件,該事件是發(fā)生在“桌子”這個對象之上的一個動作。在VisualBasic程序開發(fā)中,Load則是發(fā)生在窗體【Form】上的一個事件。事件的發(fā)生是針對某些特定對象的,即某些事件只能發(fā)生在某些對象身上,例如“考試作弊被抓住”這一事件通常發(fā)生在“學(xué)生”這個對象上。對象只能識別一組預(yù)先定義好的事件,而且并非每個事件都會產(chǎn)生結(jié)果。一個事件發(fā)生后,必須在該事件對應(yīng)的函數(shù)中編寫相應(yīng)的程序代碼才能實(shí)現(xiàn)結(jié)果。方法(Method)事件:PrivateSub對象名_事件名(事件響應(yīng)代碼)EndSub方法:

對象名.方法名【步驟解析】1.應(yīng)用程序界面2.【字體】對話框3.【屬性】對話框運(yùn)行調(diào)試并保存應(yīng)用程序單擊工具欄上的【啟動】按鈕

,運(yùn)行應(yīng)用程序,運(yùn)行界面如圖1-1所示。單擊“結(jié)束”

按鈕,退出程序。單擊工具欄上的【保存工程】按鈕

,彈出【文件另存為】對話框,要求用戶保存當(dāng)前的窗體文件,如圖1-15所示,在【文件名】文本框中輸入“歡迎來到VisualBasic6.0!的世界”,然后單擊

按鈕。在保存窗體文件后,集成環(huán)境會提示用戶保存工程文件,按照上一步的操作,將新建的工程保存為“歡迎來到VisualBasic6.0的世界!”工程文件。編寫應(yīng)用程序代碼在文本顯示器主對話框中雙擊對話框,屏幕上會出現(xiàn)【代碼】對話框,并且鼠標(biāo)光標(biāo)在對話框的加載事件內(nèi)跳動,如圖1-11所示。在鼠標(biāo)光標(biāo)跳動的地方,即對話框的加載事件內(nèi),編寫如下代碼:PrivateSubForm_Load()Form1.ShowPrint""Print"歡迎來到VisualBasic6.0的世界!"EndSubHelloVisualBasic6.0新建1個工程,將工程命名為“HelloVisualBasic6.0”并保存在文件夾中。參考任務(wù)二中的操作(三)的操作步驟,設(shè)置應(yīng)用程序界面的【字體】屬性至如圖1-8所示。編寫應(yīng)用程序代碼。PrivateSubForm_Load()Print"HelloVisualBasic6.0"EndSub運(yùn)行應(yīng)用程序,保存工程。開發(fā)“祝賀你!”應(yīng)用程序新建1個工程,將工程命名為“祝賀你!”并保存在文件夾中。參考任務(wù)二中的操作(三)的操作步驟,設(shè)置應(yīng)用程序界面的【字體】屬性至如圖1-9所示。編寫應(yīng)用程序代碼。PrivateSubForm_Load() Form1.ShowPrint""Print"祝賀你!"Print"成功創(chuàng)建了VisualBasic6.0應(yīng)用程序^_^"EndSub運(yùn)行應(yīng)用程序,保存工程。項(xiàng)目二設(shè)計(jì)加法計(jì)算器

學(xué)習(xí)目標(biāo)了解VisualBasic6.0工具箱的使用。掌握添加、編輯控件的方法。熟悉控件的共有屬性。掌握【標(biāo)簽】控件的常用屬性及用途。掌握【文本框】控件的常用屬性及用途。掌握【命令按鈕】控件的常用屬性及用途。掌握代碼編寫的規(guī)則。創(chuàng)建新的工程

選擇【文件】/【新建工程】命令,屏幕上會出現(xiàn)一個對話框,如圖2-2所示。在該對話框中選擇“標(biāo)準(zhǔn)EXE”,單擊

“打開”按鈕。這時(shí)VisualBasic6.0集成環(huán)境將創(chuàng)建一個名為“工程1”的工程,并且在【窗體設(shè)計(jì)】對話框自動創(chuàng)建一個名為“Form1”的窗體文件。選擇【文件】/【保存工程】命令,屏幕上會出現(xiàn)一個【文件另存為】對話框,要求用戶保存當(dāng)前的窗體文件,在【文件名】文本框中輸入“加法計(jì)算器”,然后單擊

“保存”按鈕,如圖2-3所示。在保存了窗體文件后,集成環(huán)境會要求用戶保存工程文件,按照步驟3的方法,將新建的工程保存為“加法計(jì)算器”工程文件。工具箱【指針】工具【標(biāo)簽】控件【框架】控件【復(fù)選框】控件【組合框】控件【水平滾動條】控件【定時(shí)器】控件【文件夾列表】控件【形狀】控件【OLE】容器【圖像框】控件【文本框】控件【圖片框】控件【命令按鈕】控件【單選按鈕】控件【垂直滾動條】控件【列表框】控件【數(shù)據(jù)】控件【直線】控件【文件列表】控件【驅(qū)動器列表】控件【步驟解析】在工具箱中,單擊【標(biāo)簽】控件的圖標(biāo)

,然后把鼠標(biāo)光標(biāo)移到窗體上,這時(shí)鼠標(biāo)光標(biāo)變成了一個“+”字形狀,“+”字光標(biāo)用于繪出命令按鈕的矩形外框。然后在合適的位置按下鼠標(biāo)左鍵,并拖動鼠標(biāo),如圖2-5所示,此時(shí)標(biāo)簽對象就是虛線框的大小,當(dāng)標(biāo)簽對象的大小合適時(shí),停止拖動鼠標(biāo),然后放開鼠標(biāo)左鍵,這時(shí)窗體上就會在虛線框的位置出現(xiàn)1個標(biāo)簽,標(biāo)簽中會自動顯示“Label1”的字符串。按照步驟1的方法,在窗體上再添加兩個【標(biāo)簽】控件。它們的位置可以根據(jù)圖2-1中各個標(biāo)簽的位置確定?!静襟E解析】續(xù)按照步驟1的方法,在工具箱中,單擊【文本框】控件的圖標(biāo)

,在3個標(biāo)簽旁邊分別添加3個【文本框】控件。按照步驟1的方法,在工具箱中,單擊【命令按鈕】控件的圖標(biāo)

,添加3個【命令按鈕】控件,其位置可以按照圖2-1所示的命令按鈕的位置確定。這樣加法計(jì)算器的界面就初步完成了,如圖2-6所示?!局R鏈接】單擊需要復(fù)制的控件(假定為【Text1】)。選擇【編輯】/【復(fù)制】命令。執(zhí)行該命令后,VisualBasic6.0將把該控件拷貝到Windows的【剪貼板】中。選擇【編輯】/【粘貼】命令,屏幕上將顯示一個對話框,如圖2-7所示。詢問是否要建立控件數(shù)組,單擊

按鈕后,就把該控件復(fù)制到窗體的左上角,如圖2-8所示。編輯控件調(diào)整控件的位置及大小時(shí),要學(xué)會靈活使用【格式】菜單的各個子菜單?!靖袷健坎藛沃挥性谶x中多個控件時(shí)才可用,對于選中單個控件而言不可用,并且在調(diào)整控件的間距時(shí),至少要有3個控件被選中。注釋語句語法結(jié)構(gòu):Rem注釋內(nèi)容'注釋內(nèi)容例如,“'DimaAsString”與“RemDimaAsString”的作用是一致的。賦值語句賦值語句的作用是將指定的值賦給某個變量或某個帶有屬性的對象,語法結(jié)構(gòu)為目標(biāo)操作符=原操作符first=1 '把數(shù)值常量1賦給變量firstsecond=15+3 '把表達(dá)式的值賦給變量secondText1.Text=a '把變量a的值賦給對象【Text1】的【Text】屬性A=Text1.Text '把對象【Text1】的【Text】屬性值賦給變量AText2.Text=Text1.Text結(jié)束語句用來終止程序的運(yùn)行,常用的語句為End。可以把它放在事件過程中,例如:SubCommand1_Click()EndEndSub【步驟解析】在【工程】對話框中雙擊【Form1】,在【窗體設(shè)計(jì)】對話框中出現(xiàn)“加法計(jì)算器”的主界面。在加法計(jì)算器主對話框中雙擊【Command1】命令按鈕,屏幕上會出現(xiàn)【代碼】對話框,并且鼠標(biāo)光標(biāo)在命令按鈕【Command1】的單擊事件Click內(nèi)跳動。在鼠標(biāo)光標(biāo)跳動的地方,即【Command1】的單擊事件Command1_Click內(nèi),編寫如下代碼:PrivateSubCommand1_Click()‘求和,并把和數(shù)賦值給文本框3的【Text】屬性Text3.Text=Str$(Val(Text1.Text)+Val(Text2.Text))EndSub在Command2_Click事件內(nèi)編入如下代碼:PrivateSubCommand2_Click()‘為文本框的【Text】屬性賦空值,清空文本框內(nèi)容Text1.Text=""Text2.Text=""Text3.Text=""EndSub在Command3_Click事件內(nèi)編入如下代碼:PrivateSubCommand3_Click()‘終止程序的運(yùn)行EndEndSub單擊工具欄上的【啟動】按鈕

或直接按F5鍵,運(yùn)行應(yīng)用程序,并執(zhí)行相關(guān)操作。單擊工具欄上的【保存工程】按鈕

,保存工程。使用【標(biāo)簽】控件顯示文本新建1個工程,將工程命名為“顯示文本”并保存在文件夾中。在工具箱中,雙擊【標(biāo)簽】控件的圖標(biāo)

,向窗體中添加1個【標(biāo)簽】控件。編輯【標(biāo)簽】控件。設(shè)置【標(biāo)簽】控件的屬性。運(yùn)行應(yīng)用程序,保存工程。使用【文本框】控件顯示文本新建1個工程,將工程命名為“顯示文本”并保存在文件夾中。向窗體中添加1個【文本框】控件。編輯【文本框】控件。設(shè)置【文本框】控件的屬性。運(yùn)行應(yīng)用程序,保存工程。使用【命令按鈕】控件復(fù)制文本新建1個工程,將工程命名為“復(fù)制文本”,并保存在文件夾中。向窗體中添加控件。編輯控件。設(shè)置控件屬性。按鈕單擊事件中的代碼為:PrivateSubCommand1_Click()'將文本框的【text】屬性值賦給【標(biāo)簽】控件的【Caption】屬性Label1.Caption=Text1.TextEndSub運(yùn)行應(yīng)用程序,運(yùn)行界面如圖2-19所示,并執(zhí)行相關(guān)操作。保存工程。編寫文本顯示器應(yīng)用程序新建1個工程,將工程命名為“文本顯示器”,并保存在文件夾中。為應(yīng)用程序添加控件。編輯控件。設(shè)置控件屬性。確定按鈕單擊事件中的代碼為:PrivateSubCommand1_Click()‘為文本框賦值Text1.Text="你真棒!"EndSub清除按鈕單擊事件中的代碼為:PrivateSubCommand2_Click()‘為文本框賦空值,清空文本框內(nèi)容Text1.Text=""EndSub關(guān)閉按鈕單擊事件中的代碼為:PrivateSubCommand3_Click()‘終止程序的運(yùn)行EndEndSub運(yùn)行應(yīng)用程序如圖2-20所示,并執(zhí)行相關(guān)操作。保存工程。項(xiàng)目小結(jié)本項(xiàng)目完成了加法計(jì)算器的開發(fā)設(shè)計(jì),分為四個任務(wù):創(chuàng)建加法計(jì)算器應(yīng)用程序、設(shè)計(jì)VisualBasic6.0應(yīng)用程序用戶界面、編寫應(yīng)用程序代碼、運(yùn)行程序并保存。通過本項(xiàng)目的學(xué)習(xí),了解了VisualBasic6.0工具箱的使用,熟悉了控件的共有屬性,掌握了添加、編輯控件的方法,掌握了【標(biāo)簽】控件、【文本框】控件和【命令按鈕】控件的常用屬性及用途,掌握了代碼編寫的規(guī)則。

項(xiàng)目三掌握VisualBasic6.0編程基礎(chǔ)

學(xué)習(xí)目標(biāo)編程語言中的數(shù)據(jù)類型。變量的概念及使用。常量的概念及使用。編程中的表達(dá)式及其運(yùn)算符。數(shù)據(jù)輸出的使用。常用內(nèi)部函數(shù)的使用。數(shù)值型數(shù)據(jù)(Numeric)整型數(shù)浮點(diǎn)數(shù)字符型數(shù)據(jù)(String)布爾型數(shù)據(jù)(Boolean)變體型數(shù)據(jù)(Variant)變量命名規(guī)則和注意事項(xiàng)一個變量名的長度不能超過255個字符。變量名的第一個字符必須是字母A~Z,第一個字母可以大寫,也可以小寫,其余的字符可以由字母、數(shù)字和下劃線組成。VisualBasic6.0中的保留字不能用做變量名,保留字包括VisualBasic6.0的屬性、事件、方法、過程、函數(shù)等系統(tǒng)內(nèi)部的標(biāo)識符。變量的類型和定義用類型說明符標(biāo)識變量類型說明符放在變量名的尾部,可以標(biāo)識不同的變量類型,這些類型說明符分別為:% 整型& 長整型! 單精度符點(diǎn)數(shù)# 雙精度符點(diǎn)數(shù)$ 字符串型在定義變量時(shí)指定其類型Dim語句Dim<變量名>[As<數(shù)據(jù)類型>]Private語句Private<變量名>[As<數(shù)據(jù)類型>]Public語句Public<變量名>[As<數(shù)據(jù)類型>]Static語句Static<變量名>[As<數(shù)據(jù)類型>]變量的作用范圍全局變量:在標(biāo)準(zhǔn)模塊的聲明部分,用Public聲明的變量就是全局變量,程序中的任何窗體和模塊都能訪問它。局部變量:在過程和函數(shù)中用Dim或Static等聲明的變量只在定義它的過程和函數(shù)中有效。模塊或窗體變量:在模塊和窗體中用Dim或Private等聲明的變量只在本模塊或窗體中起作用,這樣的變量叫模塊或窗體變量。同名變量若在不同模塊中的公用變量使用同一名字,則通過同時(shí)引用模塊名和變量名就可以在代碼中區(qū)分它們。例如,如果有一個在窗體模塊(Form1)和通用模塊(Module1)中都聲明了的公用Integer類型變量“i”,那么引用時(shí)只需要用“Form1.i”和“Module1.i”分別引用它們就可以得到正確的結(jié)果。如果,在標(biāo)準(zhǔn)模塊中的變量沒有同名的變量,就可以省略前面的模塊名,而只引用“i”。VisualBasic6.0的常量對于符號常量的定義用Const定義,其語法結(jié)構(gòu)如下:[Public]Const常量名[As類型名]=表達(dá)式其中,說明類型是可選的,當(dāng)省略說明常量類型時(shí),常量的類型由它的值決定。等號后面的表達(dá)式必須用常量表達(dá)式,不能包含變量。例如:ConstPI=3.1416圓周長和面積【步驟解析】新建1個工程,將工程命名為“圓周長和面積計(jì)算器”,并保存在文件夾中。設(shè)計(jì)應(yīng)用程序界面,如圖3-2所示。編寫應(yīng)用程序代碼,其代碼如下。運(yùn)行應(yīng)用程序,并執(zhí)行相關(guān)操作。保存工程。編寫

數(shù)據(jù)輸出應(yīng)用程序新建1個工程,將工程命名為“數(shù)據(jù)輸出”,并保存在文件夾中。設(shè)計(jì)應(yīng)用程序界面,如圖3-4所示。編寫應(yīng)用程序代碼。運(yùn)行應(yīng)用程序,并執(zhí)行相關(guān)操作。保存工程。【任務(wù)小結(jié)】通過本任務(wù)的學(xué)習(xí),主要復(fù)習(xí)了以下內(nèi)容:Print方法的使用;定長字符串和變長字符串的定義和使用;語句分隔符“:”的使用;使用一個Dim語句定義多個變量。算術(shù)運(yùn)算符冪運(yùn)算10^3 10的立方,即103=100081^0.5 81的平方根,即811/2=910^-1 10的倒數(shù),即1÷10=0.1整數(shù)除法a=5\3b=21.81\3.4其運(yùn)算結(jié)果為a=1,b=7。取余運(yùn)算

取余運(yùn)算符(Mod),又稱模運(yùn)算,用來求余數(shù)。其結(jié)果為第一個操作數(shù)整除第二個操作數(shù)所得的余數(shù)。例如,5Mod3=2,即5整除3,其余數(shù)為2。字符串連接符字符串表達(dá)式是采用連接符將兩個字符串常量、字符串變量、字符串函數(shù)連接起來的式子。連接符有兩個:“&”和“+”。其作用都是將兩個字符串連接起來,運(yùn)算結(jié)果是一個字符串。例如:"計(jì)算機(jī)"&"網(wǎng)絡(luò)" 結(jié)果是:"計(jì)算機(jī)網(wǎng)絡(luò)""123"+"45" 結(jié)果是:"12345"關(guān)系運(yùn)算符運(yùn)算符名稱運(yùn)

符表達(dá)式例子=相等A=B<>或><不相等A<>B或A><B<小于A<B>大于A>B<=小于或等于A<=B>=大于或等于A>=BLike比較樣式邏輯運(yùn)算符運(yùn)算符名稱運(yùn)

符表達(dá)式例子非NotNot(A>B)與And(A<B)And(2>3)或Or(A<B)Or(2>3)異或Xor(A<B)Xor(2>3)等價(jià)Eqr(A<B)Eqr(2>3)蘊(yùn)含Imp(A<B)Imp(2>3)邏輯運(yùn)算符的運(yùn)算值A(chǔ)BNotAAAndBAOrBAXorBAEqrBAImpB-1-10-1-10-1-1-1000-1-1000-1-10-1-10-100-1000-1-1多位數(shù)

分位顯示應(yīng)用程序運(yùn)算順序首先進(jìn)行括號內(nèi)的運(yùn)算。其次進(jìn)行函數(shù)的運(yùn)算。接著進(jìn)行算術(shù)運(yùn)算,其算術(shù)運(yùn)算的內(nèi)部運(yùn)算順序由高到低為冪(^)→取負(fù)(-)→乘(*)、浮點(diǎn)除法(/)→整數(shù)除法(\)→取余(Mod)→加(+)、減(-)。然后進(jìn)行字符串連接運(yùn)算(&或+)。再進(jìn)行關(guān)系運(yùn)算(=、>、<、<>或><、<=、>=)。最后進(jìn)行邏輯運(yùn)算,其內(nèi)部順序?yàn)榉牵∟ot)→與(And)→或(Or)→異或(Xor)→等價(jià)(Eqr)→蘊(yùn)含(Imp)。Sin(x)和Cos(x)函數(shù)計(jì)算器應(yīng)用程序和差積商運(yùn)算應(yīng)用程序文大小寫轉(zhuǎn)換器應(yīng)用程序新建1個工程,將工程命名為“英文大小寫轉(zhuǎn)換器”,并保存在文件夾中。設(shè)計(jì)應(yīng)用程序界面(各控件的【名稱】屬性設(shè)置參考程序代碼中的相關(guān)控件名稱),如圖3-13所示。編寫應(yīng)用程序代碼。運(yùn)行應(yīng)用程序,并執(zhí)行相關(guān)操作。保存工程。加減法計(jì)算器應(yīng)用程序函數(shù)計(jì)算器應(yīng)用程序項(xiàng)目小結(jié)本項(xiàng)目主要介紹編寫VisualBasic6.0程序所需要掌握的基礎(chǔ)知識和VisualBasic6.0編程的基本思想方法,主要包括主要的數(shù)據(jù)類型、變量、常量、編程中的表達(dá)式和運(yùn)算符、數(shù)據(jù)輸出語句和常用內(nèi)部函數(shù)。在學(xué)習(xí)本項(xiàng)目之后,同學(xué)們便具有了一定的VisualBasic6.0編程的基礎(chǔ)知識,為以后的編程打下了基礎(chǔ)。

項(xiàng)目四設(shè)計(jì)簡單字體顯示器

學(xué)習(xí)目標(biāo)掌握【單選按鈕】控件常用屬性及事件。掌握【復(fù)選框】控件常用屬性及事件。掌握【框架】控件的常用屬性及用途。掌握順序結(jié)構(gòu)的使用。掌握選擇結(jié)果的使用。了解對話框的概念和分類。熟悉【通用對話框】控件的使用。添加基本控件添加【通用對話框】控件【步驟解析】選擇【工程】/【部件】命令,彈出圖4-8所示的【部件】對話框。在【控件】選項(xiàng)卡中,拖動其列表右端的滾動條,勾選“MicrosoftCommonDiaglogControl6.0”列表框,選中該項(xiàng),如圖4-8所示。單擊

按鈕,關(guān)閉【部件】對話框,工具箱中就會添加【通用對話框】控件的圖標(biāo)

。在工具箱中,雙擊【通用對話框】控件的圖標(biāo)

,向窗體中添加【通用對話框】控件,如圖4-9所示。設(shè)置【文本框】控件屬性單擊選中【文本框】控件,將【名稱】屬性設(shè)為“Txt”。拖動【屬性】對話框右端的滾動條,讓【MultiLine】屬性顯示出來,然后單擊右端的箭頭,打開其下拉列表,選擇“True”項(xiàng)。再次拖動【屬性】對話框右端的滾動條,讓【ScrollBar】屬性顯示出來,然后單擊右端的箭頭,打開其下拉列表,選擇“3-Both”項(xiàng)。選擇【Text】屬性,然后刪除右端的“Text1”。設(shè)置【框架】控件屬性在窗體上單擊框架【Frame1】,然后將【Caption】屬性設(shè)為“字體樣式”。按照步驟1的方法,分別將框架【Frame2】、【Frame3】的【Caption】屬性設(shè)為“顏色”、“大小”。設(shè)置【單選按鈕】控件、【復(fù)選框】控件屬性在窗體上單擊【Check1】復(fù)選框,然后將【名稱】屬性設(shè)為“ChkBold”,【Caption】屬性設(shè)為“粗體”。拖動【屬性】對話框右端的滾動條,讓【Value】屬性顯示出來,選擇【Value】屬性,然后單擊右端箭頭,打開其下拉列表,選擇“1-Checked”項(xiàng)。在窗體上單擊【Option1】單選按鈕,然后將【名稱】屬性設(shè)為“OptRed”,【Caption】屬性設(shè)為“紅色”,【Value】屬性設(shè)為“True”。按照步驟1、2、3的方法,參照表4-1設(shè)置其余控件的屬性。編寫事件驅(qū)

動代碼控制結(jié)構(gòu)可以控制程序執(zhí)行的流程。如果未使用控制流語句,程序便從左至右、自頂向下地貫穿這些語句。有些簡單程序可以只用單向流程來編寫,有些流程可以依靠運(yùn)算符的優(yōu)先級來控制,但任何編程語言的效力和用途皆通過結(jié)構(gòu)和循環(huán)改變語句順序的能力來實(shí)現(xiàn)。順序結(jié)構(gòu)在VisualBasic程序設(shè)計(jì)中,順序結(jié)構(gòu)是一類最簡單的結(jié)構(gòu),這種結(jié)構(gòu)的程序按順序依次執(zhí)行語句,中間既沒有跳轉(zhuǎn)語句,也沒有循環(huán)語句。在順序結(jié)構(gòu)中,程序按照語句編寫的先后順序一條一條地執(zhí)行。使用順序結(jié)構(gòu)只需要將合法語句按照合理的執(zhí)行順序排列即可一一執(zhí)行。在程序設(shè)計(jì)中,賦值語句是順序結(jié)構(gòu),另外輸入輸出語句以及其他計(jì)算語句,如加、減、乘、除運(yùn)算等也是順序結(jié)構(gòu)。條件結(jié)構(gòu)VisualBasic6.0的過程能夠測試條件表達(dá)式,然后根據(jù)測試結(jié)果執(zhí)行不同的操作。VisualBasic6.0支持的條件結(jié)構(gòu)有:If…Then;If…Then…Else;IIf;SelectCase?!绢伾繉υ捒?qū)傩灾党?/p>

數(shù)說

明&H1&cdlCCRGBInit為對話框設(shè)置默認(rèn)的顏色值&H2&cdlCCFullOpen顯示全部對話框,包括自定義顏色部分&H4&cdlCCPreventFullOpen使

按鈕無效&H8&cdlCCShowHelpButton在對話框上顯示

按鈕與【字體】對話框有關(guān)的屬性屬

性說

明【FontName】屬性返回被選定字體的名稱【FontSize】屬性返回被選定字體的大小【FontBold】屬性確定是否選擇粗體【FontItalic】屬性確定是否選擇斜體函數(shù)計(jì)算器的設(shè)計(jì)新建1個工程,將工程命名為“函數(shù)計(jì)算器”并保存在文件夾中。設(shè)計(jì)應(yīng)用程序界面,如圖4-10所示。編寫應(yīng)用程序代碼。運(yùn)行應(yīng)用程序,并執(zhí)行相關(guān)操作。保存工程。判斷閏年應(yīng)用程序設(shè)計(jì)新建1個工程,將工程命名為“閏年”并保存在文件夾中。設(shè)計(jì)應(yīng)用程序界面,如圖4-11所示。編寫應(yīng)用程序代碼。運(yùn)行應(yīng)用程序,并執(zhí)行相關(guān)操作。保存工程。查詢十二生肖應(yīng)用程序設(shè)計(jì)新建1個工程,將工程命名為“生肖查詢”并保存在文件夾中。設(shè)計(jì)應(yīng)用程序界面,如圖4-12所示。在

按鈕的單擊事件中編寫如下代碼。運(yùn)行應(yīng)用程序如圖4-12所示,并執(zhí)行相關(guān)操作。例如,在文本框1中輸入“1990”,單擊

按鈕,則在文本框2中顯示“馬”。保存工程?;A(chǔ)知識測驗(yàn)應(yīng)用程序設(shè)計(jì)新建1個工程,將工程命名為“基礎(chǔ)知識測驗(yàn)”并保存在文件夾中。設(shè)計(jì)應(yīng)用程序界面(控件的【名稱】屬性設(shè)置參考程序代碼中的相關(guān)控件名稱)。編寫應(yīng)用程序代碼。運(yùn)行應(yīng)用程序,并執(zhí)行相關(guān)操作。保存工程。項(xiàng)目小結(jié)本項(xiàng)目完成了簡單字體顯示器的開發(fā)設(shè)計(jì),分為三個任務(wù)——VisualBasic6.0開發(fā)應(yīng)用程序的基本步驟:建立可視化用戶界面、設(shè)置可視化界面特性和編寫事件驅(qū)動代碼。通過本項(xiàng)目的學(xué)習(xí),掌握了【單選按鈕】控件、【復(fù)選框】控件常用屬性、事件以及兩者之間的區(qū)別,掌握了【框架】控件的常用屬性及用途,掌握了順序結(jié)構(gòu)和選擇結(jié)果的使用。

項(xiàng)目五設(shè)計(jì)學(xué)生信息錄入系統(tǒng)

學(xué)習(xí)目標(biāo)掌握多窗體界面的設(shè)計(jì)。掌握【組合框】控件的常用屬性及事件。掌握【列表框】控件的常用屬性及事件。掌握循環(huán)結(jié)構(gòu)的使用。掌握通用對話框的使用。建立學(xué)生信息錄入系統(tǒng)界面【步驟解析】新建1個工程,將工程命名為“學(xué)生信息錄入系統(tǒng)”并保存在文件夾中。向窗體中添加兩個【文本框】控件,4個【標(biāo)簽】控件,4個【命令按鈕】控件,兩個【列表框】控件,1個【組合框】控件,并調(diào)整控件的大小及位置,如圖5-8所示。參照表5-1設(shè)置以上控件的屬性。建立【密碼輸入】對話框?qū)τ谝恍┖唵蔚某绦蚨裕瑔我坏囊粋€窗體便能滿足所有的要求,但在編寫具體的應(yīng)用程序時(shí),單一的一個窗體是不能滿足要求的,勢必要用到一個以上的窗體。例如,一個學(xué)生信息管理系統(tǒng),除了有用于顯示學(xué)生信息的對話框之外,還應(yīng)有學(xué)生基本信息輸入的對話框。多窗體是指包含有多個窗體界面,如圖5-9所示,這些窗體之間沒有絕對的從屬關(guān)系,每個窗體的地位都是平等的,它們之間只存在相互調(diào)用的關(guān)系,各個窗體出現(xiàn)的順序也有所不同?!静襟E解析】文本框的【PasswordChar】屬性用來設(shè)置密碼的樣式,例如案例中將密碼的樣式設(shè)為通用的星號*,設(shè)置這個屬性后,在【密碼】選項(xiàng)文本框中輸入的所有文字都以“*”表示。向應(yīng)用程序中添加自定義對話框,相當(dāng)于向應(yīng)用程序中添加了1個新窗體。當(dāng)應(yīng)用程序有了多個窗體之后,在設(shè)計(jì)某個窗體時(shí),必須先選中該窗體,即將該窗體置于最上層。【基礎(chǔ)知識】【列表框】控件和【組合框】控件都是列表選擇型控件,主要是用來向用戶提供一系列的列表項(xiàng)目,用戶可以從這些列表項(xiàng)目中選擇自己所需的項(xiàng)目?!玖斜砜颉靠丶?、【組合框】控件:【組合框】控件以下拉列表或組合列表的形式向用戶提供一系列項(xiàng)目,如圖5-12所示,它兼有【列表框】控件和【文本框】控件的功能。用戶可以在列表框部分選擇所需的項(xiàng)目,也可以在文本框部分輸入所需的項(xiàng)目。在工具箱中,【組合框】控件的圖標(biāo)為

?!静襟E解析】在【工程】對話框中,雙擊

圖標(biāo),將學(xué)生信息錄入系統(tǒng)界面置于最上層。在窗體上單擊組合框【Combo1】,將【名稱】屬性改為“cboMan”。拖動【屬性】對話框右端的滾動條,讓【List】屬性顯示出來,選擇【List】屬性,然后再單擊右端箭頭,打開其下拉列表,輸入“男”,然后按Enter鍵。再次單擊【List】屬性右端箭頭,打開其下拉列表,輸入“女”,然后按Enter鍵。再次拖動【屬性】對話框右端的滾動條,讓【Style】屬性顯示出來,選擇【Style】屬性,然后再單擊右端箭頭,打開其下拉列表,選擇“2-DropDownList”項(xiàng)?!玖斜砜颉靠丶玖斜砜颉靠丶粤斜淼男问较蛴脩籼峁┮幌盗许?xiàng)目,如圖5-12所示,用戶可以從中選擇一個或多個項(xiàng)目,列表項(xiàng)的輸入同樣也是通過【List】屬性來完成。用戶在列表框中單擊某一項(xiàng)目時(shí),該項(xiàng)目會以藍(lán)色光條的形式顯示,表示該項(xiàng)目被選中。當(dāng)列表框中的項(xiàng)目超出了列表框所能顯示的范圍,便會自動在列表框中增加1個垂直滾動條,便于用戶進(jìn)行上下翻動,如圖5-12所示。在工具箱中,【列表框】控件的圖標(biāo)為

?!静襟E解析】在窗體上單擊列表框【List1】,將【名稱】屬性改為“l(fā)stAddr”。拖動【屬性】對話框右端的滾動條,讓【List】屬性顯示出來,選擇【List】屬性,然后再單擊右端箭頭,打開其下拉列表,刪除“l(fā)stAddr”項(xiàng)。按照步驟1和2的方法,將列表框【List2】的【名稱】屬性改為“l(fā)stShow”,并刪除列表框中的“l(fā)stShow”項(xiàng)?!綥istCount】屬性功能:返回【列表框】控件中所有項(xiàng)目的個數(shù)。說明:【ListCount】屬性不顯示在【屬性】對話框里,用戶只能通過代碼來訪問該屬性,其語法結(jié)構(gòu)如下:[整型變量=]列表框控件名.ListCount【ListIndex】屬性功能:返回或設(shè)置當(dāng)前被選中列表項(xiàng)的索引值。說明:【ListIndex】屬性不顯示在【屬性】對話框里,用戶只能通過代碼來訪問或設(shè)置該屬性,其語法結(jié)構(gòu)如下:列表控件名.ListIndex[=索引值]【Sorted】屬性功能:返回或設(shè)置【列表框】控件的列表是否按字母升序來排列。說明:【Sorted】屬性有兩個取值:True或False。【Sorted】屬性為True時(shí),表示按字母升序排列列表項(xiàng);【Sorted】屬性為False時(shí)(默認(rèn)值),表示按列表加入的默認(rèn)順序排列列表。為【密碼輸入】對話框添加代碼預(yù)定義對話框是VisualBasic6.0為用戶已經(jīng)設(shè)計(jì)好了的對話框,用戶只要使用相關(guān)的函數(shù)就可以調(diào)用預(yù)定義對話框。當(dāng)函數(shù)的參數(shù)不同時(shí),所得到的預(yù)定義對話框也不一樣。因此,用戶可根據(jù)自己的需要,通過有關(guān)參數(shù)的設(shè)置,得到自己所需的預(yù)定義對話框?!据斎搿繉υ捒?、【消息】對話框是最常用的預(yù)定義對話框,它們都是模態(tài)對話框,因此必須關(guān)閉【輸入】對話框、【消息】對話框才能回到主對話框?!据斎搿繉υ捒颉据斎搿繉υ捒虿恍栌脩糇约喝ピO(shè)計(jì),只需要使用InputBox函數(shù)便可以調(diào)用【輸入】對話框,其語法結(jié)構(gòu)如下:InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile][,context])InputBox函數(shù)的返回值為對話框中所輸入的字符串,如果要使用InputBox函數(shù)的返回值時(shí)必須使用下面的語法結(jié)構(gòu):字符串變量=InputBox(………)如果沒有用到InputBox函數(shù)的返回值,則InputBox函數(shù)的括號必須省略,語法結(jié)構(gòu)如下:InputBox…,…,…【消息】對話框與【輸入】對話框一樣,【消息】對話框也不需要用戶自己去設(shè)計(jì),只需要使用MsgBox函數(shù)便可調(diào)用【消息】對話框,其語法結(jié)構(gòu)如下:MsgBox(prompt[,buttons][,title][,helpfile][,contex])InputBox函數(shù)和MsgBox函數(shù)都有各自的返回值,如果要用到兩個函數(shù)的返回值時(shí),必須采用以下語法結(jié)構(gòu):字符串變量=InputBox(…)整型變量=MsgBox(prompt[,buttons][,title][,helpfile][,contex])如果沒用到InputBox函數(shù)的返回值,則InputBox、MsgBox函數(shù)的括號必須省略,即InputBox…,…,…MsgBox…,…,…在多窗體應(yīng)用程序中,啟動窗體在程序運(yùn)行時(shí)會自動被顯示出來,而其他的窗體的顯示必須通過Show方法來實(shí)現(xiàn)。用Show方法來顯示窗體的語法結(jié)構(gòu)如下:窗體名.Show[style]其中“style”參數(shù)用來指定窗體的模式,為可選參數(shù),它的值為0或1。為1時(shí),表示窗體是模態(tài)的,即用戶只能操作所顯示的窗體,而不能操作其他窗體;為0時(shí),表示窗體是非模態(tài)的,即用戶既能操作所顯示的窗體,又可以操作其他窗體。例如,可以通過下面的代碼來顯示窗體名為“Form2”的窗體。Form2.Show1在多窗體中,要將某個窗體隱藏起來,可以通過Hide方法或Unload方法。用Hide方法和Unload方法隱藏窗體的語法結(jié)構(gòu)分別為:窗體名.HideUnload窗體名列表框、組合框中的列表項(xiàng)除了可以通過設(shè)置【List】屬性來完成外,還可以使用AddItem方法向列表框、組合框中增加列表項(xiàng),其語法結(jié)構(gòu)如下:列表框控件名或組合框控件名.AddItem字符串變量或表達(dá)式,[索引值]如果省略“索引值”,則列表項(xiàng)總是添加到列表框或組合框的最后;如果指定“索引值”,則在所指定的位置添加列表項(xiàng),并將該位置以后的列表項(xiàng)都向后移動1個位置。如果想刪除列表框、組合框中的列表項(xiàng),則可以使用RemoveItem方法,其語法結(jié)構(gòu)如下:列表框控件名.RemoveItem列表項(xiàng)索引值焦點(diǎn)事件焦點(diǎn)事件是VisualBasic中常用的共有事件。焦點(diǎn)(Focus)是用于表示控件具有接受輸入的能力,只有當(dāng)控件具有焦點(diǎn)時(shí),控件才可以被激活,才可以響應(yīng)事件。在活動的窗體中,任何時(shí)刻都只能有一個控件具有焦點(diǎn),并且只有當(dāng)控件的【Enabled】和【Visible】屬性都為True時(shí),才能獲得焦點(diǎn)。當(dāng)控件獲得焦點(diǎn)之后,便會以特殊的外觀顯示出來。例如,當(dāng)命令按鈕、單選按鈕或復(fù)選框獲得焦點(diǎn)之后,便會在控件之上顯示1個虛的方框;當(dāng)文本框獲得焦點(diǎn)之后,便會在文本框中出現(xiàn)1個閃動的光標(biāo)??丶@得焦點(diǎn)最簡單的方式便是直接單擊該控件,除了這種方式之外,控件還可以通過按Tab鍵來獲得焦點(diǎn)。連續(xù)按Tab鍵,焦點(diǎn)就會按控件添加的默認(rèn)順序在各個控件之間切換。焦點(diǎn)事件GotFocus事件PrivateSub控件名_GotFocus()

EndSubLostFocus事件PrivateSub控件名_LostFocus()

EndSubDo…LoopDoWhile(條件)[語句塊]LoopDo[語句塊]LoopWhile(條件)For…NextFor循環(huán)變量

=初值

To終值

[Step步長][語句塊]Next

[循環(huán)變量]設(shè)置“循環(huán)變量”等于“初值”。測試“循環(huán)變量”是否在“初值”和“終值”之間。若不是的話,則VisualBasic6.0退出循環(huán);若是的話執(zhí)行語句。執(zhí)行完“語句塊”語句,執(zhí)行Next[循環(huán)變量],循環(huán)變量=循環(huán)變量+步長。重復(fù)步驟(2)和步驟(3)。設(shè)置啟動窗體并運(yùn)行應(yīng)用程序【步驟解析】選擇【工程】/【工程1屬性】命令,打開【工程屬性】對話框,如圖5-16所示。在【工程屬性】對話框中,選擇【通用】選項(xiàng)卡,然后單擊【啟動對象】列表欄右端的箭頭,打開下拉列表,從中選擇“Dialog”項(xiàng),如圖5-16所示。單擊

按鈕,回到主窗體。運(yùn)行應(yīng)用程序,保存工程。組合框的使用List列表拒絕添加重復(fù)信息學(xué)生信息顯示應(yīng)用程序設(shè)計(jì)項(xiàng)目小結(jié)本項(xiàng)目完成了學(xué)生信息錄入系統(tǒng)程序的開發(fā)設(shè)計(jì),分為4個任務(wù):建立可視化用戶界面、設(shè)置可視化用戶界面屬性、添加控件事件及響應(yīng)代碼以及設(shè)置啟動窗體并運(yùn)行應(yīng)用程序。通過本項(xiàng)目的學(xué)習(xí),掌握了【組合框】控件和【列表框】控件常用屬性及事件、循環(huán)結(jié)構(gòu)的使用、【消息】對話框的使用以及多窗體界面的設(shè)計(jì)。

項(xiàng)目六設(shè)計(jì)手機(jī)選型程序

學(xué)習(xí)目標(biāo)掌握【滾動條】控件的常用屬性及事件。掌握【定時(shí)器】控件的常用屬性及事件。掌握過程和函數(shù)的定義及使用。熟悉參數(shù)傳遞。建立可視化用戶界面設(shè)置可視化用戶界面特性【步驟解析】在圖6-8所示的窗體上選中水平滾動條,將【名稱】屬性設(shè)為“hscMove”。拖動【屬性】對話框右端的滾動條,讓【Max】屬性顯示出來,選擇【Max】屬性欄,然后刪除右端的“32767”,輸入“100”。按照步驟2的方法,將【滾動條】控件的【LargeChange】屬性設(shè)置為“10”。按照步驟2的方法,將【滾動條】控件的【SmallChange】屬性設(shè)置為“10”。設(shè)置【定時(shí)器】控件屬性在窗體上單擊【定時(shí)器】控件(Timer1),單擊選中【Enable】屬性,然后單擊右端箭頭,打開其下拉列表,選擇“False”項(xiàng)。選擇【Interval】屬性,刪除右端的“0”,然后輸入“500”。添加過程代碼將公用的、能完成某一特定功能的程序設(shè)計(jì)成可供其他程序調(diào)用的、獨(dú)立的程序段,這種程序段就稱為子程序(也稱為過程)。調(diào)用子程序的程序段稱為主程序。使用過程編程有兩大優(yōu)點(diǎn):過程可使程序劃分成離散的邏輯單元,使程序的結(jié)構(gòu)清晰且便于調(diào)試;一個程序中的過程,往往不必修改或只需稍做改動,便可成為另一個程序的構(gòu)件。通用過程在VisualBasic6.0中,通用過程分為兩類,即子程序過程(Sub過程)和函數(shù)過程(Function過程)。通用過程必須由其他過程調(diào)用,它并不與任何特定的事件直接相聯(lián)系,它完成特定的任務(wù),通用過程由用戶創(chuàng)建。通用過程可以存儲在窗體或標(biāo)準(zhǔn)模塊中。事件過程控件事件的語法結(jié)構(gòu):PrivateSub控件名_事件名

(參數(shù)列表

)

語句塊

EndSub窗體事件的語法結(jié)構(gòu):PrivateSubForm_事件名

(參數(shù)列表)

語句塊EndSub如果兩個或兩個以上的標(biāo)準(zhǔn)模塊中含有相同的過程名,則在調(diào)用時(shí)必須用模塊名限定,其語法結(jié)構(gòu)為模塊名.過程名(參數(shù)列表)Sub過程[Private|Public][Static]Sub<過程名>([<形參表>])<語句序列>

[ExitSub]EndSub1.可將通用過程放入標(biāo)準(zhǔn)模塊、窗體模塊中。

2.通用過程必須以Sub開頭,以EndSub結(jié)束,中間是過程體。

3.Public定義過程為公用的(默認(rèn)值),應(yīng)用程序可隨處調(diào)用它(若定義在窗體,其他窗體的程序調(diào)用時(shí)要指定窗體名)。

4.Private定義子過程為局部的,只有該過程所在模塊中的程序才能調(diào)用它。

5.Static定義該過程中的所有局部變量的存儲空間只能分配一次,且這些值在整個程序運(yùn)行期間都存在。

6.過程名是供調(diào)用的標(biāo)識符,應(yīng)符合VisualBasic6.0標(biāo)識符的命名規(guī)則。

7.過程中可以使用一個或多個ExitSub語句,執(zhí)行到ExitSub語句時(shí)則從過程中退出;若無ExitSub語句,則執(zhí)行到EndSub語句時(shí)退出過程。

8.參數(shù)也稱為形參或啞元,只能是變量或數(shù)組名(數(shù)組名時(shí)要加“()”),在定義時(shí)沒有值。形參表可以有多個參數(shù),若是多個參數(shù),參數(shù)之間要用逗號分隔。形參表用于聲明形參的名稱、個數(shù)、位置和類型。ByVal表示當(dāng)該過程被調(diào)用時(shí),參數(shù)是值傳遞,否則是地址(引用)傳遞。函數(shù)過程無參數(shù)時(shí),函數(shù)過程名后的括號不能省略,這是函數(shù)過程的標(biāo)志。Function過程定義Function過程的語法結(jié)構(gòu)是:[Static][Public|Private]Function<函數(shù)過程名>([<參數(shù)列表>])[As<類型>]<語句塊>函數(shù)名=返回值[ExitFunction]EndFunction為手機(jī)選型界面控件調(diào)用Sub過程調(diào)用Sub過程有兩種方法,以下兩個語句都調(diào)用了名為“Txt”的Sub過程。CallTxt(參數(shù)1,參數(shù)2)Txt參數(shù)1,參數(shù)2調(diào)用Function過程CallSin(x)Sinx實(shí)參和形參形式參數(shù)(簡稱形參):在子過程中的參數(shù),出現(xiàn)在Sub過程和Function過程中。形式參數(shù)可以是變量名和數(shù)組名。實(shí)際參數(shù)(簡稱實(shí)參):在主過程中的參數(shù),過程調(diào)用時(shí)實(shí)參數(shù)據(jù)會傳遞給形參數(shù)據(jù)。按值傳遞參用“ByVal”關(guān)鍵字指出參數(shù)是按值來傳遞的。傳值就是通過值傳送實(shí)際參數(shù),即傳送實(shí)參的值而不是傳送它的地址。在這種情況下,系統(tǒng)把需要傳送的變量復(fù)制到一個臨時(shí)單元中,然后把該臨時(shí)單元的地址傳送給被調(diào)用的通用過程。由于通用過程沒有訪問變量(實(shí)參)的原始地址,因而不會改變原來變量的值,所有的變化都在變量的副本上進(jìn)行。被調(diào)用過程中的操作是在形參自己的存儲單元中進(jìn)行的,當(dāng)過程調(diào)用結(jié)束時(shí),形參所占用的存儲單元也同時(shí)被釋放。因此在過程體內(nèi),對形參的任何操作不會影響到實(shí)參。因此,如果確定某個參數(shù)不需要在過程中改變,一定要在定義過程中在形參處加上“ByVa1”關(guān)鍵字,以防止發(fā)生意外的錯誤。按地址傳遞參數(shù)按地址傳遞參數(shù)在VisualBasic6.0中是缺省的,即不用“ByVal”關(guān)鍵字。按傳址方式時(shí),則是把變量在內(nèi)存中的地址傳遞給形參。這時(shí),形參將與原變量使用內(nèi)存中的同一地址。也就是說,如果在過程中改變了這個形參的值,原變量也會隨之而改變。選用傳值還是傳址的使用規(guī)則形參是數(shù)組、自定義類型時(shí)只能用傳地址方式,若要將過程中的結(jié)果返回給主程序,則形參必須是傳址方式。這時(shí)實(shí)參必須是同類型的變量名,不能是常量或表達(dá)式。若形參不是上述中的兩種情況,一般應(yīng)選用傳值方式。這樣可增加程序的可靠性,便于調(diào)試程序,減少各過程間的關(guān)聯(lián)。因?yàn)樵谶^程體內(nèi)對形參的改變不會影響到實(shí)參。設(shè)計(jì)調(diào)速器單擊滾動條左端(或右端)的箭頭時(shí),滾動條所在位置的值以1為單位變化。單擊滾動條的灰色區(qū)域,滾動條所在位置以5為單位變化。當(dāng)在滾動條內(nèi)拖動滾動框時(shí),標(biāo)簽4中的數(shù)字隨著滾動框的位置不斷變化。文本框中顯示變化的值,標(biāo)簽4顯示滾動條當(dāng)前的值。矩形面積計(jì)算應(yīng)用程序設(shè)計(jì)新建1個工程,將工程命名為“矩形面積計(jì)算”并保存在文件夾中。設(shè)計(jì)應(yīng)用程序界面。編寫應(yīng)用程序代碼。產(chǎn)生隨機(jī)數(shù)并查詢素?cái)?shù)倒計(jì)時(shí)程序設(shè)計(jì)項(xiàng)目小結(jié)本項(xiàng)目完成了手機(jī)選型程序的開發(fā)設(shè)計(jì),分為四個任務(wù):建立可視化用戶界面、設(shè)置可視化用戶界面特性、添加控件事件及響應(yīng)代碼以及設(shè)置啟動窗體并運(yùn)行應(yīng)用程序。通過本項(xiàng)目的學(xué)習(xí),掌握了【定時(shí)器】控件和【滾動條】控件常用屬性及事件、過程的使用以及鼠標(biāo)事件的使用。

項(xiàng)目七設(shè)計(jì)簡單數(shù)組操作器

學(xué)習(xí)目標(biāo)熟悉菜單的基本知識。掌握【菜單編輯器】的使用。掌握菜單欄、彈出式菜單的設(shè)計(jì)。掌握工具欄的設(shè)計(jì)。掌握數(shù)組及其應(yīng)用。界面設(shè)計(jì)啟動【菜單編輯器】【菜單編輯器】對話框新建菜單【知識鏈接】【標(biāo)題】欄用來輸入菜單的標(biāo)題文字,相當(dāng)于控件的【Caption】屬性,為了起到標(biāo)識的作用,菜單的【標(biāo)題】欄必須醒目;【名稱】屬性用于設(shè)置輸入菜單的名稱,相當(dāng)于控件的【名稱】屬性,每個菜單的名稱必須是唯一的,且不能為空白。如果菜單的【標(biāo)題】欄是“—”(上畫線),則該菜單變?yōu)榉指罹€。一級菜單的標(biāo)題不能以分隔符(上畫線)命名,否則在退出【菜單編輯器】對話框時(shí)會彈出錯誤提示框。編輯菜單菜單屬性設(shè)置快捷鍵用來設(shè)置菜單的快捷方式,快捷鍵的設(shè)置必須是唯一的,不能重復(fù)使用;在設(shè)置菜單的【標(biāo)題】屬性時(shí),只要在相應(yīng)的字母前加上“&”,便可以使其成為該菜單的訪問鍵,訪問鍵雖可以重復(fù)使用,但為了操作方便,最好也是唯一的。添加菜單事件菜單響應(yīng)唯一事件──Click事件,但并不是所有的菜單都能響應(yīng)Click事件,只有那些沒有子菜單的菜單才有響應(yīng)Click事件的能力,如【宋體】菜單、【黑體】菜單,而含有子菜單的主菜單不能為其添加Click事件,如【樣式】菜單、【大小】菜單。另外,分隔線也不能響應(yīng)Click事件。菜單常用事件的添加可以通過單擊菜單來完成,也可以通過在【代碼】對話框的【對象】列表框中選擇相應(yīng)的菜單的名稱,來為菜單添加常用事件。添加【數(shù)組】菜單事件定義固定大小的數(shù)組有以下3種方法,采用哪一種方法取決于數(shù)組應(yīng)有的有效范圍。建立全局?jǐn)?shù)組,在模塊的聲明段用Public語句定義數(shù)組。建立模塊或窗體數(shù)組,在模塊的聲明段用Private語句定義數(shù)組。建立局部數(shù)組,在過程中用Private語句定義數(shù)組。動態(tài)數(shù)組數(shù)組長度具體為多大才算合適,有些情況下很難確定,這就需要數(shù)組在運(yùn)行時(shí)具有改變長度的能力。通過使用動態(tài)數(shù)組,可以在程序中任意改變數(shù)組的長度。在VisualBasic6.0中,動態(tài)數(shù)組是最靈活、最方便的,有助于有效管理內(nèi)存。數(shù)組元素的引用Dimx(8)…Temp=x(8)在上面的程序段中,有兩個x(8),其中定義語句中的x(8)不是數(shù)組元素,而是“數(shù)組說明符”,由它說明所建立的數(shù)組x的最大下標(biāo)值為8;而賦值語句“Temp=x(8)”中的x(8)是一個數(shù)組元素,它代表數(shù)組x中索引號為8的元素。1.Array()函數(shù)對各元素賦值,定義的數(shù)組是動態(tài)數(shù)組或連小括號都省略的數(shù)組,并且類型只能是Varient。

2.數(shù)組下界默認(rèn)為0,可通過OptionBase語句設(shè)置,上界由Array()函數(shù)括號內(nèi)的參數(shù)個數(shù)決定,也可通過UBound()函數(shù)獲得。

3.“數(shù)組元素值”是需要賦給數(shù)組各元素的值,各值之間以逗號分開。

4.Array()函數(shù)只適用于一維數(shù)組。輸出復(fù)制數(shù)組元素的輸出可以通過Print語句輸出數(shù)組元素,對一維數(shù)組,一般使用單重循環(huán)實(shí)現(xiàn)。數(shù)組元素的復(fù)制單個數(shù)組元素可以像簡單變量一樣從一個數(shù)組復(fù)制到另一個數(shù)組。例如:Dimb(4),a(6)…b(2)=a(3)要復(fù)制整個數(shù)組,要使用For循環(huán)語句。要復(fù)制整個數(shù)組,也可以使用一條簡單的賦值語句。

項(xiàng)目八設(shè)計(jì)學(xué)生成績管理系統(tǒng)

學(xué)習(xí)目標(biāo)了解文件的基本概念。掌握文件的分類。掌握三種常用的文件管理控件的使用。掌握文件的讀寫操作。掌握文件的基本操作。了解與文件有關(guān)的基本知識。熟悉鍵盤事件的使用。所謂的文件是指記錄外部介質(zhì)上的數(shù)據(jù)的集合,通常存放在磁盤上,并且每個文件都有一個文件名。一個完整的文件名包括主文件名和擴(kuò)展名兩部分,主文件名是文件的“名字”,擴(kuò)展名決定著文件的類型,如,“Form1.frm”,其中“Form1”為主文件名,“.frm”為擴(kuò)展名,表示該文件為窗體文件。由于每個文件在計(jì)算機(jī)上都有一個存儲的地址,因此要訪問或保存某個文件必須指明該文件的物理路徑,其語法結(jié)構(gòu)如下:磁盤驅(qū)動器名:\文件夾1\文件夾2\…\文件名實(shí)現(xiàn)【驅(qū)動器列表】控件的顯示功能【驅(qū)動器列表】控件除了一些共有屬性之外,還有一個特殊的屬性:【Drive】屬性。該屬性用于設(shè)置或返回要操作的驅(qū)動器,用戶可以通過設(shè)置該屬性來改變默認(rèn)的驅(qū)動器。由于【Drive】屬性不顯示在屬性對話框里,因此只能通過代碼來設(shè)置,其語法結(jié)構(gòu)如下:文件列表控件名.Drive="驅(qū)動器名"實(shí)現(xiàn)【文件夾列表】控件的顯示功能由于【驅(qū)動器列表】控件是一個下拉式的組合框,因此和【組合框】控件一樣,Change事件是驅(qū)動器列表框控件最常用的事件,但它不能響應(yīng)任何鼠標(biāo)事件。當(dāng)驅(qū)動器列表框中的驅(qū)動器發(fā)生改變時(shí),便會激發(fā)該事件。【文件夾列表】控件的顯示功能是通過【驅(qū)動器列表】控件的Change事件激發(fā)的。在【文件夾列表】控件中,雙擊某個文件夾便可以選中該文件夾,并以圖標(biāo)

的形式顯示該文件夾,表示該文件夾被打開。當(dāng)前被選中的文件夾,被【文件夾列表】控件的【Path】屬性記錄下來?!綪ath】屬性不僅可以用來返回當(dāng)前被選中的文件夾,而且還可以用于設(shè)置當(dāng)前被選中的文件夾,但只能通過代碼來設(shè)置【Path】屬性。例如,本操作中的代碼“Dir1.Path=Drive1.Drive”,便是用來設(shè)置文件夾列表的當(dāng)前文件夾。實(shí)現(xiàn)【文件列表】控件的顯示功能【文件列表】控件用于顯示當(dāng)前路徑下的部分或所有文件,常用屬性如下。【Path】屬性功能:返回或設(shè)置所要顯示文件的詳細(xì)路徑。說明:在用【文件列表】控件顯示文件時(shí),必須先為所顯示的文件指定詳細(xì)的路徑,但只能通過在代碼中設(shè)置【Path】屬性值來指定文件的路徑?!綪attern】屬性功能:返回或設(shè)置所要顯示文件的類型或特定的文件。說明:默認(rèn)值為“*.*”,表示顯示各種類型的文件。設(shè)置【Pattern】屬性時(shí),必須按文件命名的形式為其賦值,既要給出文件的主文件名,還要給出文件的擴(kuò)展名,但可以含有通配符“*”或“?”。在設(shè)置【Pattern】屬性后,文件列表中只顯示與【Pattern】屬性相符的文件。另外,【Pattern】屬性還可以設(shè)置多個值,但每個值之間必須以分號隔開。Change事件是【文件夾列表】控件最常用的事件,但只有在文件夾列表中雙擊某一列表項(xiàng)后才會激發(fā)Change事件;Click事件是【文件列表】控件最常用的事件,在文件列表中單擊某個文件便會激發(fā)該事件。如果雙擊某個文件,便會激發(fā)DblClick事件。在文件列表中單擊某個文件,該文件被選中,文件名由【文件列表】控件的【FileName】屬性記錄。【FileName】屬性除了可以返回在文件列表中被選中的文件之外,還可以用來設(shè)置所要顯示的文件的類型,但【FileName】屬性只能通過代碼來設(shè)置。例如,如果將【FileName】屬性設(shè)置成如下形式:File1.FileName="*.frm"則文件列表中只顯示擴(kuò)展名為“.frm”的文件。實(shí)現(xiàn)刪除文件功能在VisualBasic6.0中,文件的刪除可以通過Kill語句來完成,其語法結(jié)構(gòu)如下:Kill文件名功能:用來刪除“文件名”所指定的文件。說明:在指定“文件名”時(shí),必須給出文件的詳細(xì)路徑,并且文件名中還可以含有通配符“*”和“?”。例如:Kill"d:\myfile\*.txt"語句便可以刪除D盤“myfile”文件夾下的所有文本文件。另外在使用Kill語句刪除文件時(shí),并不會像在Windows系統(tǒng)中刪除文件那樣,會給出一個提示信息,因此使用該語句時(shí)必須十分小心,最好在刪除文件之前給出相應(yīng)的提示信息?!局R鏈接】【文件列表】控件除了可以響應(yīng)Click事件之外,還可以響應(yīng)其他鼠標(biāo)事件(如MouseDown事件)以及鍵盤事件(如KeyPress事件)。鍵盤是應(yīng)用程序中常用的輸入設(shè)備之一,用鍵盤輸入數(shù)據(jù)時(shí),同樣會激發(fā)與鍵盤有關(guān)的事件。與鍵盤有關(guān)的事件主要有按鍵事件(KeyPress事件)、鍵按下事件(KeyDown事件)、鍵彈起事件(KeyUp事件)。當(dāng)按下鍵盤中的某個鍵時(shí),除了激發(fā)KeyPress事件之外,還會激發(fā)KeyDown事件;松開所按下的鍵時(shí),便會激發(fā)KeyUp事件,各個事件的語法結(jié)構(gòu)如下。鍵盤事件鍵盤上的每個鍵都有一個ASCII碼和掃描碼,ASCII碼反映的是標(biāo)準(zhǔn)的字符信息,而掃描碼反映的是按鍵的位置信息,因此,參數(shù)“KeyCode”不能區(qū)分大小寫,即大寫A和小寫a所對應(yīng)的“KeyCode”值是一樣的,都為65,而參數(shù)“KeyAscii”則可以區(qū)分大小寫。在默認(rèn)情況下,控件的鍵盤事件優(yōu)先于窗體的鍵盤事件,因此,一旦發(fā)生鍵盤事件,總是控件先響應(yīng)鍵盤事件。如果希望窗體先響應(yīng)鍵盤事件,則必須將窗體的【KeyPreview】屬性設(shè)為“True”。文件除了可以復(fù)制、刪除之外,還可以重命名。在VisualBasic6.0中,文件的重命名是用Name語句來實(shí)現(xiàn)的,其語法結(jié)構(gòu)如下:Name原文件名

As新文件名功能:將“原文件名”改名為“新文件名”說明:“原文件名”必須是已經(jīng)存在的文件名,而“新文件名”必須是一個不存在的新的文件名,并且兩個文件的路徑必須是一樣的。如果“新文件名”的路徑與“原文件名”的路徑不一樣時(shí),則將“原文件”移動“新文件名”所指定的路徑下,并將文件改名為“新文件名”。例如:Name"d:\myfile\11.txt"As"d:\myfile\22.txt"語句便可以將文件“11.txt”改名為“22.txt”。Name"d:\myfile\11.txt"As"c:\mydocument\33.txt"語句便可以將文件11.txt從D盤“myfile”文件夾下移動C盤“mydocument”文件夾下,并改名為“33.txt”。鼠標(biāo)事件鼠標(biāo)按下事件PrivateSub控件名_MouseDown(ButtonAsInteger,ShiftAsInteger,_XAsSingle,YAsSingle)

EndSub鼠標(biāo)彈起事件PrivateSub控件名_MouseUp(ButtonAsInteger,ShiftAsInteger,_XAsSingle,YAsSingle)

EndSub鼠標(biāo)移動事件PrivateSub控件名_MouseMove(ButtonAsInteger,ShiftAsInteger,_XAsSingle,YAsSingle)

EndSub學(xué)生信息修改界面設(shè)計(jì)字符是構(gòu)成文件的最基本單位,一個漢字或一個英文字母都可看做是一個字符。字段是由若干個字符組成的,用來表示某一項(xiàng)數(shù)據(jù),并且這些字符不能拆開,例如,一個學(xué)生的姓名,便是一個字段。若干相關(guān)字段的組合便構(gòu)成了記錄。例如,一組學(xué)生的信息管理文件中,每一行便是一條記錄,每個記錄由學(xué)號、姓名、班級和專業(yè)4個相關(guān)的字段組成,而每個字段,又是由若干個字符所組成?!就ㄓ脤υ捒颉靠丶摹綟ilter】屬性用來返回或設(shè)置文件過濾器,由描述信息和通配符兩部分組成,中間用“|”隔開,如步驟(9)中,【Filter】屬性為“文本文件(*.txt)|*.txt”,其中“文本文件(*.txt)”為描述信息,“*.txt”為通配符,中間用“|”相隔。除了通過設(shè)置【Filter】屬性來顯示某一類型的文件之外,還可以通過設(shè)置【Filter】屬性來顯示幾種不同類型的文件,但在各種類型的文件之間必須用“|”相隔。例如,將【Filter】屬性設(shè)為“文本文件(*.txt)|*.txt|窗體文件(*.frm)|*.frm”,則文件列表中除了顯示擴(kuò)展名為“.txt”的文本文件外,還顯示擴(kuò)展名為“.frm”的窗體文件。實(shí)現(xiàn)打開(讀)文件功能當(dāng)文件為順序文件時(shí),如文本文件,可以使用LineInput#語句來讀取文件中的一行數(shù)據(jù),其語法結(jié)構(gòu)如下:LineInput#filenumber,varname其中,參數(shù)“filenumber”為必選參數(shù),對應(yīng)于用Open語句打開文件時(shí)所指定的文件號;參數(shù)“varname”為必選參數(shù),用來保存從文件中讀出的數(shù)據(jù)。除了可以使用LineInput#語句來讀取順序文件中的數(shù)據(jù)之外,還可以使用Input函數(shù)或Input#語句來讀取順序文件中的數(shù)據(jù)。使用Input函數(shù)來讀取文件數(shù)據(jù)的語法結(jié)構(gòu)為字符串變量名=Input(number,[#]filenumber)其中,參數(shù)number為必選參數(shù),用于指定要讀取的長度;參數(shù)filenumber為必選參數(shù),對應(yīng)于用Open語句打開文件時(shí)所指定的文件號。使用Input#語句來讀取文件數(shù)據(jù)的語法結(jié)構(gòu)為Input#filenumber,varlist其中,參數(shù)“filenumber”為必選參數(shù),對應(yīng)于用Open語句打開文件時(shí)所指定的文件號;參數(shù)“varlist”為必選參數(shù),用來保存從文件中讀出的數(shù)據(jù),變量之間用逗號隔開。如果要讀取文件數(shù)據(jù),則必須以Input方式打開文件。如果要寫入數(shù)據(jù)到文件中,則必須以O(shè)utput或Append方式打開文件。在對文件進(jìn)行讀寫操作之后,必須使用Close語句關(guān)閉已打開的文件,其語法結(jié)構(gòu)如下:Close[filenumberlist]其中,參數(shù)“filenumberlist”為可選參數(shù),其值為一個或多個有效的文件號。當(dāng)“filenumberlist”為多個文件號,必須以逗號相間,即#文件號,#文件號,……。如果省略參數(shù)“filenumberlist”,則關(guān)閉用Open語句打開的所有文件。實(shí)現(xiàn)保存(寫)文件功能向順序文件中寫入數(shù)據(jù),可以使用Print語句來完成,其語法結(jié)構(gòu)如下:Print#filenumber,printlist其中,參數(shù)“filenumber”為必選參數(shù),對應(yīng)于用Open語句打開文件時(shí)所指定的文件號;參數(shù)“printlist”為可選參數(shù),為將要被寫入文件的數(shù)據(jù)列表。例如,在本操作中,通過代碼“Print#1,txtText.text”,將文本框中的內(nèi)容寫入到文件號為“1”的文件中。除了可以用Print語句向順序文件中寫入數(shù)據(jù)之外,還可以用Write#語句向順序文件中寫入數(shù)據(jù),其語法結(jié)構(gòu)如下:Write#filenumber,printlist各參數(shù)的說明和Print#語句一樣。另外,用Print#語句寫入的數(shù)據(jù)一般用LineInput?;騃nput語句讀出,而用Write#語句寫入的數(shù)據(jù)通常用Input#語句讀出。EOF函數(shù)EOF函數(shù)返回一個布爾型或邏輯型的數(shù)據(jù),用于測試是否已經(jīng)到達(dá)文件結(jié)束部分,其語法結(jié)構(gòu)如下:EOF(filenumber)其中,參數(shù)“filenumber”為必選參數(shù),對應(yīng)于用Open語句打開文件時(shí)所設(shè)的文件號。只有到達(dá)文件的結(jié)尾部分,EOF才返回True,否則返回False。在對文件進(jìn)行操作時(shí),可使用EOF函數(shù)來判斷是否到達(dá)文件尾部,以避免因試圖在文件結(jié)尾處寫入數(shù)據(jù)而產(chǎn)生錯誤。FreeFile函數(shù)FreeFile函數(shù)返回下一個可供Open語句所使用的文件號,其語法結(jié)構(gòu)如下:FreeFile[(rangenumber)]其中,參數(shù)“rangenumber”為可選參數(shù),用于指定文件號的取值范圍,以便FreeFile函數(shù)返回在該范圍內(nèi)的下一個可用的文件號。如果“rangenumber”為0,表示FreeFile函數(shù)返回一個介于1~255的有效文件號;如果“rangenumber”為1,表示FreeFile函數(shù)返回一個介于256~511的有效文件號。FileLen函數(shù)FileLen函數(shù)返回一個表示文件大小的長整型數(shù)據(jù),其語法結(jié)構(gòu)如下:FileLen(pathname)其中,參數(shù)“pathname”為必選參數(shù),為一個字符串表達(dá)式,用于指定文件的詳細(xì)路徑。使用FileLen函數(shù)來獲取文件的大小時(shí),可以不必先打開相應(yīng)的文件。如果所指定的文件已經(jīng)被打開,則FileLen函數(shù)的返回值是文件被打開前的大小。LOF函數(shù)LOF函數(shù)返回一個表示文件大小的長整型數(shù)據(jù),其語法結(jié)構(gòu)如下:LOF(filenumber)其中,參數(shù)“filenumber”為必選參數(shù),對應(yīng)于用Open語句打開文件時(shí)所設(shè)的文件號。LOF函數(shù)雖然可以得到文

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論