計算機等級考試二級VB基礎(chǔ)教程總結(jié)_第1頁
計算機等級考試二級VB基礎(chǔ)教程總結(jié)_第2頁
計算機等級考試二級VB基礎(chǔ)教程總結(jié)_第3頁
計算機等級考試二級VB基礎(chǔ)教程總結(jié)_第4頁
計算機等級考試二級VB基礎(chǔ)教程總結(jié)_第5頁
已閱讀5頁,還剩168頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機等級考試二級VB基礎(chǔ)教程總結(jié)1.1 VisualBasic概述VisualBasicVisualBasic(VB)Microsoft“Visual”指的是開發(fā)圖形用戶界面(GUI)的方法——不需編寫大量代碼去描述界面元素add“Basic”BASIC(BeginnersAll-PurposeSymbolicInstructionCode)VisualBasic在原有BASIC語言的基礎(chǔ)上進(jìn)一步WindowsGUIVisualBasicWindowsVisualBasicScriptingEdition(VBScript)Page)文件。VBVBVBSQLServer和其它企業(yè)數(shù)據(jù)庫在內(nèi)的大部分?jǐn)?shù)據(jù)庫格式建立數(shù)據(jù)庫和前端應(yīng)用程序,以及可調(diào)整的服務(wù)器端部件。有了ActiveX(TM)技術(shù)就可使用其它應(yīng)用程序提供的功能,例如MicrosoftWord字處理器,MicrosoftExcel電子數(shù)據(jù)表及其它Windows應(yīng)用程序。Internet或intranet或者創(chuàng)建Internet服務(wù)器應(yīng)用程序。VisualBasic虛擬機真正.exe文件,可以自由發(fā)布。VBVBWindowsVB4.0、VB5.0、VB6.0。1995WIN3.X16也可編寫WIN9532VB5.0WIN9532Internet;VB6.0WIN981998進(jìn)一步加強了數(shù)據(jù)庫、InternetVB工程(Project):是指用于創(chuàng)建一個應(yīng)用程序的文件的集合。,VB窗體(form):windows??丶?control):指的是各種按扭、標(biāo)簽、文本框等。屬性(property):是指對象的特性,如大小、標(biāo)題或顏色。ActiveX:ActiveXcomponentobjectmodel(com)的可視化控件結(jié)構(gòu)的商標(biāo)名稱.COMWEBModel(COM):是軟件組件互相通訊的一種方式。它是一種二進(jìn)制和網(wǎng)絡(luò)管各計算機運行的是什么操作系統(tǒng)(只要該操作系統(tǒng)支持COM),也不管該組件是用什么語言編寫的。VB工程限制代碼限制:65,5341023一行中的實際文本之前最多只能有256個空格的前導(dǎo),在一個邏輯行中最多只能有25個續(xù)行符(_)。過程、類型和變量64K限制,VisualBasic較小的過程,或?qū)⒛K級聲明移到另一模塊,來避免此類錯誤發(fā)生。VisualBasic用表來保存代碼中的標(biāo)識符名(變量、過程、常量等)。每個表限于64K。動態(tài)鏈接庫聲明表40的大小限于64K,形成每個模塊大約有1500個聲明。工程名表32K32Kprivate小寫的條目數(shù)到達(dá)32K。輸入表24字節(jié),但限于64K,這樣每個模塊大約可以有2000個引用。模塊條目表12564K400模塊。VB中的變量名不多于255個字符,而窗體、控件、模塊和類名不多于40個字符。工程文件格式VB設(shè)計時文件是工程的建造塊,例如基本模塊(.bas)和窗體模塊(.frm)。導(dǎo)從屬文件(.dep)。1.21.2 VB6.0的集成開發(fā)環(huán)境簡介VB集成開發(fā)環(huán)境(IDE——IntegratedDevelopingEnvironment)由以下元素組成:標(biāo)題欄用于顯示正在開發(fā)或調(diào)試的工程名和系統(tǒng)的工作狀態(tài)(設(shè)計態(tài)、運行態(tài)、中止態(tài))。菜單欄用于顯示所使用的VisualBasic命令。VB6.0工具欄編輯、窗體設(shè)計和調(diào)試的工具欄可以從“視圖”菜單上的“工具欄”命令中移進(jìn)或移出。窗體設(shè)計器VBForm1(注意擴展名存位置→確定。需要再設(shè)計另一個窗體時,單擊工具欄上的“添加窗體”按鈕即可??丶üぞ撸┫溥^從上下文菜單中選定“添加選項卡”并在結(jié)果選項卡中添加控件來創(chuàng)建自定義布局。彈出式(上下文)菜單操作,以加快操作速度。工程管理器窗口用于瀏覽工程中所包含的窗體和模塊,還可以從中查看代碼、查看對象。屬性窗口變屬性來改變對象的特征,如大小、標(biāo)題或顏色。對象瀏覽器VB序。對象瀏覽器右擊窗體中的對象、從工程管理器中點“查看代碼”按鈕。窗體布局窗口12.IDE程序時才有效。面向?qū)ο蟪绦蛟O(shè)計的基本概念基本術(shù)語對象和對象類以是控件或窗體。整個應(yīng)用程序也是一個對象。VB類之間的關(guān)系。餅干模子是類。它確定了每塊餅干的特征,比如大小和形狀。用類創(chuàng)建對象,對象對象看作是類的原原本本的復(fù)制品,類具有繼承性、封裝性、多態(tài)性、抽象性。屬性屬性值。比如窗體的背景顏色、高度與寬度。事件(Event)事件是發(fā)生在對象上的動作。事件的發(fā)生不是隨意的,某些事件僅發(fā)生在某些對象上。VBPrivateSub_事件名(事件內(nèi)容)EndSub方法(Method)VB對象名.方法名屬性、方法和事件之間的關(guān)系VB對象所產(chǎn)生的事情,事件發(fā)生時可以編寫代碼進(jìn)行處理。VB把方法看作對象的動作,把事件看作對象的響應(yīng)。如它的壽命。通過定義,所有氣球都具有這些屬性;這些屬性也會因氣球的不同而不同。出氣球中的氣體)和上升方法(放手讓氣球飛走)。所有的氣球都具備這些能力。件的響應(yīng)是升空。應(yīng),從而得到希望的外觀和行為。事件驅(qū)動模型行代碼。從第一行代碼執(zhí)行程序并按應(yīng)用程序中預(yù)定的路徑執(zhí)行,必要時調(diào)用過程。在事件驅(qū)動的應(yīng)用程序中,代碼不是按照預(yù)定的路徑執(zhí)行,而是在響應(yīng)不同的事件時執(zhí)行不所經(jīng)過的代碼的路徑都是不同的。應(yīng)該組織好應(yīng)用程序的結(jié)構(gòu),以確保該假設(shè)始終有效(例如,在輸入字段中有值之前禁止使用啟動該處理過程的命令按鈕)。在執(zhí)行中代碼也可以觸發(fā)事件。例如,在程序中改變文本框中的文本將引發(fā)文本框的Change事件驅(qū)動模型并牢記在心是非常重要的。交互式開發(fā)傳統(tǒng)的應(yīng)用程序開發(fā)過程可以分為三個明顯的步驟:編碼、編譯和測試代碼。但是VisualBasic象一位專家在監(jiān)視代碼的輸入。錯誤并繼續(xù)編譯,而不需從頭開始。由于VB的交互特性,代碼運行的效果可以在開發(fā)時進(jìn)行測試,而不必等到編譯完成以后。利用VB開發(fā)應(yīng)用程序的一般步驟開發(fā)步驟一般如下:創(chuàng)建程序的用戶界面設(shè)置界面上各個對象的屬性編寫對象響應(yīng)事件的程序代碼保存工程測試應(yīng)用程序,排除錯誤創(chuàng)建可執(zhí)行程序2.1 VB概述界面的設(shè)計有兩步:先繪制控件,然后確定控件屬性。(Properties)窗口,再在屬性窗口中找到要設(shè)置的屬性并進(jìn)行設(shè)置。常用屬性的設(shè)置Name40NameText1。但在有幾十個控件的復(fù)雜窗體里,就很難區(qū)分它們。所以,VBcmdMyButtoncmd)CaptionCaption“Ok”。注意:并不是所有的對象都有此屬性,比如文本框、圖片框、線條等就沒有?!?”符號,例如ALT它了,不必為此編任何代碼。Namecaption;Caption示用戶該對象的作用;NameCaption所有對象都有Name,但不一定都有Caption;Top,Left便在修改這兩個值了。Height,WidthHeight,Width窗體的屬性設(shè)置屬性的方法在設(shè)計態(tài)通過屬性窗口設(shè)置直接在屬性窗口中選擇或輸入既可。在程序代碼中改變屬性值代碼中的格式為: 對象名.屬性=屬性值例:Form1.BackColor=RGB(255,0,0)窗體的常用方法(1)Hide用以隱藏MDIForm或Form對象,但不能使其卸載。語法:object.Hideobjectobject,則帶有焦點的窗體就認(rèn)為是該object。說明:VisualBasic應(yīng)用程序,或?qū)τ谕ㄟ^DDE通訊的進(jìn)程及對于Timer控件的事件,隱藏窗體的控件仍然是可用的。交互。如果調(diào)用Hide方法時窗體還沒有加載,那么Hide方法將加載該窗體但不顯示它。用以移動MDIForm、Form或控件。語法:object.Move left,top,width,height前面的全部參數(shù)。例如,如果不先指定left和top參數(shù),則無法指定width參數(shù)。任何沒有指定的尾部的參數(shù)則保持不變。Print方法在Immediate窗口中顯示文本。語法:object.Print[outputlist]Print方法的語法具有下列對象限定符和部分:部分描述Object必需的。對象表達(dá)式,其值為“應(yīng)用于”列表中的對象。outputlist可選的。要打印的表達(dá)式或表達(dá)式的列表。如果省略,則打印一空白行。outputlist參數(shù)具有以下語法和部分:outputlist參數(shù)具有以下語法和部分:{Spc(n)|Tab(n)}expressioncharpos說明:可以用空白或分號來分隔多個表達(dá)式。Immediate關(guān)鍵字要用適用于主應(yīng)用程序的語言輸出。BooleanTrueFalse。根據(jù)主機應(yīng)用程序的地區(qū)設(shè)置來翻譯True和False關(guān)鍵字。Date已提供的部件。outputlistEmpty,outputlistNull,則輸出Null。在輸出Null關(guān)鍵字時,要把關(guān)鍵字正確翻譯出來。來。object。例如,如果沒有指定對象就顯示“outputlist”。“W”"i"以使用固定間距的字體(像Courier字體)來確保每一字符均只占一列。PrintFrom用以將Form對象的圖象逐位發(fā)送給打印機。語法:object.PrintFormPrintForm將打印FormAutoRedraw屬性為True,PrintForm將打印Form對象或PictureBox控件上的圖形。PrintForm所使用的打印機是由操作系統(tǒng)的控制面板中的設(shè)置來決定。Refresh強制全部重繪一個窗體或控件。語法:object.Refresh說明:在下列情況下使用Refresh方法:在另一個窗體被加載時顯示一個窗體的全部。更新諸如FileListBox控件之類的文件系統(tǒng)列表框的內(nèi)容。更新Data控件的數(shù)據(jù)結(jié)構(gòu)。RefreshMDIMDIMenuTimer用Refresh方法。當(dāng)目錄結(jié)構(gòu)發(fā)生變化時可以使用Refresh更新列表。可以在Data控件上使用Refresh方法來打開或重新打開數(shù)據(jù)庫(如果DatabaseName,的dynaset。Show用以顯示MDIForm或Form對象。語法:object.Showstyle,ownerform說明:如果調(diào)用Show方法時指定的窗體沒有裝載,VisualBasic將自動裝載該窗體。ShowShow(modalform)時,則隨后的代碼直到該窗體被隱藏或卸載時才能執(zhí)行。Show(鍵盤或鼠標(biāo)單擊)。對其它窗體進(jìn)行輸入前程序必須隱藏或卸載模式窗體(通常是處于響應(yīng)用戶某些操作狀態(tài))。MDIForm不能是形式的。在模式窗體顯示時,雖然應(yīng)用程序中的其它窗體失效,但其它應(yīng)用程序不會失效。應(yīng)用程序的啟動窗體在其Load事件調(diào)用后會自動出現(xiàn)。下面的例子說明如何使用ownerform參數(shù):PrivateSubcmdShowResults_Click()'顯示模式窗體frmResults.frmResults.ShowvbModal,MeEndSubCls清除運行時Form或PictureBox所生成的圖形和文本。語法:object.Cls說明:ClsForm中使用Picture屬性設(shè)置的背景位圖和放置的控件不受Cls影響。如果激活Cls之前AutoRedraw屬性設(shè)置為這就是說,通過對正在處理的對象的AutoRedraw屬性進(jìn)行操作,可以保持Form或PictureBox中的圖形和文本。調(diào)用Cls之后,object的CurrentX和CurrentY屬性復(fù)位為0。窗體的常用事件Load這個事件發(fā)生在窗體被裝入內(nèi)存時,且發(fā)生在窗體出現(xiàn)在屏幕之前。窗體出現(xiàn)之前,Visual上。Click,DblclickClick生,VisualBasicClickActivateDeactivate(非活動事件)Activate事Deactivate(4)Resize在窗體被改變大小時會觸發(fā)此事件。窗體的控制裝入或卸出窗體要裝入或卸出窗體,用Load 或Unload語句。裝入窗體:LoadformName卸出窗體:UnLoadformNameShow顯示或隱藏窗體要顯示或隱藏窗體,用Show或Hide方法。若尚未裝入內(nèi)存則先裝入再顯示。顯示窗體: formName.showmode隱藏窗體: formName.hidemode0(缺省值)1則反之。(3)ENDEND語法是:END窗體的屬性設(shè)置屬性的方法在設(shè)計態(tài)通過屬性窗口設(shè)置直接在屬性窗口中選擇或輸入既可。在程序代碼中改變屬性值代碼中的格式為: 對象名.屬性=屬性值例:Form1.BackColor=RGB(255,0,0)窗體的常用方法Hide用以隱藏MDIForm或Form對象,但不能使其卸載。語法:object.Hideobjectobject,則帶有焦點的窗體就認(rèn)為是該object。說明:VisualBasicDDE訊的進(jìn)程及對于Timer控件的事件,隱藏窗體的控件仍然是可用的。序交互。如果調(diào)用Hide方法時窗體還沒有加載,那么Hide方法將加載該窗體但不顯示它。Move用以移動MDIForm、Form或控件。語法:object.Move left,top,width,heightMove方法的語法包含下列部分:lefttopwidth定的尾部的參數(shù)則保持不變。Print方法在Immediate窗口中顯示文本。語法:object.Print[outputlist]Print方法的語法具有下列對象限定符和部分:outputlist參數(shù)具有以下語法和部分:{Spc(n)|Tab(n)}expressioncharpos說明:可以用空白或分號來分隔多個表達(dá)式。Immediate關(guān)鍵字要用適用于主應(yīng)用程序的語言輸出。BooleanTrueFalse。根據(jù)主機應(yīng)用程序的地區(qū)設(shè)置來翻譯True和False關(guān)鍵字。Date已提供的部件。outputlistEmpty,outputlistNull,則輸出Null。在輸出Null關(guān)鍵字時,要把關(guān)鍵字正確翻譯出來。要把錯誤數(shù)據(jù)作為Errorerrorcode輸出。在輸出Error關(guān)鍵字時,要把關(guān)鍵字正確翻譯出來。object。例如,如果沒有指定對象就顯示“outputlist”。“W”"i"以使用固定間距的字體(像Courier字體)來確保每一字符均只占一列。PrintFrom用以將Form對象的圖象逐位發(fā)送給打印機。語法:object.PrintFormPrintForm將打印FormAutoRedraw屬性為True,PrintForm將打印Form對象或PictureBox控件上的圖形。PrintForm所使用的打印機是由操作系統(tǒng)的控制面板中的設(shè)置來決定。控件常用控件介紹常用控件的屬性、方法和事件ComboBox組合框(將列表框和文本框結(jié)合在一起)Style外觀屬性:取0時,系統(tǒng)創(chuàng)建一個帶下拉式列表框的組合框;為1時,系統(tǒng)創(chuàng)建一個由文本框本框中輸入,只能在列表框中選擇。Text屬性其值為用戶從列表框中選定的文本或直接輸入的文本。AddItem添加列表項,使用格式:[對象名.]AddItem<列表項文本>[,插入位置序號]若不指定位置,則插入到列表末尾。Clear刪除列表所有項目RemoveItem方法刪除列表項,使用格式:[對象名.]RemoveItem 刪除項序號CommandButton命令按鈕Cancel取消屬性,它為True時,按〖ESC〗即等于單擊此按鈕。Default缺省屬性,它為True時,按回車鍵即等于單擊此按鈕。TimerInterval兩次調(diào)用Timer事件的事件間隔,用于創(chuàng)建動態(tài)效果。Frame框架CheckBox復(fù)選框OptionButtonAlignment決定它們的對齊方式,0=左對齊,1=右對齊。Value決定它們是否被選中的屬性常用控件的使用辨析文本框和標(biāo)簽的區(qū)別:文本框通常用于向計算機輸入信息,而標(biāo)簽通常用于輸出信息。文本框是一個十分重要的區(qū)別很小,標(biāo)簽可以看成是一個在運行時不能修改正文的文本框,因此標(biāo)簽主要用于輸出信息。LabelAutoSizeWordWrapAutoSize屬性和WordWrap屬性同時為True。AutoSizeFalseWordWrapFalseCaption將被切割掉。AutoSizeFalse,WordWrapTrueAutoSizeTrue,WordWrapFalsePictureBoxImageStretchAutoSizeImageStretchPictureBoxAutoSizeAutoSizeTrue,PictureBoxStretchTrue,ImageFrame框架、CheckBox復(fù)選框、OptionButton復(fù)選框和選項按鈕用于向程序輸入信息,框架用來對復(fù)選框和選項按鈕進(jìn)行分組。復(fù)選框選中時會在小方框里打一個鉤,選項按鈕選中時會在小圓圈里點一個點。定制菜單菜單概述Windows普通菜單的設(shè)計給菜單命名NameName是一個抽象名稱,CaptionCaption“&”來設(shè)置熱鍵。增加和刪除菜單Delete移動菜單標(biāo)題那么它將變成一個菜單命令;如果縮排兩次,那么它將成為一個子菜單命令。VB四層子菜單。設(shè)置分離條分離條是指在菜單中將命令分組的線,VBCaptionNameCaptionCaptionbarFile1菜單的各種簡單屬性性。Checked復(fù)選屬性這個屬性值設(shè)置為真,將在菜單命令左邊產(chǎn)生一個打勾的確認(rèn)標(biāo)志。EnabledEdit這時用戶就不能選中這個菜單項了。Visible可見屬性EnabledIndexFileLoad例如:mnuUndo.Enabled=FalsemnuProperty.Visible=False還可以改變Caption等屬性。mnuUndo.Caption=“Redo”生成彈出式菜單(或浮動菜單)彈出式菜單也屬于普通菜單,只是不固定在窗體上,而是可以在任何地方顯示。mnueditMouseUpIfButton=2ThenPopupMenumnuedit設(shè)計狀態(tài)條、工具欄、進(jìn)程條等創(chuàng)建狀態(tài)條窗口。選擇面板形狀Style(缺省形式)或單面板簡單文本形式。添加或刪除狀態(tài)條面板SBarCtrlPanelsInsertRemove按鈕刪除一個面板。在單面板里顯示文本SimpleText板里的文本。用代碼顯示的方式是:StatusBar1.SimpleText="Newstringtoappear"在多面板里顯示文本或圖形SBarCtrlPanelsIndexText單擊打開按鈕。最后按確定按鈕。用代碼顯示的方式是:StatusBar1.Panels(x).Text="Newstringtoappear"編寫代碼如果是一個單面板狀態(tài)條,當(dāng)用戶單擊狀態(tài)條時,只需用下面的事件過程來響應(yīng):PrivateSubStatusBar1_Click()EndSub用戶所單擊的面板:PrivateSubStatusBar1_PanelClick(ByValPanelAsPanel)SelectCasePanel.IndexCase1'CodetofollowifuserclicksthefirstpanelCase2'CodetofollowifuserclicksthesecondpanelCase3'CodetofollowifuserclicksthethirdpanelEndSelectEndSub創(chuàng)建工具欄建立工具條,VisualBasicToolBar部。F4雙擊(Custom),打開ToolBar屬性窗口。ButtonsBasic個按鈕重復(fù)這一步。單擊確定按鈕。Style3-Separator。為工具條增加圖畫ImageList(位置不重要,因為它總是不可見的)。F4雙擊(Custom),打開ImageListCtrl屬性窗口。Image按鈕。為每個想添加圖形的工具條按鈕重復(fù)此步。單擊確定按鈕。單擊工具條,按F4,雙擊(Custom),顯示ToolBar屬性對話框。選擇General標(biāo)簽,在ImageList框里選擇剛才添加的ImageList控件。1。ImageList2,ImageList為每個按鈕重復(fù)第10步。單擊確定按鈕,現(xiàn)在VisualBasic就會在工具條上顯示精美的圖形了。VisualBasic程序的基本操作就是數(shù)據(jù)的輸入,數(shù)據(jù)處理和數(shù)據(jù)的輸出。VisualBasicCheckBoxOptionButtonListBox、組BarInputBox于數(shù)據(jù)的輸入。通過文本框輸入數(shù)據(jù)Text1Text2PrivateSubForm_Click()Text2.Text=UCase(Text1.Text)EndSub通過復(fù)選框和選項按鈕輸入數(shù)據(jù)CheckBoxRadioButtonValue通過列表框和組合框輸入數(shù)據(jù)ListBoxComboBoxAs許用戶輸入數(shù)據(jù)。列表項目的增減AddItem,RemoveItemForm_Load事件里。ListBoxName.AddItemitemComboBoxName.AddItemitemStrFormatIndexIndex0,1,依此IndexListBoxName.RemoveItemitemComboBoxName.RemoveItemitem0可以在設(shè)計階段設(shè)定列表項目,方法是:Enter取得列表框/組合框的數(shù)據(jù)ListIndexListIndex0,1……如:IfList1.Text=“VisualBasic”ThenInstructionsIfList1.ListIndex=1ThenInstructions組合框有時允許用戶自己輸入數(shù)據(jù),這時所輸入數(shù)據(jù)的ListIndex值為-1。ScrollBar是擺放的方向不一樣。滾動條的主要屬性及事件Min,MaxMax的值。LargeChange,SmallChangeSmallChangeLargeChange下方區(qū)域單擊時改變的值。ValueValueChange當(dāng)滑塊位置發(fā)生變化時就引發(fā)了Change事件。取得滾動條的數(shù)據(jù)ValueInputBoxInputBox函數(shù)提供一個簡單的對話框供用戶輸入信息。在把其它版本的BASIC程序移植到INPUT子。(prompt,title,default,xposypos,helpfile,context)其中,prompttitlexpos,yposhelpfile,contextx,xCancel鈕,則x將為空字符串。VisualBasicVisualBasic(PictureBox)等用于方法,Cls,Tab,F(xiàn)ormat,F(xiàn)ontName,F(xiàn)ontSize,F(xiàn)ontBold,F(xiàn)ontItalic,F(xiàn)ontStrikethru,F(xiàn)ontUnderline,CurrentX,CurrentYMsgBox戶的錯誤,象這樣:DimActionAsInteger"警告!")IfAction=6ThenExplodeMsgBox息框了。語法是:Action=MsgBox(msg,type,title)其中,msg,typetitle,type(這個參數(shù)往往讓新程序員思考幾分鐘),title參數(shù)指定消息框的標(biāo)題。type例如:ActionMsgBox(“Areyougirl?”,vbYesNovbQuestio“Question”)。使用這Question,Yes,No個函數(shù),本質(zhì)上還是要返回值的,MsgBox應(yīng)的動作。Print,Cls,TabPrintPrint方法的語法是:object.PrintexpressionlistFormPictureBox,objectPrintexpressionlist據(jù)間可以加入“,”或”;”。加入分號將使下一數(shù)據(jù)項緊挨著上一數(shù)據(jù)項輸出。而加入逗號,則VisualBasic14“W”14“i”所占寬度的三倍多。幸好中國日本之類的方塊字所占的寬度基本上是一樣的,所以較好處理一些。Tab夫。語法是:Tab(column)14的靈活的打印區(qū)寬度。Cls角閃爍一個光標(biāo),VisualBasicPrint語法是:object.ClsobjectFormPictureBoxobjectVisualBasic都把當(dāng)前的窗口作為Cls操作的對象。FormatFormat:x=Format(expression,fmt)的話,那么Format函數(shù)將和Str函數(shù)的功能差不多。語言元素VBBASIC,VB關(guān)鍵字(如:Dim、Print、Cls)函數(shù)(如:Sin()、Cos()Sqr())表達(dá)式(如:Abs(-23.5)+45*20/3)語句(如:X=X+5、IF……ELSE……ENDIF)等組成。VB程序中不區(qū)分字母的大小寫,Ab與AB等效;系統(tǒng)對用戶程序代碼進(jìn)行自動轉(zhuǎn)換:對于VB中的關(guān)鍵字,首字母被轉(zhuǎn)換成大寫,其余轉(zhuǎn)換成小寫若關(guān)鍵字由多個英文單詞組成,則將每個單詞的首字母轉(zhuǎn)換成大寫的形式語句書寫規(guī)則在同一行上可以書寫多行語句,語句間用冒號(:)分隔單行語句可以分多行書寫,在本行后加續(xù)行符:空格和下劃線 _一行允許多達(dá)255個字符程序的注釋方式整行注釋一般以Rem開頭,也可以用撇號';用撇號'引導(dǎo)的注釋,既可以是整行的,也可以直接放在語句的后面,最方便;可以利用“編輯”工具欄的“設(shè)置注釋塊”、“解除注釋塊”來將設(shè)置多行注釋。保留行號和標(biāo)號VB(BASIC)。GOTO(現(xiàn)在很少用)中。VB數(shù)據(jù)類型(高,但運行較慢),應(yīng)合理的定義數(shù)據(jù)類型。,True=-1,F(xiàn)alse=0,將其它類0True,0False。字符型可以包括所有的西文字符和漢字,字符必須用雙引號括""起來,如:"abc123"也可以用數(shù)字序列表示(小數(shù)點左邊的數(shù)字代表日期,右邊代表時間,0,0。51218991231)。如:#3/22/2002# #2002-3-2214:30:20#DimTAsDateT=-2.5PrintT 1899-12-2812:00:005)20442Integer88字節(jié)加上額外的24個字節(jié),使得這個數(shù)組所需總內(nèi)存空間為32個字節(jié)。變量與常量變量或常量的命名規(guī)則必須以字母或漢字開頭,由字母、漢字、數(shù)字或下劃線組成,長度≤255個字符;不能使用VB中的關(guān)鍵字,并盡量不與VB中標(biāo)準(zhǔn)函數(shù)名同名;如:Dim、Sin示為了增加程序的可讀性,可在變量名前加一個縮寫的前綴來表明該變量的數(shù)據(jù)類型。變量聲明Dim語句形式: Dim 變量名[As類型] 如:Dim intX Asinteger說明:·如果沒有As類型,則默認(rèn)為變體類型?!た稍谧兞棵蠹宇愋头麃泶鍭s類型 如:Dim intX%·共用;符串變量根據(jù)其存放的長度是否固定,定義方法不同:定長字符串: Dim strA As String*1010個,則右補空;若多于10個,則多余部分截去。不定長字符串:Dim strA As String ’最多可存放2MB個字符隱式聲明的。隱式聲明容易造成錯誤為了調(diào)試程序方便一般對使用的變量都進(jìn)行聲明可以在通用聲段使用Option Explicit語句來強制顯式聲明所有變量。常量直接常量、123&、123.45、1.234E2、123D3長整型、單精度浮點型(小數(shù)形式)、單精度浮點型(指數(shù)形式)、雙精度浮點型。八進(jìn)制常數(shù): 在數(shù)值前加&O,如 &O123十六進(jìn)制常數(shù):在數(shù)值前加&H,如&H123用戶聲明的符號常量用Const來聲明: Const 符號常量名[As類型]=表達(dá)式如:Const PI=3.14159 度型Const MAXAsInteger=&O144 MAX,144,整型Const COUNT#=45.67 COUNT,45.67,雙精度型系統(tǒng)提供的常量VisualBasic(VB)VisualBasicfor起使用。如:Form1.WindowsState=vbMaximized表示將窗口極大化。運算符算術(shù)運算符運算。字符串運算符關(guān)系運算符如果兩個操作數(shù)都是數(shù)值型,則按其大小比較如果兩個操作數(shù)都是字符型,則按字符的ASCII碼值從左到右一一比較漢字字符大于西文字符關(guān)系運算符的優(yōu)先級相同VB6.0Like?——表示任何單一字符*——表示0個或多個字符#——表示任何一個數(shù)字(0-9)[字符列表]——表示字符列表中的任何單一字符[!字符列表]——表示不在字符列表中的任何單一字符邏輯運算符若有多個條件時,And必須全部條件為真才為真;OrAnd于屏蔽某些位;Or1。如:12And7 表示對1100與0111進(jìn)行And運算,得到二進(jìn)制值100,結(jié)果為十進(jìn)制4。對一個數(shù)連續(xù)進(jìn)行兩次Xor操作可恢復(fù)原值在動畫設(shè)計中用Xor可恢復(fù)原來的背景表達(dá)式表達(dá)式的組成算結(jié)果的類型由數(shù)據(jù)和運算符共同決定。表達(dá)式的書寫規(guī)則乘號不能省略括號必須成對出現(xiàn),均使用圓括號,可以嵌套,但必須配對。例:sqr((3*x+y)-z)/(x*y)^4不同數(shù)據(jù)類型的轉(zhuǎn)換數(shù)的數(shù)據(jù)精度不同,VB優(yōu)先級算符注意:對于存在多種運算符的表達(dá)式,可增加圓括號改變優(yōu)先級或使表達(dá)式更清晰。算法概論算法的概念算法:指用計算機解決某一問題的方法和步驟。算法分類: 求定積分、解微分方程等。非數(shù)值算法:用于對非數(shù)值信息進(jìn)行查找、排序等。微分方程等。非數(shù)值算法:用于對非數(shù)值信息進(jìn)行查找、排序等。算法的特征確定性:指算法的每個步驟都應(yīng)確切無誤,沒有歧義。果。有窮性:指一個算法應(yīng)該在有限的時間和步驟內(nèi)可以執(zhí)行完畢的。輸入性:指一個算法可以有0或多個輸入數(shù)據(jù)。輸出性:指一個算法必須有一個或多個輸出結(jié)果。算法的評價主要評價指標(biāo)是:算法是否正確、運行的效率、占用系統(tǒng)資源的多少。算法的描述一般常用流程框圖來描述算法?;舅惴ńY(jié)構(gòu)“結(jié)構(gòu)化程序設(shè)計方法”規(guī)定算法有三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)算法示例歐幾里德算法——求兩個自然數(shù)的最大公約數(shù)順序查找算法——在N個字符串集合中,查找有無特定的字符串存在順序結(jié)構(gòu)賦值語句賦值語句是任何程序設(shè)計中最基本的語句,賦值語句都時順序執(zhí)行的。賦值語句的形式為:變量名=表達(dá)式致。使用說明當(dāng)表達(dá)式為數(shù)值型而與變量精度不同時,強制轉(zhuǎn)換成左邊變量的精度;式中有非數(shù)字字符或空串,則出錯。任何非字符類型賦值給字符類型,自動轉(zhuǎn)換為字符類型;-1,F(xiàn)alse0;0True,0False;賦值號左邊的變量只能是變量,不能是常量、常數(shù)符號、表達(dá)式,否則報錯;不能在一句賦值語句中,同時給各變量賦值;(7)在條件表達(dá)式中出現(xiàn)的=是等號,系統(tǒng)會根據(jù)=號的位置,自動判斷是否為賦值號;(8)N=N+1N1N。選擇結(jié)構(gòu)(或稱分支結(jié)構(gòu))IF語句形式:If<表達(dá)式>Then語句塊EndIfIf <表達(dá)式> Then <語句>0為True,0為False;而且必須在一行上書寫。xy,比較它們的大小,使得xy:方法一: if x<y thent=xx=yy=tendif方法二: if x<y then t=x:x=y:y=t注意:將兩個變量中的數(shù)進(jìn)行交換時,必須借助于第三個變量才能實現(xiàn)。If……Then……Else(雙分支結(jié)構(gòu))語句形式:If <表達(dá)式> Then1>Else2>EndIfIf <表達(dá)式> Then <語句1> Else <語句2>例: x2-5 x≠03x+2 x=0(多分支結(jié)構(gòu))語句形式:If <表達(dá)式1> Then1>ElseIf <表達(dá)式2> Then2>……[Else 語句塊n+1]EndIf注意:1)不管有幾個分支,程序執(zhí)行了一個分支后,其余分支不再執(zhí)行;2)ElseIf 不能寫成Else If當(dāng)多分支中有多個表達(dá)式同時滿足,則只執(zhí)行第一個與之匹配的語句塊例:已知變量strC中存放了一個字符,判斷該字符是字母字符、數(shù)字字符還是其他字符。(4)IfIfifelseIfIf <表達(dá)式1> ThenIf <表達(dá)式11> Then……EndIf……EndIf注意:對于嵌套結(jié)構(gòu),為了增強程序的可讀性,應(yīng)該采用縮進(jìn)形式書寫;IfEndIfif,EndIfEmdIf例:已知x、y、z三個數(shù),比較它們的大小并排序,使得x>y>z.SelectCase(情況語句)SelectCase(情況語句)是多分支語句的又一種形式,語句形式:SelectCase 變量或表達(dá)式Case 11Case 22……[CaseElse語句塊n+1]EndSelect說明:1)變量或表達(dá)式可以是數(shù)值型或字符串表達(dá)式式、一組用逗號分隔的枚舉值、表達(dá)式1to表達(dá)式2、Is關(guān)系運算符表達(dá)式如case 1to10 、 case "a","w","e","t" 、case 并不是所有的多分支結(jié)構(gòu)都可以用情況語句代替的。例:已知輸入某課程的百分制成績mark,要求顯示對應(yīng)五級制的評定,評定條件如下:條件函數(shù)if的數(shù),并放入變量Tmax中: Tmax=Iif(X>Y,X,Y)Choose函數(shù)形式:Choose(整數(shù)表達(dá)式,選項列表)NULL。nub1-4OP=“÷”)循環(huán)結(jié)構(gòu)循環(huán)是在指定的條件下多次重復(fù)執(zhí)行一組語句。VB中提供了兩種類型的循環(huán)語句:計數(shù)循環(huán)語句和條件型循環(huán)語句For(知道循環(huán)次數(shù)的計數(shù)型循環(huán))語句形式:For 循環(huán)變量=初值To終值 [Step 長]語句塊[ExitFor]語句塊Next 循環(huán)變量說明: 1)循環(huán)變量必須為數(shù)值型步長一般為正,初值小于終值;若為負(fù),初值大于終值;缺省步長為1;語句塊可以是一句或多句語句,稱為循環(huán)體;ExitForNext循環(huán)次數(shù)=int((終值-初值)/步長+1)退出循環(huán)后,循環(huán)變量的值保持退出時的值;在循環(huán)體內(nèi)對循環(huán)變量可多次引用,但不要對其賦值,否則影響結(jié)果。Do……Loop(不知道循環(huán)次數(shù)的條件型循環(huán))是用于控制循環(huán)次數(shù)未知的循環(huán)結(jié)構(gòu),語法形式有兩種:Do[While|Until條件]語句塊[Exit Do]語句塊LoopDo語句塊[Exit Do]語句塊Loop [While|Until條件]說明:形式1為先判斷后執(zhí)行,有可能一次也不執(zhí)行;形式2為先執(zhí)行后判斷,至少執(zhí)行一次;關(guān)鍵字While用于指明條件為真時就執(zhí)行循環(huán)體中的語句,Until剛好相反;Do……LoopExitDoExitDoLoop循環(huán)的嵌套For循環(huán)和Do……Loop循環(huán)均適用。其它輔助控制語句GoTo語句語句形式:GoTo標(biāo)號|行號必須為字母,與大小寫無關(guān),任何轉(zhuǎn)移到的標(biāo)號后面必須有冒號:;行號是一個數(shù)字序列;結(jié)構(gòu)來代替。Exit用于退出某控制結(jié)構(gòu)的執(zhí)行,VB的Exit語句有多種形式,如:ExitFor(退出For循環(huán))ExitDo ExitSub(退出子過程)ExitFunction(退出函數(shù))End語句:EndVBEndEndIf,EndWith,EndType,EndSelect,EndSub,EndFunctionWith它的作用是可以對某個對象執(zhí)行一系列的語句,而不用重復(fù)指出對象的名稱。但不能用一個With“·”。語句形式如下: With 象名語句塊EndWith例:With form1.Height=3000.Width=4000.BackColor=RGB(255,0,0)EndWith程序調(diào)試VB設(shè)置自動語法檢查打開工具菜單→單擊選項命令→選擇編輯器頁面→將自動語法檢測勾上。VB蹤等操作。VB設(shè)計模式此模式下不能運行程序,也不能使用調(diào)試工具。運行模式F5擊工具欄上的“結(jié)束”按鈕,回到設(shè)計模式,也可以選擇“中斷”按鈕,進(jìn)入中斷模式。中斷模式程序的運行,也可以單擊“結(jié)束”按鈕停止程序的執(zhí)行。常見錯誤編輯時錯誤錯等情況時,系統(tǒng)會彈出對話框,提示出錯,并在錯誤處加亮顯示,以便用戶修改。編譯時錯誤是指用戶單擊了“啟動”按鈕,VB修改。運行時錯誤如:數(shù)據(jù)類型不匹配、試圖打開一個不存在的文件等。系統(tǒng)會報錯并加亮顯示、等候處理。邏輯錯誤次序不對、循環(huán)語句的起始、終值不正確。這種錯誤系統(tǒng)不會報錯,需要用戶自己分析判斷。程序調(diào)試方法進(jìn)入/退出中斷狀態(tài)程序運行時發(fā)生錯誤自動進(jìn)入中斷程序運行中用戶按中斷鍵強制進(jìn)入中斷用戶在程序中預(yù)先設(shè)置了斷點,程序執(zhí)行到斷點處即進(jìn)入中斷狀態(tài)在采用單步調(diào)試方式,每運行一個可執(zhí)行代碼后,即進(jìn)入中斷狀態(tài)。利用調(diào)試窗口立即窗口Debug.PrintPrint本地窗口的內(nèi)容發(fā)生改變,它只反映當(dāng)前過程中可用的變量。監(jiān)視窗口該窗口可顯示當(dāng)前的監(jiān)視表達(dá)式,在此之前必須在設(shè)計階段,利用調(diào)試菜單的“添加監(jiān)視命的監(jiān)視類型進(jìn)行相應(yīng)的顯示。插入斷點和逐句跟蹤式的值是否在預(yù)期的范圍內(nèi)。可在中斷模式下或設(shè)計模式時設(shè)置或刪除斷點,在代碼窗口選擇懷疑存在問題的地方作為斷達(dá)式的值都可以看到。5.1 數(shù)組的概念引例100個變量,如:mark1、mary2、……mark100。若用數(shù)組,可以只用一個來表示mark(1To 100)?;靖拍顢?shù)組:是同類型變量的一個有序的集合。如:A(1To100),100A數(shù)組元素:即數(shù)組中的變量。用下標(biāo)表示數(shù)組中的各個元素。表示方法:數(shù)組名(P1,P2,……)其中P1、P2表示元素在數(shù)組中的排列位置,稱為“下標(biāo)”。如:A(3,2)A32數(shù)組維數(shù): 數(shù)組元素中下標(biāo)的個數(shù)決定,一個下標(biāo)表示一維數(shù)組,二個下標(biāo)表示二維數(shù)組。VB60界范圍。下標(biāo)可以是整型的常數(shù)、變量、表達(dá)式,甚至又是一個數(shù)組元素。下標(biāo)的取值范圍是:下界To上界,缺省下界時,系統(tǒng)默認(rèn)取0。數(shù)組聲明組元素。聲明內(nèi)容:數(shù)組名、類型、維數(shù)、數(shù)組大小。一般情況下,數(shù)組中各元素類型必須相同,但若數(shù)組為Variant時,可包含不同類型的數(shù)據(jù)。靜態(tài)數(shù)組:聲明時確定了大小的數(shù)組。重新指出其大小。ReDim才分配存儲單元,而靜態(tài)數(shù)組是在程序編譯時分配存儲單元。5.3動態(tài)數(shù)組的建立與聲明、PublicReDimReDim 數(shù)組名(下標(biāo)1[,下標(biāo)2…])[As 類型]其中下標(biāo)可以是常量,也可以是有了確定值的變量,類型可以省略,若不省略,必須與Dim中的聲明語句保持一致。例:DimD()AsSingleSubForm_Load()……ReDimD(4,6)……EndSub注意事項在動態(tài)數(shù)組ReDim語句中的下標(biāo)可以是常量,也可以是有了確定值的變量。在過程中可以多次使用ReDim來改變數(shù)組的大小,也可改變數(shù)組的維數(shù)。給數(shù)組元素賦初值利用循環(huán)結(jié)構(gòu)例:Dim iA(1To10)AsIntegerFori=1To10A(i)=0NextiArray例:Dim aAsVariant,bAsVariant,i%a=Array(1,2,3,4,5)b=Array("abc","def","67")Fori=0ToUbound(a)Picture1.printa(i);"";NextiFori=0ToUbound(b)Picture1.printb(i);"";Nexti數(shù)組的輸入通過InputBox函數(shù)輸入適合輸入少量數(shù)據(jù)。例:Dim sB(3,4)AssingerFori=0To3Forj=0To4SB(i,j)=InputBox("輸入"&i&j&"的值")NextjNexti通過文本框控件輸入對大批量的數(shù)據(jù)輸入,采用文本框和函數(shù)split()\join()進(jìn)行處理,效率更高。數(shù)組的賦值VB6.0Dima(3)asinteger,b()asintegerA(0)=2:A(1)=5:A(2)=-2:A(3)=2b=a在早期的VB中,這需要用循環(huán)語句才可以實現(xiàn):ReDimb(UBound(a))ForI=0toUBound(a)b(I)=a(I)Nexti注意:(1)賦值號兩邊的數(shù)據(jù)類型必須一致;邊相同大小的數(shù)組;如果賦值號左邊的是一個大小固定的數(shù)組,則數(shù)組賦值出錯。數(shù)組的輸出For……Next求數(shù)組中最大元素和所在下標(biāo)及各元素之和素逐一比較,若有比其大的就替換,同時替換下標(biāo)。交換數(shù)組中各元素交換的要求是將數(shù)組第一個元素與最后一個交換,第二個與倒數(shù)第二個交換,依次類推。交換的要求是將數(shù)組第一個元素與最后一個交換,第二個與倒數(shù)第二個交換,依次類推??丶?shù)組控件數(shù)組的概念控件數(shù)組的概念(控件數(shù)組的建立在設(shè)計時建立步驟:1)在窗體上畫出某控件,并進(jìn)行屬性設(shè)置。是即可。多次粘貼就可以創(chuàng)建多個控件元素。進(jìn)行事件過程的編程。運行時添加控件數(shù)組方法:1)在窗體上畫出某控件,設(shè)置該控件的Index值為0,表示該控件為數(shù)組。Unload元素。True。并顯示其序號。自定義數(shù)據(jù)類型自定義數(shù)據(jù)類型的定義是指由若干標(biāo)準(zhǔn)數(shù)據(jù)類型組成的一種復(fù)合類型,也稱為記錄類型。定義方式:Type自定義類型名元素名[(下標(biāo))] As類型名……元素名[(下標(biāo))] As類型名EndType元素名:表示自定義類型中的一個成員下標(biāo)(可選:表示是數(shù)組類型名:為標(biāo)準(zhǔn)類型例:定義一個學(xué)生信息的自定義類型:TypestudtypeNo As Integer ’定義學(xué)號Name As String*10 ’定義姓名Sex As String*2 ’定義性別Mark(1TO4)AsSingle TotalAsSingle ’定義總分EndType注意事項自定義類型一般在標(biāo)準(zhǔn)模塊(.bas)中定義,默認(rèn)是Public自定義類型中的元素可以是字符串,但應(yīng)是定長字符串不可把自定義類型名與該類型的變量名混淆注意自定義類型變量與數(shù)組的差別:它們都由若干元素組成,前者的元素代表不同性質(zhì)、示不同元素。自定義型變量的聲明和使用使用形式:Dim變量名 As 自定義類型名例如:Dim studentAsstudtype, mystud Asstudtype自定義類型中元素的表示方法是變量名.元素名 如: student.mark(4)With……EndWith語句進(jìn)行簡化。例:With student.no=99001.name="".sex="".total=0forI=1to4.mark(I)=int(rnd*101) 0-100.total=.total+.may(I)nextIEndWithMystud=student ’同種自定義類型變量可以直接賦值自定義類型數(shù)組的使用自定義類型數(shù)組就是數(shù)組中的每個元素都是自定義類型。例如:自定義一個由學(xué)生姓名、成績組成的學(xué)生記錄類型,用來存放100個學(xué)生的記錄。6.1VB(Sub)的定義與調(diào)用什么是過程在程序設(shè)計中,為各個相對獨立的功能模塊所編寫的一段程序稱之為過程。VB以“Sub”保留字開始的子程序過程(包括事件過程和通用過程),不返回值;以“Function”保留字開始的函數(shù)過程,返回一個值;以“Property”的屬性值,也可以設(shè)置對象的值。事件過程窗體事件過程語法:Private SubForm_事件名([參數(shù)列表])[局部變量和常數(shù)聲明]語句塊EndSub注意:窗體事件過程名由Form_事件名組成,多文檔窗體用MDIForm_事件名;塊之外被調(diào)用;事件過程有無參數(shù),完全由VB提供的具體事件本身決定,用戶不可以隨意添加??丶录^程語法:Private Sub控件名_事件名([參數(shù)列表])[局部變量和常數(shù)聲明]語句塊EndSub注意:其中的控件名必須與窗體中某控件相匹配,否則VB將認(rèn)為它是一個通用過程。建立事件過程的方法打開代碼編輯器窗口(兩種方法:雙擊對象或從工程管理器中單擊“查看代碼”按鈕)在代碼編輯器窗口中,選擇所需要的“對象”和“事件過程”PrivateSub……EndSub保存工程和窗體事件過程的調(diào)用事件過程由一個發(fā)生在VB中的事件來自動調(diào)用或者由同一模塊中的其他過程顯示調(diào)用。通用過程成多個易于管理的邏輯單元,使應(yīng)用程序更簡潔、更易于維護(hù)。的任一過程調(diào)用,而私有過程只能被同一模塊中的過程調(diào)用。定義方法:[Private|Public] [Static] Sub過程名([參數(shù)列表])[局部變量和常數(shù)聲明] ‘用Dim或Static聲明語句塊[ExitSub]語句塊EndSub注意:缺省[Private|Public]時,系統(tǒng)默認(rèn)為Public;Static表示過程中的局部變量為“靜態(tài)”變量;SubFunction量、數(shù)組元素、表達(dá)式;若有多個參數(shù)時,各參數(shù)之間用逗號分隔,形參沒有具體的值。VB程可以沒有參數(shù),但一對圓括號不可以省略。不含參數(shù)的過程稱為無參過程。形參格式為:[ByVal]變量名[()][As 數(shù)據(jù)類型]式中:變量名[()]:變量名為合法的VB變量名或數(shù)組名,無括號表示變量,有括號表示數(shù)組。則表明參數(shù)是按地址傳遞的(傳址參數(shù))或稱“引用”(PassedByReference)。As:String,則只能組則無限制。Sub過程不能嵌套定義,但可以嵌套調(diào)用。EndSub標(biāo)志該過程的結(jié)束,系統(tǒng)返回并調(diào)用該過程語句的下一條語句。過程中可以用ExitSub提前結(jié)束過程,并返回到下調(diào)用該過程語句的下一條語句。Sub方法一:打開代碼編輯器窗口選擇“工具”菜單中的“添加過程”從對話框中輸入過程名,并選擇類型和范圍在新創(chuàng)建的過程中輸入內(nèi)容方法二:在代碼編輯器窗口的對象中選擇“通用”,在文本編輯區(qū)輸入PrivateSub過程名按回車鍵,即可創(chuàng)建一個Sub過程樣板在新創(chuàng)建的過程中輸入內(nèi)容SubCallSub語法:Call過程名(實在參數(shù)表)分隔。把過程名作為一個語句來用語法:過程名[實參1[,2……]]它與(1)的不同點是:去掉了關(guān)鍵字和實參列表的括號如上例中可以改成:areaa,b,c,w參數(shù)的傳遞形參與實參的概念內(nèi)存,其作用是說明自變量的類型和形態(tài)以及在過程中的角色。形參可以是:除定長字符串變量之外的合法變量名;后面跟()括號的數(shù)組名。SubFunction同,但位置必須對應(yīng)起來。與實參的結(jié)合,也就是把值代入公式進(jìn)行計算。按值傳遞參數(shù)(定義時加ByVal)按值傳遞參數(shù)(PassedByValue)時,是將實參變量的值復(fù)制一個到臨時存儲單元中,如果在調(diào)用過程中改變了形參的值,不會影響實參變量本身,即實參變量保持調(diào)用前的值不變。按地址傳遞參數(shù)(定義時沒有修飾詞或帶關(guān)鍵字ByRef)VB數(shù)組參數(shù)VB()[As數(shù)據(jù)類型]DimReDim的維界,重新定義數(shù)組的大小。5.對象參數(shù)5.對象參數(shù)傳遞控件;若聲明為“Form”,則可向過程傳遞窗體。對象的傳遞只能按地址傳遞。變量、過程的作用域VB過程的作用域變量的作用域靜態(tài)變量Dim的變量,每次調(diào)用過程時,重新初始化155.同名變量不同時,優(yōu)先訪問局限性大的變量。遞歸過程1.遞歸的概念1.遞歸的概念通俗的講,用自身的結(jié)構(gòu)來描述自身就稱為“遞歸”。如對階乘運算的定義就是遞歸的:n!=n(n-1)!(n-1)!=(n-1)(n-2)!2.遞歸子過程和遞歸函數(shù)VB允許一個自定義子過程或函數(shù)過程在過程體的內(nèi)部調(diào)用自己,這樣的子過程或函數(shù)就叫遞歸子過程和遞歸函數(shù)。遞歸過程包含了遞推和回歸兩個過程。構(gòu)成遞歸的條件是:(1)遞歸結(jié)束條件和結(jié)束時的值(2)能用遞歸形式表示,并且遞歸向結(jié)束條件發(fā)展。例:編制程序求fac(n)=n!的函數(shù)3.注意事項(1)遞歸算法設(shè)計簡單,但消耗的上機時間和占據(jù)的內(nèi)存空間比非遞歸大(2)設(shè)計一個正確的遞歸過程或函數(shù)過程必須具備兩點:1)具備遞歸條件;2)具備遞歸結(jié)束條件(3)一般而言,遞歸函數(shù)過程對于計算階乘、級數(shù)、指數(shù)運算有特殊效果。(3)一般而言,遞歸函數(shù)過程對于計算階乘、級數(shù)、指數(shù)運算有特殊效果。文件系統(tǒng)控件1.文件系統(tǒng)控件種類1.文件系統(tǒng)控件種類驅(qū)動器列表框(DriveListBox):用來顯示當(dāng)前機器上的所有盤符目錄列表框(DirListBox):用來顯示當(dāng)前盤上的所有文件夾文件列表框(FileListBox):用來顯示當(dāng)前文件夾下的所有文件名重要屬性重要事件文件的讀寫1.文件的有關(guān)概念1.文件的有關(guān)概念記錄:計算機處理數(shù)據(jù)的基本單位,由若干個相互關(guān)聯(lián)的數(shù)據(jù)項組成。相當(dāng)于表格中的一行。文件:記錄的集合,相當(dāng)于一張表。文件類型:順序文件、隨機文件、二進(jìn)制文件。訪問模式:計算機訪問文件的方式,VB中有順序、隨機、二進(jìn)制三種訪問模式。順序訪問模式短,記錄與記錄之間用“換行符”來分隔。順序文件的寫入步驟:打開、寫入、關(guān)閉; 讀出步驟:打開、讀出、關(guān)閉。打開文件打開文件的命令是Open,格式為:Open“文件名”For模式 As[#]文件號[Len=記錄長度]說明:文件名可以是字符串常量也可以是字符串變量模式可以是下面之一:OutPut:打開一個文件,將對該文件進(jìn)行寫操作Input:打開一個文件,將對該文件進(jìn)行讀操作Append:打開一個文件,將在該文件末尾追加記錄FreeFile()函數(shù)獲得下一個可以利用的文件號。例:Open "D:\sj\aaa" For Output As #1意思是:打開D:\SJ下aaa文件供寫入數(shù)據(jù),文件號為#1寫操作將數(shù)據(jù)寫入磁盤文件所用的命令是:Write#或Print#。語法格式:Print#文件號,[輸出列表]例:Open“D:\SJ\TEST.DAT”For Output As #1Print #1,Text1.Text '把文本框的內(nèi)容一次性寫入文件Close #1Write#文件號,[輸出列表]WritePrint#的功能基本W(wǎng)rite#是以緊湊格式存放,在數(shù)據(jù)間插入逗號,并給字符串加上雙引號。關(guān)閉文件結(jié)束各種讀寫操作后,必須將文件關(guān)閉,否則會造成數(shù)據(jù)丟失。關(guān)閉文件的命令是Close。Close [#]文件號[,[#]文件號]……例:Close #1,#2,#3讀操作Input#文件號,變量列表作用:將從文件中讀出的數(shù)據(jù)分別賦給指定的變量。注意:與Write#配套才可以準(zhǔn)確地讀出。Line Input#文件號,字符串變量Print#配套用。Input$(讀取的字符數(shù),#文件號)該函數(shù)可以讀取指定數(shù)目的字符。與讀文件有關(guān)的兩個函數(shù):LOF():返回某文件的字節(jié)數(shù)EOF():檢查指針是否到達(dá)文件尾。例:將一個文本文件讀入文本框的三種方法。隨機訪問模式要給出記錄號,可以直接訪問某一特定記錄,其優(yōu)點是存取速度快,更新容易。打開與關(guān)閉打開:Open“文件名”For Random As[#]文件號[Len=記錄長度]關(guān)閉:Close #文件號128讀與寫讀操作:Get [#]文件號,[記錄號],變量名1寫操作:Put [#]文件號,[記錄號],變量名1二進(jìn)制訪問模式打開:Open“文件名”For Binary As[#]文件號[Len=記錄長度]關(guān)閉:Close #文件號GetPut,區(qū)別是二進(jìn)制模式的訪問單位是字節(jié),寫。常用的文件操作語句和函數(shù)FileCopyFileCopy語句格式:FileCopy 源文件名 件名功能:復(fù)制一個文件說明:不能復(fù)制一個已打開的文件Kill格式:Kill 文件名功能:刪除文件說明:文件名中可以使用通配符*,?Name格式:Name 舊文件名 新文件名功能:重新命名一個文件或目錄說明:不能使用通配符;具有移動文件功能;不能對已打開的文件進(jìn)行重命名操作ChDrive格式:ChDrive 驅(qū)動器功能:改變當(dāng)前驅(qū)動器說明:如果驅(qū)動器為空,則不變;如果驅(qū)動器中有多個字符,則只會使用首字母MkDir格式:MkDir 文件夾名功能:創(chuàng)建一個新的目錄ChDir格式:ChDir 文件夾名功能:改變當(dāng)前目錄說明:改變默認(rèn)目錄,但不改變默認(rèn)驅(qū)動器。RmDir格式:RmDir 文件夾名功能:刪除一個存在的目錄功能:刪除一個存在的目錄說明:不能刪除一個含有文件的目錄8.CurDir()函數(shù)格式:CurDir[(驅(qū)動器)]功能:可以確定任何一個驅(qū)動器的當(dāng)前目錄。路徑。進(jìn)程條(ProgressBar)和滑塊(Slider)進(jìn)程條作用:進(jìn)程條控件用于監(jiān)視操作完成的進(jìn)度。創(chuàng)建:在窗體上畫出進(jìn)程條控件,右擊,選擇屬性,然后進(jìn)行所需的外觀設(shè)置。主要屬性:ProgressBarMax和MinValue屬性則指明了在行程范圍內(nèi)的當(dāng)前位置。Min0。Max100。屬性。改變Value屬性的值將改變進(jìn)程條的進(jìn)度顯 示。示例:PrivateSubCommand1_Click()If ProgressBar1.Value<ProgressBar1.MaxThenProgressBar1.Value=ProgressBar1.Value+5ElseProgressBar1.Visible=False EndIfEndSub滑塊Slider性,然后進(jìn)行下列設(shè)置:選擇滑塊的外觀方向?qū)傩詻Q定滑塊的方位,可以是垂直的或水平的滑塊?;瑝K樣式屬性決定滑塊標(biāo)記的樣子。3,則每三個可能值出現(xiàn)一個標(biāo)記。滑塊的主要屬性及事件Min,MaxMinMaxLargeChange,SmallChangeLargeChange方區(qū)域單擊時改變的值。ValueValueChange當(dāng)滑塊位置發(fā)生變化時就引發(fā)了Change事件。排列顯示(ListView)控件和分層顯示(TreeView)控件ListView件,可將項目組成帶有或不帶有列標(biāo)頭的列,并顯示伴隨的圖標(biāo)和文本??墒褂肔istView控件將稱作ListItem對象的列表條目組織成下列四種不同的視圖之一:大(標(biāo)準(zhǔn))圖標(biāo) 、 小圖標(biāo) 、列表 、報表ViewLabelWrap目關(guān)聯(lián)的標(biāo)簽是否可換行顯示。另外,還可管理列表中項目的排序方法和選定項目的外觀。ListViewListItemColumnHeaderListItemListView的文本片段,稱作子項目,它們與顯示在報表視圖中的ListItem對象關(guān)聯(lián)。HideColumnHeadersListViewListView“控件屬性”對話框的“列首”選項卡添加列標(biāo)頭。運行時,使用Add方法添加ColumnHeader對象到ColumnHeaders集合中。TreeView控件(Node)Node對象均由一個標(biāo)簽和一個可選的位圖組成。TreeView文件和目錄、或能被有效地分層顯示的其它種類信息。創(chuàng)建了TreeViewNodeNodeTreeViewImageListImageListNode位圖和圖標(biāo)。任何時刻,TreeViewImageListTreeView的StyleTreeView像。多媒體控件多媒體控件多媒體控件(MCI)MIDICD-ROMCDMCIMCI控件還支持Windows(*.avi)視頻文件的回放。MultimediaMCIMCIMultimediaMCI控件上啟用適當(dāng)?shù)陌粹o。在VisualBasic中,應(yīng)將MCIOpen命令放到Form_Load事件中。媒體播放器控件可以播放各種多媒體文件,主要屬性有:filename(待播放的文件名),可以在屬性窗口中設(shè)置,也可以用代碼實現(xiàn)。AutoStart(是否自動播放),True。AutoRewind(是否自動循環(huán)),F(xiàn)alse。PlayCount(文件播放遍數(shù)),1。圖象列表(ImageList)和圖象組合框(ImageCombo)1.圖象列表1.圖象列表ImageList控件是包含ListImage對象的集合,該集合中的每個對象都可以通過其索引或關(guān)鍵字被引用。ImageList控件不能獨立使用,只是作為一個便于向其它控件提供圖象的資料中心??丶梢允侨魏文茱@示圖像Picture對象的控件也可以是特別設(shè)計的用于綁定ImageList控件的Windows ListViewToolBarTabStripHeaderImageCombo、和TreeView控件。為了與這些控件一同使用ImageList,必須通過一個適當(dāng)?shù)膶傩詫⑻囟ǖ腎mageList控件綁定到第二個控件。對于ListView控件,必須設(shè)置其Icons和SmallIcons屬性為ImageList控件。對于TreeView、TabStrip、ImageCombo、和 Toolbar控件,必須設(shè)置ImageList屬性為ImageList控件。ImageListWindowsIndexKey性的值來引用ListImage對象。當(dāng)與Windows通用控件一起使用ImageList望的順序?qū)⑷啃枰膱D像插入到ImageListImageListListImages2.圖象組合框ImageCombo控件是標(biāo)準(zhǔn)Windows個列表項使用相同的圖片。ComboItemComboItems就使它容易一項一項地指定諸如標(biāo)記文本、ToolTip通用對話框控件用對話框控件就可以提供這些對話框的標(biāo)準(zhǔn)功能。1.OpenSaveAsOpenShowOpenSaveAsShowSavePrivateSubmnuOpen_Click()OnErrorGoToErrorHandlerCommonDialog1.CancelError=True="TextFiles(*.txt)|*.txt|BatchFiles(*.bat)|*.bat|AllFiles(*.*)|*.*"CommonDialog1.ShowOpen CallOpenFile(CommonDialog1.FileName)ErrorHandler:ExitSubEndSubCancelErrorTrue操作。Color下面的過程可用用戶選擇的顏色作為窗體的底色。PrivateSubmnuColor_Click()OnErrorGoToCancelButtonCommonDialog1.CancelError=TrueCommonDialog1.ShowColorForm1.BackColor=CommonDialog1.ColorCancelButton:ExitSubEndSubFonts下面的過程可用字體對話框改變文本框的字體:PrivateSubmnuFonts_Click()PrivateSubmnuFonts_Click()OnErrorGoToCancelButtonCommonDialog1.CancelError=TrueCommonDialog1.Flags=cdlCFBoth'FlagspropertymustbesettocdlCFBothCommonDialog1.ShowFont'DisplayFontcommondialogbox.Text1.FontName=CommonDialog1.FontNameText1.FontSize=CommonDialog1.FontSizeText1.FontBold=CommonDialog1.FontBoldText1.FontItalic=CommonDialog1.FontItalicText1.FontUnderline=CommonDialog1.FontUnderlineText1.FontStrikethru=CommonDialog1.FontStrikethruText1.ForeColor=CommonDialog1.ColorCancelButton:ExitSubEndSubFlags,代碼也一樣會按缺省的情況去執(zhí)行的。數(shù)據(jù)庫的基礎(chǔ)知識1.計算機數(shù)據(jù)管理技術(shù)的發(fā)展1.計算機數(shù)據(jù)管理技術(shù)的發(fā)展的概念,一組數(shù)據(jù)對應(yīng)一個程序。成文件形式,形成數(shù)據(jù)文件;文件管理系統(tǒng)是應(yīng)用程序與數(shù)據(jù)文件的接口。序存在,并可以提供給各類不同用戶使用。數(shù)據(jù)庫的基本概念數(shù)據(jù)庫(DataBase DB)定義:是以一定的組織形式存放在計算機存儲介質(zhì)上的相互關(guān)聯(lián)的數(shù)據(jù)的集合。特點:具有數(shù)據(jù)獨立性實現(xiàn)數(shù)據(jù)共享安全可靠,保密性能好數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem DBMS)定義:是操縱和管理數(shù)據(jù)庫的系統(tǒng)軟件。功能:維護(hù)數(shù)據(jù)庫、接

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論