




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
VB程序設(shè)計初步知識1.VB概述VB是一種可視化、面向?qū)ο蠛筒捎檬录?qū)動方式構(gòu)造化高檔程序設(shè)計語言。特點:▲可視化編程▲面向?qū)ο蟪绦蛟O(shè)計▲構(gòu)造化程序設(shè)計語言▲事件驅(qū)動編程機制▲訪問數(shù)據(jù)庫2.VB程序開發(fā)環(huán)境(1)窗口設(shè)計器窗口。簡稱,窗體(2)工程資源管理器窗口▲工程文獻和工程文獻組工程文獻擴展名是vbp,每個工程相應(yīng)一種工程文獻?!绑w文獻擴展名是frm,每一種窗體相應(yīng)一種窗體文獻,一種應(yīng)用程序可以有各種窗體?!瓌t模塊文獻擴展名bas,不屬于任何一種窗體?!惸K文獻(3)屬性窗口和工具箱窗口3.VB慣用對象及操作(1)對象事件名稱Name是由VB預(yù)定,不可以由編程者設(shè)定??梢栽谶\營期間變化窗體Name屬性值。(?)(2)控件4.VB應(yīng)用程序普通有3類模塊構(gòu)成,即窗體模塊、原則模塊和類模塊。VB應(yīng)用程序以解釋和編譯方式執(zhí)行。5.VB中變量和常量(1)常量▲文字常量:字符串和數(shù)值常量▲符號常量格式:Const變量名=表達式(2)變量▲命名規(guī)則:名字只能由字母、數(shù)字和下劃線構(gòu)成。第一種字符必要是英文字母,最后一種字符可以是類型闡明符?!兞款愋秃投x①類型闡明符放在變量名尾部。A#b(錯)%:整型&:長整型!:單精度型#:雙精度型$:字符串型②在定義變量時指定類型。格式:Declare變量名as類型Declare可以是Dim、Static、Public或Private(3)變量作用域變量分為:局部變量、模塊變量和全局變量①局部變量在事件過程或通用過程內(nèi)定義變量叫局部變量。②模塊變量窗體變量可用于窗體內(nèi)所有過程.當(dāng)同一種窗體內(nèi)不同過程使用相似變量時,必要定義窗體層變量,在使用窗體層變量前,必要先聲明。③全局變量全局變量只能在原則模塊中聲明,不能在過程或窗體模塊中聲明。用Public聲明。6.VB慣用內(nèi)部函數(shù)⑴轉(zhuǎn)換函數(shù)★取整函數(shù)Int和fix★數(shù)值轉(zhuǎn)換函數(shù)★類型轉(zhuǎn)換函數(shù)★格式轉(zhuǎn)換函數(shù)⑵數(shù)學(xué)函數(shù)★三角函數(shù)★絕對值函數(shù)(Abs)★符號函數(shù)(Sgn)★平方根函數(shù)(Sqr)★指數(shù)和對數(shù)函數(shù)(Exp和Log)⑶隨機數(shù)函數(shù)★隨機數(shù)函數(shù)(Rnd)★Randomize語句⑷時間函數(shù)7.VB字符串解決★左、中、右部截取Left(字符串,n)\Mid(字符串,n)\Right(字符串,n)★字符串長度測量函數(shù)Len(字符串)★Strings函數(shù)Strings(n,ASCII碼)Strings(n,字符串)★查找某個字符串函數(shù)InStr(首字符位置,字符串1,字符串2[,n]★字母大小轉(zhuǎn)換函數(shù)Ucase(字符串)Lcase(字符串)★插入字符串語句Mid(字符串,位置)=字符串★SetFocus語句8.VB運算符與表達式(1)算術(shù)運算符★求模運算Mod求余.★算術(shù)運算符優(yōu)先級^>->*>/>\>Mod>+>->&如:7^2Mod5^2\3=1(1)關(guān)系運算符和邏輯運算符(2)表達式執(zhí)行順序◆關(guān)系運算(=,>,<,<>,≦,≧)◆最后進行邏輯運算,順序為:Not→And→Or→Xor→Eqv如:表達式:Nota<=cOr4*c=b^2Andb<>a+c值是(Flase)a=2,b=3,c=49.VB慣用原則控件(1).標(biāo)簽●Alignment確認標(biāo)簽中標(biāo)題放置位置,可設(shè)立0、1、2,作用分別為標(biāo)題設(shè)立在左、右、中?!馎utoSize標(biāo)題自動調(diào)節(jié)標(biāo)簽大小,可設(shè)立為True和False.●Borderstyle設(shè)立標(biāo)簽邊框,可設(shè)立為0和1,0表達為無邊框?!馝nabled用于擬定一種窗體或控件能否對顧客產(chǎn)生事件作出反映?!馚ackStyle設(shè)立標(biāo)簽與否覆蓋背景,0表達為透明,1表達標(biāo)簽覆蓋背景?!馱ordWrap決定標(biāo)簽標(biāo)題文本能否自動換行。●其她:Height、Left、Top、Visible、Width等等。(2)文本框?qū)傩?●MaxLength設(shè)立文本框中輸入最大字符數(shù)?!馦ultiLine設(shè)立與否容許多行顯示?!馪asswordchar用于口令輸入?!馭crollbars用來設(shè)立文本框中滾動條。事件:◎Change事件當(dāng)顧客輸入新信息或把Text屬性設(shè)立為新值從而變化文本框?qū)傩詴r,將可觸發(fā)此事件?!騁otFocus事件當(dāng)文本框有輸入焦點時,鍵盤上輸入字符都將在文本框中顯示出來,只有當(dāng)一種文本框被激活并且可見性為TRUE是才干收到焦點?!騍etfocus事件該辦法可以把輸入光標(biāo)(焦點)移到指定文本框中。格式:[對象.]Setfocus(3)圖形控件圖片框和圖像框:▲CurrentX和CurrentY屬性▲Picture屬性▲Stretch屬性用于自動調(diào)節(jié)圖像框中圖形內(nèi)容大小。▲區(qū)別:①圖片框是“容器”控件,可作為父控件,而圖像框不能。③圖片框可接受文本和圖片,圖像框不能。④圖像框占用內(nèi)存少,顯示速度快。⑤圖片框更靈活,且合用于動態(tài)環(huán)境?!\營期間裝入圖片格式:[對象.]Picture=LoadPicture(”文獻名”)直線和形狀:△BorderColor屬性△Borderstyle1—實線2—虛線3—點線4—點劃線△BackStyle設(shè)立標(biāo)簽與否覆蓋背景,0表達為透明,1表達標(biāo)簽覆蓋背景?!鱏hape屬性0—矩形1—正方形2—橢圓形3—圓形4—四角圓化矩形△BorderWidth指定線寬或界寬(3)復(fù)選框和單選按鈕Enabled、FontBold、FontItalic、FontName、FontSize、FontUnderlineValue、Alignment、Height、Left、Top、Visible、Width單選按鈕:Value=True,表達選取了該單選按鈕.Value=False,表達沒有選取該單選按鈕.復(fù)選框:Value=0,表達沒有選取該復(fù)選框。Value=1,表達選取該復(fù)選框。Value=2,表達該復(fù)選框被禁用。(6)列表框和組合框列表框辦法:AddItem添加文本內(nèi)容到列表框中。Clear清除列表框中所有內(nèi)容。RemoveItem刪除列表框中指定項目。組合框(ComboBox):AddItem、Clear、RemoveItem同樣合用。Style是組合框一種重要屬性,其值可取0、1、2,決定組合框3個類型。注意:屬性ListIndex和ListCout區(qū)別108(7)滾動條屬性:除Enabled、FontBold、FontItalic、FontName、FontSize、FontUnderlineValue、Alignment、Height、Left、Top、Visible、Width外,尚有如下屬性:◆Max和Min◆LargeChange和SmallChange◆Value表達滾動框在滾動條位置。事件:重要有Scroll和Change.當(dāng)在滾動條內(nèi)拖動滾動框時會觸發(fā)Scroll事件,而變化滾動框位置時會觸發(fā)Change事件。(8)計時器可以用Enabled和Name屬性,其最重要是Interval屬性,取值范疇0~65535.(9)框架(10)焦點與Tab順序★設(shè)立焦點格式:[對象.]Setfocus★Tab順序Tab順序是在按Tab鍵時焦點在控件間移動順序。影響Tab順序?qū)傩允荰abIndex。1.數(shù)據(jù)輸出辦法:⑴print辦法與print辦法關(guān)于函數(shù):tab(n)函數(shù)【printtab(24);800】spc(n)函數(shù)【print“china”;spc(4);”中華人民共和國”】用于跳出n個空格輸出tab函數(shù)從第一列開始計數(shù),n是絕對偏移量。spc(n)函數(shù)則是從前面輸出內(nèi)容開始計數(shù),n是相對偏移量。⑵格式輸出()#:表達數(shù)字,不補零0:表達數(shù)字,在數(shù)字前或后補零.:指定小數(shù)點位置,:指定千分分隔符位置如:printformat$(12345.6,”####,#.##”)12,345.(3)msgbox函數(shù)信息框→返回值→標(biāo)題2.數(shù)據(jù)輸出辦法(1)inputbox辦法Inputbox函數(shù)返回值默以為字符串。如:a=inputbox(“Enteraninteger”)b=inputbox(“Enteraninteger”)text1.text=b+a如果在輸入對話框中輸入8和10,則文本框中顯示內(nèi)容為108VB控制構(gòu)造循環(huán)控制構(gòu)造(1)For循環(huán)控制構(gòu)造使用Exitfor語句,可以在循環(huán)變量到達終值前就退出循環(huán)。(2)當(dāng)循環(huán)構(gòu)造While條件[語句塊]Wend(3)Do循環(huán)構(gòu)造DoWhile……LoopDo……loopWhile(4)多分支控制構(gòu)造測試表達式=????→Selectcase測試表達式(5)IIf函數(shù)A=IIf(條件,true某些,false某些)數(shù)組與過程1.默認數(shù)組默認數(shù)組就是數(shù)據(jù)類型為Variant數(shù)組。StaticA(4)即為定義了四個默認數(shù)組。2.動態(tài)數(shù)組◆用變量作為下標(biāo)定位數(shù)組時動態(tài)數(shù)組◆用數(shù)值常量或符號常量作為下標(biāo)定維數(shù)組是靜態(tài)數(shù)組。動態(tài)數(shù)組定義分兩步:一方面在窗體層、原則模塊或過程中用DIM或Public聲明一種沒有下標(biāo)數(shù)組,然后再過程中在用ReDimd定義。3.數(shù)組清除和重定義Erase數(shù)組名Erase用于動態(tài)數(shù)組中,將刪除整個數(shù)組構(gòu)造并釋放數(shù)組所占用內(nèi)存,即動態(tài)數(shù)組后來就不復(fù)存在。用于靜態(tài)數(shù)組中只是內(nèi)容清空,數(shù)組依然存在。4.數(shù)組元素輸入及輸出輸入:普通通過For循環(huán)和Inputbox函數(shù)輸出如:Optionbase1Dims()asstringSubForm_Click()Redims(4)asstringFori=1to4Temp$=Inputbox(“EnterName”)S(i)=Temp$NextiEndSub輸出:用Print辦法結(jié)合For循環(huán)實現(xiàn)Optionbase1Dims(4,4)asIntegerFori=1to4Forj=1to4Prints(i,j);“”;NextjNexti5.控件數(shù)組控件數(shù)組是一組相似類型控件構(gòu)成,這些控件有一種相似控件名稱,具備相似屬性設(shè)立,所有元素Name屬性相似,但Index屬性不同。6.Sub過程●通用過程:各種事件過程需要使用同一種程序代碼,她可以單獨建立,供事件過程或其她過程調(diào)用?!袷录^程:當(dāng)發(fā)生某個事件時,對事件作出響應(yīng)程序段。函數(shù)過程返回值只能有一種。調(diào)用Sub過程:①Call語句調(diào)用過程。如:CallTryout(a,b)②把過程名作為一種語句使用。如:Tryouta,b去掉call核心字,去掉“實際參數(shù)”括號。7.通用sub過程和事件過程★重點★難點★事件過程是一種特殊sub過程,她附加在窗體和控件上。窗體事件過程不能由顧客任意定義,而是由系統(tǒng)指定。普通是在事件過程中調(diào)用通用過程,同步事件過程也可以被其她過程調(diào)用。通用過程可以放在原則模塊中,也可以放在窗體模塊中,而事件過程只能放在窗體模塊中,不同模塊中過程可以互相調(diào)用。8.Function過程★重點★難點★Sub過程不直接返回值,可以作為單獨基本語句使用,而Function過程要返回一種值,普通出當(dāng)前表達式中。鍵盤與鼠標(biāo)事件1.鍵盤事件⑴KeyPress事件當(dāng)壓下鍵盤上某個鍵時,將發(fā)生KeyPress事件。該事件可以用于各控件。例如用在文本框上格式:PrivateSubText-KeyPress(KeyAsciiasinteger)KeyPress事件帶有一種參數(shù),參數(shù)有兩種形式,第一種形式:IndexAsInteger,只用在控件數(shù)組。第二種形式是:KeyAsciiAsinteger,用于單個控件。KeyPress事件用于辨認按鍵Ascii碼,捕獲擊鍵動作,KeyAscii參數(shù)不能省略。控件鍵盤事件優(yōu)先于窗體鍵盤事件⑵KeyDown和KeyUP事件KeyDown和KeyUP事件返回是鍵盤直接狀態(tài)。KeyPress事件返回是Ascii碼。當(dāng)按鍵“A”時,KeyDown事件所得到Keycode碼與鍵“a”相似。2.鼠標(biāo)事件第10章鍵盤與鼠標(biāo)事件本章重要考查鍵盤事件與鼠標(biāo)事件,涉及KeyPress事件、KeyDown和KeyUp事件、鼠標(biāo)事件、鼠標(biāo)光標(biāo)形狀與拖放等知識點。通過對歷年試卷內(nèi)容分析,本章考核內(nèi)容約占6%,屬于普通考核對象。10.1鍵盤事件使用鍵盤事件過程,可以解決當(dāng)按下或釋放鍵盤上某個鍵時所執(zhí)行操作。10.1.1考點1:KeyPress事件當(dāng)壓下鍵盤上某個鍵時,將發(fā)生KeyPress事件。該事件可用于窗體、復(fù)選框、組合框、命令按鈕、列表框、圖片框、文本框、滾動條及與文獻關(guān)于控件。嚴格地說,當(dāng)按下某個鍵時,所觸發(fā)是擁有輸入焦點(Focus)那個控件KeyPress事件。在某一時刻,輸入焦點只能位于某一種控件上,如果窗體上沒有活動或可見控件,則輸入焦點位于窗體上。當(dāng)一種控件或窗體擁有輸入焦點時,該控件或窗體將接受從鍵盤上輸入信息。例如,假定一種文本框擁有輸入焦點,則從鍵盤上輸入任何字符都將在該文本框中回顯。在窗體上畫一種控件(指前面所講可以發(fā)生KeyPress事件控件),例如文本框,并雙擊該控件,進入程序代碼窗口后,從“過程”框中選用KeyPress,即可定義KeyPress事件過程。普通格式如下:PrivateSubText1_KeyPress(KeyAsciiAsInteger)……EndSubKeyPress事件帶有一種參數(shù),這個參數(shù)有兩種形式,第一種形式是IndexAsInteger,只用于控件數(shù)組;第二種形式是KeyAsciiAsInteger,用于單個控件。上面列出是第二種形式。KeyPress事件用來辨認按鍵ASCII碼。參數(shù)KeyAscii是一種預(yù)定義變量,執(zhí)行KeyPress事件過程時,KeyAscii是所按鍵ASCII碼。闡明:運用KeyPress事件可以對輸入值進行限制;運用KeyPress事件可以捕獲擊鍵動作;在KeyPress過程中可以修改KeyAscii變量值。如果進行了修改,VisualBasic控件中輸入修改后字符,而不是顧客輸入字符。例10.1.1如下關(guān)于KeyPress事件過程參數(shù)KeyAscii論述中,對的是()。[9月填空第29題]A.KeyAscii參數(shù)是所按鍵ASCII碼B.KeyAscii參數(shù)數(shù)據(jù)類型為字符串C.KeyAscii參數(shù)可以省略D.KeyAscii參數(shù)是所按鍵上標(biāo)注字符解析:KeyPress事件帶有一種參數(shù),這個參數(shù)有兩種形式。第一種形式是IndexAsInteger,只用于控件數(shù)組;第二種形式是KeyAsciiAsInteger,用于單個控件。參數(shù)KeyAscii是一種預(yù)定義變量,執(zhí)行KeyPress事件過程時,KeyAscii是所按鍵ASCII碼,并且該參數(shù)不能省略。答案:A小技巧:在默認狀況下,控件鍵盤事件優(yōu)先于窗體鍵盤事件。因而在發(fā)生鍵盤事件時,總是先激活控件鍵盤事件。如果但愿窗體先接受鍵盤事件,則必要把窗體KeyPreview屬性設(shè)立為True,否則不能激活窗體鍵盤事件。10.1.2考點2:KeyDown和KeyUp事件與KeyPress事件不同,KeyPress并不反映鍵盤直接狀態(tài),而KeyDown和KeyUp事件返回是鍵盤直接狀態(tài)。換言之,KeyDown和KeyUp事件返回是“鍵”,而KeyPress事件返回是“字符”ASCII碼。例如,當(dāng)按字母鍵“A”時,KeyDown所得到KeyCode碼(KeyDown事件參數(shù))與字母鍵“a”是相似,而對KeyPress來說,所得到ASCII碼不同樣。KeyDown和KeyUp事件參數(shù)也有兩種形式,其中IndexAsInteger只用于控件數(shù)組,而KeyCodeAsInteger,ShiftAsInteger用于單個控件。闡明:參數(shù)KeyCode是按鍵實際ASCII碼。該碼以“鍵”為準(zhǔn),而不是以“字符”為準(zhǔn)。也就是說,大寫字母與小寫字母使用同一種鍵,它們KeyCode相似(使用大寫字母ASCII碼);轉(zhuǎn)換鍵,指是三個轉(zhuǎn)換鍵狀態(tài),涉及Shift、Ctrl和Alt,這三個鍵分別以二進制形式表達,每個鍵有三位,Shift鍵為001,Ctrl鍵為010,Alt鍵為100;KeyDown是當(dāng)一種鍵被按下時所產(chǎn)生事件,而KeyUp是松開被壓下鍵時所產(chǎn)生事件。例10.1.2在窗體上畫1個文本框,其名稱為Text1,然后編寫如下過程:PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)PrintChr(KeyCode)EndSubPrivateSubText1_KeyUp(KeyCodeAsInteger,ShiftAsInteger)PrintChr(KeyCode+2)EndSub程序運營后,把焦點移到文本框中,此時如果敲擊“A”鍵,則輸出成果為()。[4月選取第29題]A.AB.AC.AD.AABCD解析:敲擊“A”鍵動作,一方面是按下該鍵觸發(fā)Text1_KeyDown事件,通過PrintChr(KeyCode)輸出“A”;然后是松開被按下“A”鍵,此時觸發(fā)Text1_KeyUp事件,通過PrintChr(KeyCode+2)輸出“C”。答案:C警鐘長鳴:在鍵盤上按下一種鍵總是會觸發(fā)KeyDown事件、KeyUp事件和KeyPress事件。例10.1.3在窗體上畫1個命令按鈕和1個文本框,其名稱分別為Command1和Text1,然后編寫如下代碼:DimSaveAllAsStringPrivateSubCommand1_Click()Text1.Text=Left(UCase(SaveAll),4)EndSubPrivateSubText1_KeyPress(KeyAsciiAsInteger)SaveAll=SaveAll+Chr(KeyAscii)EndSub程序運營后,在文本框中輸入abcdefg,單擊命令按鈕,則文本框中顯示內(nèi)容是____。[4月填空第9題]解析:Text1_KeyPress過程將顧客在文本框中所輸入內(nèi)容保存到變量SaveAll中,本例輸入“abcdefg”,則SaveAll=“abcdefg”;Left(UCase(SaveAll),4)函數(shù)即為對“abcdefg”轉(zhuǎn)換為大寫后取前四個字母,即“ABCD”。答案:ABCD小技巧:運用邏輯運算符And可以判斷與否按下了某個轉(zhuǎn)換鍵,可以在事件過程中通過判斷與否按下了某個或某幾種鍵來執(zhí)行指定操作??梢暬绦蛟O(shè)計1.當(dāng)窗體為活動窗體時,可以使用“工具”菜單中“菜單編輯器”打開菜單編輯器。2.彈出式菜單:建立彈出式菜單一方面用菜單編輯器建立菜單,然后用PopupMenu辦法彈出顯示。各級菜單中所有菜單項名稱必要唯一。3.通用對話框:對話框類型可以通過Action屬性設(shè)立,也可以用相應(yīng)辦法設(shè)立??梢酝ㄟ^DialogTitle屬性設(shè)立有實際意義標(biāo)題。通用對話框,Action=1打開文獻;=2保存文獻辦法:showopen;showsave4.文獻對話框:格式:【窗體】對話框名,Fliter=描述符1|過濾器1|描述符2|過濾器2|…FliterIndex用來指定默認過濾器。5.多重窗體程序設(shè)計Show辦法:用來將指定窗體裝入內(nèi)存并顯示該窗體。6.VB工程中,可以作為啟動對象程序是Submain過程或任何窗體。一種工程中可以涉及各種窗體文獻。數(shù)據(jù)文獻1基本文獻操作語句與函數(shù)⑴打開文獻★重點★難點★格式:Open文獻名【for方式】as#文獻號如果省略【for方式】,則打開文獻存取方式是隨機存取方式。方式指文獻輸出方式,可以是Output(順序輸出)以寫方式打開、input(順序輸入)、append(添加)。使用open語句打開文獻時,如果為輸入input打開文獻不存在,則產(chǎn)生“文獻未找到”錯誤;如果為Output(順序輸出)、append(添加)訪問方式打開文獻不存在,則建立相應(yīng)文獻。(2)關(guān)閉文獻(3)EOF函數(shù)用來測試文獻結(jié)束狀態(tài)。運用EOF函數(shù),可以避免在文獻輸入時浮現(xiàn)“輸入超過尾”錯誤。DOWhileNotEOF2.順序文獻與隨機文獻⑴順序文獻寫操作Print#文獻號,表達式Write#文獻號,表達式(2)順序文獻讀操作Input#文獻號,變量表(3)隨機文獻打開與讀寫操作隨機文獻記錄是定長記錄。在用open語言打開文獻時必要指定記錄長度。打開隨機文獻:Open”文獻名”forrandomAs#文獻號對文獻操作既可以讀也可以寫。第12章數(shù)據(jù)文件本章重要考查VisualBasic中數(shù)據(jù)文獻操作,涉及VisualBasic文獻概述、基本文獻操作語句與函數(shù)、順序文獻與隨機文獻和文獻系統(tǒng)控件。通過對歷年試卷內(nèi)容分析,本章考核內(nèi)容約占8%,屬于普通考核對象。12.1VisualBasic文獻概述12.1.1考點1:文獻概述1.文獻概念所謂“文獻”,是指記錄在外部介質(zhì)上數(shù)據(jù)集合。2.在程序設(shè)計中使用文獻因素文獻是使一種程序可以對不同輸入數(shù)據(jù)進行加工解決、產(chǎn)生相應(yīng)輸出成果慣用手段。使用文獻可以以便顧客,提高上機效率;使用文獻可以不受內(nèi)存大小限制。3.文獻構(gòu)造為了有效地存取數(shù)據(jù),數(shù)據(jù)必要以某種特定方式存儲,這種特定方式稱為文獻構(gòu)造。VisualBasic文獻由記錄構(gòu)成,記錄由字段構(gòu)成,字段由字符構(gòu)成。(1)字符字符是構(gòu)成文獻最基本單位。字符可以是數(shù)字、字母、特殊符號或單一字節(jié)。VisualBasic支持雙字節(jié)字符,當(dāng)計算字符串長度時,一種西文字符和一種中文都可作為一種字符計算,但它們所占空間是不同樣。例如:字符串“系統(tǒng)分析員協(xié)會顧問團CSAI”長度為14個字符,而所占存儲空間為24個字節(jié)。(2)字段字段也稱為域。字段由若干個字符構(gòu)成,用來表達一項數(shù)據(jù)。(3)記錄記錄由一組有關(guān)字段構(gòu)成。(4)文獻文獻由記錄構(gòu)成,一種文獻具有一種以上記錄。4.文獻種類依照不同分類原則,文獻可分為不同類型。(1)依照數(shù)據(jù)性質(zhì)劃分程序文獻:存儲是可以由計算機執(zhí)行程序,涉及源文獻和可執(zhí)行文獻。數(shù)據(jù)文獻:存儲普通數(shù)據(jù),此類數(shù)據(jù)必要通過程序來存取和管理。(2)依照數(shù)據(jù)存取方式和構(gòu)造劃分順序文獻:文獻中記錄一種接一種地存儲。順序文獻組織比較簡樸,但維護困難。重要長處是占空間少,容易使用。隨機存取文獻:又稱直接存取文獻,每個記錄長度是固定,依照記錄號進行讀寫操作。長處是數(shù)據(jù)存取靈活、以便,速度較快,容易修改。缺陷是占空間較大,數(shù)據(jù)組織較復(fù)雜。(3)依照數(shù)據(jù)編碼方式劃分ASCII文獻:又稱文本文獻,它以ASCII方式保存文獻??梢杂米纸鉀Q軟件建立和修改。二進制文獻:以二進制方式保存文獻。不能用普通字解決軟件編輯,占空間較小。例12.1.1如下文獻擴展名中,不屬于程序文獻是()。A..exeB..frmC..mdbD..vbp解析:.exe文獻為可執(zhí)行文獻;.frm文獻為VisualBasic窗體文獻;.mdb文獻為Access數(shù)據(jù)庫文獻;.vbp文獻為VisualBasic工程文獻。答案:C第二章數(shù)據(jù)輸出與輸入1.Print辦法對象2.MsgBox函數(shù)和InputBox函數(shù)中各參數(shù)含義格式:InputBox(prompt,title,default)格式:MsgBox(msg,type,title)9章數(shù)組與過程本章重要考查VisualBasic中數(shù)組與過程,重要涉及:數(shù)組基本概念、數(shù)組基本操作、控件數(shù)組、Sub過程、Function過程、過程中參數(shù)、局部內(nèi)存分派和Shell函數(shù)。通過對歷年試卷內(nèi)容解析,本章考核內(nèi)容約占18%,屬于重點考核對象,但將保持下降趨勢。9.1數(shù)組基本概念9.1.1考點1:數(shù)組定義數(shù)組是有序數(shù)據(jù)集合。在VisualBasic中,一種數(shù)組中元素可以是相似類型數(shù)據(jù),也可以是不同類型數(shù)據(jù)。在VisualBasic中,可以有兩種格式定義數(shù)組:1.第一種格式(1)一維數(shù)組一維數(shù)組定義普通格式如下:Dim數(shù)組名(下標(biāo)上界)As類型名稱例如:Dimscore(10)AsInteger該語句定義了一種一維數(shù)組,名字為score,類型為Integer,共6個元素。(2)二維數(shù)組二維數(shù)組定義普通格式如下:Dim數(shù)組名(第一維下標(biāo)上界,第二維下標(biāo)上界)As類型名稱例如:DimstuScore(10,2)AsInteger該語句定義了一種二維數(shù)組,名字為stuScore,類型為Integer,共11X3=33個元素。2.第二種格式(1)定義數(shù)組在定義數(shù)組時,指定數(shù)組下標(biāo)上界和下界。語句普通格式如下:Dim數(shù)組名([下界To]上界[,[下界To]上界]……)As類型名稱例如:Dimscore(1To5)該語句定義了一種一維數(shù)組,下界為1,上界為5,共5個元素。第二種格式事實上包括了第一種格式,只要省略“下界To”,即變?yōu)榈谝环N格式。(2)語句闡明“數(shù)組名”與簡樸變量相似,可以是任何合法VisualBasic變量名,在同一過程中,數(shù)組名不能與變量名同名;數(shù)組必要先定義后使用,并且每一維元素個數(shù)必要是常數(shù),不能是變量或表達式;使用Dim語句定義數(shù)組時,數(shù)值數(shù)組中所有元素初始化為0,字符串?dāng)?shù)組中所有元素初始化為空字符串;普通狀況下,下標(biāo)下界默以為0,可以使用OptionBasen(n只能為或1)變化下標(biāo)默以為1;使用LBound和UBound函數(shù)可以獲得數(shù)組上、下界值;如果下標(biāo)值從0開始,則數(shù)組元素個數(shù)為最大下標(biāo)值加1,如果下標(biāo)值從1開始,則數(shù)組元素個數(shù)與最大下標(biāo)值相等。3.定義數(shù)組保存字在VisualBasic中,定義數(shù)組時可使用4個保存字,以定義不同范疇內(nèi)數(shù)組:Dim:定義窗體模式或原則模塊數(shù)組,也可用在過程中;ReDim:用在過程中;Static:用在過程中;Public:用在原則模塊中,定義全局數(shù)組。例9.1.1在窗體上畫1個命令按鈕,其名稱為Command1,然后編寫如下事件過程:[4月填空第7-8題]PrivateSubCommand1_Click()Dimarr(1To100)AsIntegerForI=1To100arr(i)=Int(Rnd*1000)NextiMax=arr(1)Min=arr(1)Fori=1To100If【7】ThenMax=arr(i)EndIfIf【8】ThenMin=arr(i)EndIfNextiPrint"Max=";Max,"Min=";MinEndSub程序運營后,單擊命令按鈕,將產(chǎn)生100個1000以內(nèi)隨機整數(shù),放入數(shù)組arr中,然后查找并輸出這100個數(shù)中最大值Max和最小值Min,請?zhí)羁?。解?由條件判斷可以得知,在【7】處意思是將最大值Max中數(shù)與arr(i)中數(shù)相比較,【8】處意思是將最小值Min中數(shù)與arr(i)中數(shù)相比較。答案:【7】Maxarr(i)9.1.2考點2:默認數(shù)組所謂默認數(shù)組,就是數(shù)據(jù)類型為Variant(默認)數(shù)組。在普通狀況下,定義數(shù)組應(yīng)指明其類型。例如:StaticElec(1To100)AsInteger該語句定義了一種數(shù)組Elec,該數(shù)組類型為整型,它有100個元素,每個元素都是一種整數(shù)。但如果使用語句:StaticElec(1To100)則定義數(shù)組是默認數(shù)組,沒有指定類型,則類型默以為Variant,該語句等價于:StaticElec(1To100)AsVariant對于默認數(shù)組來說,同一種數(shù)組中可以存儲各種不同數(shù)據(jù)。因而,默認數(shù)組可以說是一種“混合數(shù)組”,這也就是默認數(shù)組意義所在。例9.1.2閱讀下面程序并填空。SubForm_Click()【1】Defau(1)=100Defau(2)=234.56Defau(3)="CSAI"Defau(4)="20"&NowFori=1To4Print"Defau(";I;")=";Defau(i)NextiEndSub答案:【1】StaticDefau(4)第11章可視化程序設(shè)計本章重要考查可視化程序設(shè)計,涉及菜單程序設(shè)計、對話框程序設(shè)計、多重窗體程序設(shè)計、VisualBasic工程構(gòu)造與執(zhí)行控制等知識點。通過對歷年試卷內(nèi)容分析,本章考核內(nèi)容約占6%,屬于普通考核對象,下次考試將保持上升趨勢。11.1菜單程序設(shè)計菜單基本作用有兩個,一是提供人機對話界面,以便讓使用者選取應(yīng)用系統(tǒng)各種功能;二是管理應(yīng)用系統(tǒng),控制各種功能模塊運營。在實際應(yīng)用中,菜單可分為兩種基本類型,即下拉式菜單和彈出式菜單。11.1.1考點1:下拉式菜單下拉式菜單是一種典型窗口式菜單。在下拉式菜單系統(tǒng)中,普通有一種主菜單,其中涉及若干選取項,主菜單每一項都可以“下拉”出下一級菜單供顧客選取或輸入信息。操作完畢后菜單從屏幕上消失,并恢復(fù)本來屏幕狀態(tài)。1.菜單編輯器VisualBasic中菜單通過菜單編輯器,即菜單設(shè)計窗口建立??梢酝ㄟ^如下4種方式進入菜單編輯器:執(zhí)行“工具”菜單中“菜單編輯器”命令;使用熱鍵Ctrl+E;單擊工具欄中“菜單編輯器”按鈕;在要建立菜單窗體上單擊鼠標(biāo)右鍵,將彈出一種菜單,然后單擊“菜單編輯器”命令。菜單編輯器窗口分為三個某些:即數(shù)據(jù)區(qū)、編輯區(qū)和菜單項顯示區(qū)。(1)數(shù)據(jù)區(qū)數(shù)據(jù)區(qū)用來輸入或修改菜單項、設(shè)立屬性。在數(shù)據(jù)區(qū)中,必要提供菜單項“標(biāo)題”和“名稱”屬性,“有效”屬性和“可見”屬性普通默以為True,只有在必要時才設(shè)立其她屬性。在設(shè)立“標(biāo)題”屬性時,如果輸入一種減號(—),則可在菜單中加入一條分隔線;如果在菜單“標(biāo)題”中包括“&”,則可將該符號后字母作為訪問鍵(通過ALT加該鍵打開該菜單)。(2)編輯區(qū)編輯區(qū)用來對輸入菜單項進行簡樸編輯。(3)菜單項顯示區(qū)菜單項顯示區(qū)用來顯示所輸入菜單項。菜單在數(shù)據(jù)區(qū)輸入,在編輯區(qū)進行位置調(diào)節(jié),在菜單項顯示區(qū)顯示。2.菜單項控制(1)有效性控制菜單中某些菜單項應(yīng)能依照執(zhí)行條件不同進行動態(tài)變化,即當(dāng)條件滿足時可以執(zhí)行,否則不能執(zhí)行。菜單項“有效”屬性,菜單項有效性就是通過該屬性來控制。事實上,只要把一種菜單項“有效”屬性設(shè)立為False,就可以使其失效,運營后該菜單項變?yōu)榛疑?為了使一種失效菜單項變?yōu)橛行?只要把它“有效”屬性重新設(shè)立為True即可實現(xiàn)。(2)菜單項標(biāo)記所謂菜單項標(biāo)記,就是在菜單項前加上一種“√”。它有兩個作用:一是可以明顯地表達當(dāng)前某個(或某些)命令狀態(tài)是“On”或“Off”二是可以表達當(dāng)前選取是哪個菜單項。菜單項標(biāo)記通過菜單設(shè)計窗口中“復(fù)選”屬性設(shè)立,當(dāng)該屬性為True時,相應(yīng)菜單項前有“√”標(biāo)記;如果該屬性為False,則相應(yīng)菜單項前沒有“√”標(biāo)記。(3)鍵盤選取用鍵盤選用菜單普通有兩種辦法,即熱鍵和訪問鍵(AccessKey)。3.菜單項增減菜單項增減通過控件數(shù)組來實現(xiàn)。一種控件數(shù)組具有若干個控件,這些控件名稱相似,所使用事件過程相似,但其中每個元素可以有自己屬性??丶?shù)組和普通數(shù)組同樣,可通過下標(biāo)(Index)訪問控件數(shù)組中元素??丶?shù)組可以在設(shè)計階段建立,也可以在運營時建立。例11.1.1假定有一種菜單項,名為MenuItem,為了在運營時該菜單項失效(變灰),應(yīng)使用語句是()A.MenuItem.Enabled=FalseB.MenuItem.Enabled=TrueC.MenuItem.Visible=TrueD.MenuItem.Visible=False解析:Enabled屬性設(shè)立菜單與否可用;Visible屬性設(shè)立菜單與否可見。菜單項標(biāo)記普通是動態(tài)地加上或取消,因而應(yīng)在程序代碼中依照執(zhí)行狀況動態(tài)設(shè)立。答案:A重要提示:只有當(dāng)某個窗體為活動窗體時,才干用上面簡介四種辦法打開菜單編輯器窗口。11.1.2考點2:彈出式菜單建立彈出式菜單普通分兩步進行:一方面用菜單編輯器建立菜單,然后用PopupMenu辦法彈出顯示。第一步操作與前面簡介基本相似,惟一區(qū)別是必要把菜單名(即主菜單項)“可見”屬性設(shè)立為False(子菜單項不要設(shè)立為False)。PopupMenu辦法用來顯示彈出式菜單,其普通格式如下:對象.PopupMenu菜單名,Flags,X,Y,BoldCommand闡明:當(dāng)省略“對象”時,彈出式菜單只能在當(dāng)前窗體中顯示。如果需要彈出式菜單在其她窗體中顯示,則必要加上窗體名;Flags兩組參數(shù)可以單獨使用,也可以聯(lián)合使用。當(dāng)聯(lián)合使用時,每組中取一種值,兩者相加;如果使用符號常量,則兩個值用Or連接;彈出式菜單位置由X、Y和Flags參數(shù)共同指定。例11.1.2在菜單編輯器中建立一種名稱為Menu()菜單項,將其“可見”屬性設(shè)立為False,并建立其若干子菜單,然后編寫如下過程:PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=1ThenPopupMenuMenu()EndIfEndSub則如下論述中錯誤是()[4月選取第32題]A.該過程作用是彈出一種菜單B.單擊鼠標(biāo)右鍵時彈出菜單C.Menu()是在菜單編輯器中定義彈出菜單名稱D.參數(shù)X、Y指明鼠標(biāo)當(dāng)前位置坐標(biāo)解析:普通把PopupMenu辦法放在MouseDown事件中,該事件響應(yīng)所有鼠標(biāo)單擊操作,用Button參數(shù)控制左右鍵選取。Button=1為單擊鼠標(biāo)左鍵時彈出菜單,Button=2為單擊鼠標(biāo)右鍵時彈出菜單。答案:B第九章.慣用控件認清事件觸發(fā)對象名列表框List屬性——是一種字符數(shù)組,存儲列表框項。ListIndex屬性——選中列表項序號。ListCount屬性——列表框中項目數(shù)量。Text屬性——被選中列表項文本內(nèi)容。Selected屬性——是一種邏輯數(shù)組,表達相應(yīng)項在程序運營期間與否被選中。第三章VB程序設(shè)計語句1.For循環(huán)For<循環(huán)變量>=<初值>to<終值>[step步長]<循環(huán)體>[ExitFor]Next<循環(huán)變量>1)多重循環(huán)Do循環(huán)格式一:DoWhile<條件><語句塊>Loop格式二:DoUntil<條件><語句塊>Loop格式三:Do<語句塊>LoopWhile<條件>格式四:Do<語句塊>LoopUntil<條件>2)二重循環(huán)1.典型案例:求100以內(nèi)素數(shù)。2.取矩陣對角線上元素。3.打印“*”型圖。3)程序范例:Constn=5,m=4Dima(m,n)PrivateSubCommand1_Click()K=1Fori=1TomForj=1Tona(i,j)=kk=k+1NextjNextiEndSubPrivateSubCommand2_Click()Summ=0Fori=1TomForj=1TonIfi=1Ori=mThenSumm=summ+a(i,j)ElseIfj=IOrj=nThenSumm=summ+a(i,j)EndIfEndIfNextjNextiPrintsummEndSub過程Command1_Click()作用是二維數(shù)組a中存儲1個m行n列矩陣;過程Command2_Click()作用是A)計算矩陣外圍一圈元素累加和B)計算矩陣除外一圈以外所有元素累加和C)計算矩陣第1列和最后一列元素累加和D)計算矩陣第1行和最后一行元素累加和VB中狀態(tài)欄(StatusBar)和工具欄(ToolBar)典型實例分析1.狀態(tài)欄作用與構(gòu)成StatusBar控件由Panel(窗格)對象構(gòu)成,最多能被提成16個Panel對象,每一種Panel對象能包括文本和/或圖片??刂苽€別窗格外觀屬性涉及Width、Alignment(文本和圖片)和Bevel(斜面)。此外,能使用Style屬性七個值中一種自動地顯示公共數(shù)據(jù),諸如日期、時間和鍵盤狀態(tài)等。2.創(chuàng)立狀態(tài)欄先在窗體上畫出一種StatusBar對象,再右擊該對象,從快捷菜單中選取“屬性”,進入屬性頁設(shè)立窗口,進行下面設(shè)立:(1)選取窗格形狀在屬性窗口里選取通用標(biāo)簽,在樣式列表框里選取多窗格(缺省形式)或單窗格簡樸文本形式。(2)添加或刪除狀態(tài)欄窗格在屬性窗口里選取窗格標(biāo)簽,單擊插入窗格按鈕添加一種窗格,或單擊刪除窗格按鈕刪除一種窗格。(3)在單窗格里顯示文本在屬性窗口里選取通用標(biāo)簽,在簡樸文本框里輸入想顯示在狀態(tài)欄窗格里文本。用代碼顯示方式是:StatusBar1.SimpleText="要顯示內(nèi)容"(4)在多窗格里顯示文本或圖形1).在屬性窗口里選取窗格標(biāo)簽,用索引旁按鈕選取窗格序號。2).在文本框里輸入想顯示在狀態(tài)欄窗格里文本。用代碼顯示方式是:
StatusBar1.Panels(x).Text="要顯示內(nèi)容"3).如果想加入圖形,單擊瀏覽按鈕打開一種圖形選取對話框,選取想加入圖形,然后單擊打開按鈕。(5)編寫代碼如果是一種單窗格狀態(tài)欄,當(dāng)顧客單擊狀態(tài)欄時,只需用下面事件過程來響應(yīng):PrivateSubStatusBar1_Click()
<要執(zhí)行代碼>
EndSub如果是一種多窗格狀態(tài)欄,就需要鑒別顧客單擊是哪一種窗格,可用下面事件過程來辨認顧客所單擊窗格:PrivateSubStatusBar1_PanelClick(ByValPanelAsPanel)
SelectCasePanel.Index
Case1
<要執(zhí)行代碼>
Case2
<要執(zhí)行代碼>
……
EndSelect
EndSub
3.創(chuàng)立工具欄(1).建立工具欄1)在工具箱里單擊工具欄圖標(biāo),拖到窗體任何位置,VisualBasic自動將ToolBar移到頂部。再右擊該對象,從快捷菜單中選取“屬性”,進入屬性頁設(shè)立窗口;2)選取按鈕標(biāo)簽,單擊插入按鈕,VisualBasic就會在工具欄上顯示一種空按鈕,重復(fù)此步插入各種按鈕;3)單擊擬定按鈕。如果想把按鈕分組,一方面插入一種分隔按鈕,再在對話框里將這個按鈕樣式屬性改為3-Separator。(2)為工具欄增長圖畫1).在VisualBasic工具箱里單擊ImageList圖標(biāo),并將它拖到窗體任何位置(位置不重要,由于它總是不可見),再右擊該對象,從快捷菜單中選取“屬性”,進入屬性頁設(shè)立窗口;2).選取圖象標(biāo)簽,單擊插入圖片,在選定圖形對話框里選取想使用位圖或圖標(biāo),然后單擊打開按鈕。為每個想添加圖形工具欄按鈕重復(fù)此步。3).單擊擬定按鈕。4).進入ToolBar屬性對話框,選取通用標(biāo)簽,在圖象列表框里選取剛才添加ImageList控件。5).選取按鈕標(biāo)簽,單擊緊挨Index框向左或向右箭頭以選取一種按鈕序號。出當(dāng)前工具欄最左邊按鈕序號為1。6).在Image框里輸入一種數(shù),輸入為1,則顯示剛才ImageList控件里第一種圖形,輸入為2,則顯示剛才ImageList控件里第二個圖形。7).為每個按鈕重復(fù)第6步,單擊擬定按鈕,當(dāng)前VisualBasic就會在工具欄上顯示精美圖形了。(3)為工具欄添加文本信息在ToolBar屬性對話框中選取按鈕標(biāo)簽,在標(biāo)題框里輸入想顯示在按鈕上文本。(4)添加ToolTipsToolTips是一種當(dāng)點到工具按鈕時彈出小標(biāo)簽。ToolTips很以便,可以告訴那些新手每個按鈕是干什么用。在ToolBar屬性對話框中選取按鈕標(biāo)簽,在工具提示文本框里輸入想作為ToolTip文本。(5)編寫代碼雙擊工具欄,如下面格式輸入代碼就可以了:PrivateSubToolbar1_ButtonClick(ByValButtonAsButton)
SelectCaseButton.Index
Case1
<要執(zhí)行代碼>
Case2
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)場整體出租合同范本
- 買賣礦居間合同范本
- 農(nóng)村豬種出售合同范本
- 出納付款合同范本模板
- 廠區(qū)綠化種植合同范本
- 小區(qū)廢油收購合同范本
- 頁巖磚廠家合同范本
- 個人單位調(diào)動申請書
- 廠房搬遷轉(zhuǎn)讓合同范本
- 東京奧運會演講稿
- 小學(xué)四年級心理健康教育課
- 供應(yīng)商開發(fā)流程及質(zhì)量要求
- 2024年技術(shù)監(jiān)督質(zhì)檢職業(yè)技能考試-電力技術(shù)監(jiān)督上崗員(中國華能)筆試歷年真題薈萃含答案
- 反假幣測試附有答案
- 怎樣調(diào)動員工積極性
- 2024年內(nèi)科護理學(xué)(第七版)期末考試復(fù)習(xí)題庫(含答案)
- 急診科培訓(xùn)急診科與其他科室的協(xié)作與溝通
- JCT414-2017 硅藻土的標(biāo)準(zhǔn)
- 肌肉注射評分標(biāo)準(zhǔn)
- 鋼結(jié)構(gòu)主要技術(shù)標(biāo)準(zhǔn)和要求
- 臘八粥 第一課時自學(xué)導(dǎo)學(xué)單
評論
0/150
提交評論