VB復(fù)習(xí)(南醫(yī)大)_第1頁
VB復(fù)習(xí)(南醫(yī)大)_第2頁
VB復(fù)習(xí)(南醫(yī)大)_第3頁
VB復(fù)習(xí)(南醫(yī)大)_第4頁
VB復(fù)習(xí)(南醫(yī)大)_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、南京醫(yī)科大學(xué)康達(dá)學(xué)院2013級衛(wèi)信班VB復(fù)習(xí)資料第一章 VB程序設(shè)計概述一、 以結(jié)構(gòu)化Basic語言為基礎(chǔ),以事件驅(qū)動為運(yùn)行機(jī)制 利用圖形用戶界面,應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計(OOP)方法 1. VB 具有強(qiáng)大的數(shù)據(jù)庫功能 OLE (Object Linking and Embedding,對象的鏈接和嵌入)技術(shù)具有可視化(Visual)特性 Help聯(lián)機(jī)幫助功能 2.對象、屬性、方法和事件對象:應(yīng)用程序的每個窗體和窗體上的每個控件都是VB的對象屬性:對象的特征方法:對象自身進(jìn)行的操作è指具體的程序代碼事件:外力對對象進(jìn)行的操作(VB事件驅(qū)動)比如:雙擊VB圖標(biāo),可以打開VB應(yīng)用界面。其

2、中:雙擊為事件;打開程序為方法,是響應(yīng)雙擊這個事件的方法。 例題:人踢白色的球,球滾進(jìn)球門。其中白色的、球、踢、滾分別為_B_. A.對象,屬性,方法,事件 B.屬性,對象,事件,方法 C.屬性,對象,方法,事件 D.方法,對象,屬性,事件二、VB集成開發(fā)環(huán)境 1.VB界面構(gòu)成(1)VB工作狀態(tài)有三種:設(shè)計、運(yùn)行、中斷狀態(tài)(按F5程序繼續(xù)運(yùn)行) (2)代碼編輯器的打開方式:在設(shè)計狀態(tài)雙擊窗體、控件,或者單擊工程資源管理器窗口中的“查看代碼”按鈕(3)工程資源管理器窗口:其中文件分為6類 :工程文件(.vbp)、工程組文件(.vbg)、窗體文件(.frm)、程序模塊文件(.bas)、類模塊文件(

3、.cls)、資源文件(.res)(4)“屬性”窗口:有些對象的屬性在設(shè)計狀態(tài)下不可見,也無法設(shè)置,只能用代碼進(jìn)行設(shè)置,這種屬性稱為運(yùn)行態(tài)屬性。(按F4可快速打開屬性窗口)(5)“窗體布局”窗口:作用:在設(shè)計狀態(tài)下顯示所有可見的窗體,借助該窗口可以將每個窗體定位在希望它出現(xiàn)的位置。三、創(chuàng)建VB應(yīng)用程序1.一般步驟:畫控件、布局è設(shè)置屬性è寫代碼è保存(先保存窗體,再保存工程è運(yùn)行è修改è保存è運(yùn)行è 一般特點(diǎn):確定性、可行性、有窮性、輸入/輸出性 基本結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)(VB設(shè)計通常采用自頂向下、逐步

4、細(xì)化的層次結(jié)構(gòu))2.建立VB應(yīng)用程序(1)工程的組成 工程文件(.vbp) VB代碼存儲在模塊中, 模塊類型:窗體模塊、標(biāo)準(zhǔn)模塊、類模塊 模塊結(jié)構(gòu):聲明(聲明語句、賦值語句)+過程 (子程序過程SubEnd Sub+函數(shù)過程FunctionEnd Function) 窗體文件(.frm) 窗體二進(jìn)制文件(.frx) 標(biāo)準(zhǔn)模塊文件(.bas)è定義工程中的全局變量(public),編制工程中的全局過程 類模塊文件(.cls)è用于創(chuàng)建用戶自定義的類和對象 資源文件(.res) Active X控件文件(.ocx) (2)事件驅(qū)動的編程機(jī)制 針對不同對象的各個驅(qū)動動作(事件)之

5、間不一定有聯(lián)系,執(zhí)行的流程與過程書寫的先后次序無關(guān),只與觸發(fā)的事件有關(guān)。 (3)對象的建立創(chuàng)建對象對象的選定同時選定多個對象:拖動鼠標(biāo)指針,將欲選定的對象包圍在一個虛線框 先選定一個對象,按住Ctrl鍵,再單擊其他要選定的空間復(fù)制或刪除對象復(fù)制:選中要復(fù)制的對象,單擊工具欄上的“復(fù)制”按鈕,再單擊“粘貼”按鈕,這時會顯示是否要創(chuàng)建控件數(shù)組的對話框,單擊“否”,就復(fù)制了標(biāo)題相同而名稱不同的對象。刪除:選中要刪除的對象,按Del鍵。 (4)對象的屬性、事件和方法 屬性設(shè)置:“屬性”窗口中直接設(shè)置;程序代碼中通過賦值實(shí)現(xiàn)。 事件、事件過程和事件驅(qū)動 事件驅(qū)動是利用動作控制程序的執(zhí)行。事件驅(qū)動的順序決

6、定了代碼執(zhí)行的順序。 方法:分兩部分,一部分是用戶編寫好的代碼,另一部分是編寫好的系統(tǒng)通用的過程和函數(shù),可以直接調(diào)用。 對象方法調(diào)用格式:對象.方法參數(shù)名表 若省略其中的“對象”,則表示為系統(tǒng)默認(rèn)的對象,一般指窗體。 第二章 常用控件及界面設(shè)計一、窗體和常用控件1.窗體(1)主要屬性Name名稱屬性:是每個對象必不可少的屬性 命名規(guī)則:對象名稱必須以字母或漢字開頭,由字母、漢字、數(shù)字組成,長度不超過255個字符,其中可以出現(xiàn)下劃線(但最好不要用)。Caption標(biāo)題屬性:決定了對象標(biāo)題欄上顯示的內(nèi)容。文本框和列表框沒有此屬性。Height、Width、Top和Left屬性:確定一個控件在窗體上

7、的位置的屬性是Top和Left。 Forecolor、Backcolor顏色屬性BorderStyle邊框風(fēng)格屬性: 0-None:無邊框 1-FixedSingle:單邊框、窗口大小不可改。2-sizable:(默認(rèn)值)雙線外框、窗口大小可改。Enabled屬性:True允許操作;False禁止操作,控件呈灰色Visible屬性:默認(rèn)為True,當(dāng)設(shè)置為False時,用戶看不到,但控件本身存在。Font屬性:Fontname:字體;Fontsize:字體大??;Fontbold:是否是粗體;Fontitalic:是否斜體;Fontstrikethru:是否加一刪除線。 Fontunderlin

8、e:是否帶下劃線。Picture屬性(2)方法:Hide:隱藏方法; Move:移動方法; Print:打印方法; PrintForm:打印窗體方法;Refresh:刷新方法;Show:顯示方法;Cls:清除方法。Print方法:Object. Print p1 <s> p2<s>注釋:p1,p2是輸出項;s是輸出項之間的分隔符,可以是逗號或分號。“,” :表示光標(biāo)定位在下一個打印區(qū)開始位置,打印區(qū)每隔14列開始?!?;” :表示光標(biāo)定位在上一個顯示的字符后(若是字符型,則緊跟前一個表達(dá)式;若是數(shù)值型,則前面留有符號位,后面留有一個空格用于分隔)。無“;”或“,”:表示輸

9、出后換行。(3)事件:單擊窗體事件(Click)雙擊窗體事件(Dbclick)初始化事件 (Initialize);裝載窗體事件 (Load);卸載事件。如果關(guān)閉窗體,觸發(fā)Unload事件(Unload);本窗體被激活事件(Activate);本窗體失去激活事件(Deactivate);窗體改變大小事件(Resize)通常的順序是:初始化事件 (Initialize)è裝載窗體事件(Load)è激活事件(Activate)è獲得焦點(diǎn)(GotFocus)Unload語句:可以從內(nèi)存卸載所有窗體(或其他對象),使對象所有屬性恢復(fù)為設(shè)計狀態(tài)時設(shè)定的初始值,若對象為窗體則

10、終止程序運(yùn)行。End語句:終止應(yīng)用程序的執(zhí)行,并從內(nèi)存卸載所有窗體。2.常用控件(1)標(biāo)簽(Label):用于顯示文本(輸出)信息,不能作為輸入信息的界面。通常用來標(biāo)注本身并不具有Caption屬性的控件。一般不用來觸發(fā)事件。主要屬性: Name:標(biāo)簽名稱。Caption:標(biāo)題屬性,它的值即為標(biāo)簽所顯示的文本內(nèi)容。Alignment:對齊屬性。0-Left Justify:正文左對齊,默認(rèn)值1-Right Justify:正文右對齊2-Center:正文居中AutoSize:大小自適應(yīng)屬性。False:默認(rèn),標(biāo)簽大小不變,超出部分文本不予顯示;True:自動增加標(biāo)簽寬度以顯示全部內(nèi)容。Back

11、Style:背景樣式屬性 Borderstyle:邊框樣式屬性:0-None:無邊框;1-Fixed:單線邊框 Enabled:是否相應(yīng)操作:True:能響應(yīng)操作;False:不能相應(yīng)操作(灰色)方法: Refresh: 刷新 Move: 移動事件: Click :單擊 DbClick: 雙擊(2)文本框(TextBox):文本框中的文本可以在程序運(yùn)行時直接編輯修改,除非將文本框的Locked屬性設(shè)置為True,使其Text屬性為只讀屬性。(文本框沒有Caption屬性)(清除:Text1.Text=)主要屬性:Name:文本框名稱。 Text :文本屬性,它的值就是用戶從文本框輸入的內(nèi)容。

12、Passwordchar: 密碼屬性。默認(rèn)值為空字符串,若將該屬性設(shè)置為某個字符(例如:“*”),則輸入字符后顯示為“*” MaxLength:最大長度屬性。 MultiLine: 多行屬性。False:默認(rèn)值,文本框中字符只能在一行中顯示。True:可在Text屬性中加入換行符使文本分為多行顯示。 ScrollBars: 滾動條屬性。(只有在MultiLine屬性為True時該屬性才有效)0-無滾動條1-水平滾動條2-垂直滾動條3-水平、垂直滾動條 Alignment:對齊屬性。*運(yùn)行期屬性:SelLength:用于返回文本框中選定的文本字符串的長度。SelStart:用于確定文本框控件選中

13、文本的起始位置。第一字符的位置為0。SelText:用于返回當(dāng)前選定文本中的文本內(nèi)容。方法:對象.SetFocus:設(shè)置焦點(diǎn),把光標(biāo)移到指定的文本框?qū)ο笾小?Refresh:刷新事件:Change:當(dāng)改變文本框的Text屬性時會引發(fā)該事件。 KeyPress(KeyAscii As Integer):同上,并可返回一個KeyAscii參數(shù) KeyAscii 為13:按回車鍵;為0:去除剛輸入的字符。 LostFocus:當(dāng)控件失去焦點(diǎn)時發(fā)生。 GotFocus:當(dāng)控件獲得焦點(diǎn)時發(fā)生。(3)命令按鈕(CommandButton):主要屬性:CaptionCancel(取消屬性):“True”時按

14、ESC鍵等同于單擊該按鈕,一般“取消”按鈕的cancel設(shè)置為“True”.Default(缺省屬性):當(dāng)此屬性為“True”時,此按鈕被設(shè)為默認(rèn)命令按鈕,按回車鍵等同于按此按鈕。一般將“確定”按鈕的Default屬性設(shè)為“True”。Picture :按鈕可顯示圖片文件(.bmp和.Ico),當(dāng)Style為1時有效。Style:(風(fēng)格屬性):確定顯示的形式0-只能顯示文字1-文字、圖形均可ToolTipText :設(shè)置工具提示,和Picture結(jié)合使用。方法:SetFocus事件:Click(4)列表框(ListBox)和組合框(ComboBox)列表框:以列表形式提供選項,當(dāng)內(nèi)容超出列表框

15、時,會自動提供滾動條。最主要特點(diǎn)是:只能從其中選擇,而不能直接修改其中的內(nèi)容。(列表框沒有Caption屬性)組合框:組合了文本框和列表框的特性 兩者共有的主要屬性:List:列表屬性,用于保存列表的內(nèi)容??捎孟铝行问絹碓L問列表: Object.List(列表項序號) 列表項序號由上到下依次為0,1,2,3(從0開始) 連續(xù)在列表框中輸入多項:“按Ctrl+回車鍵”松手,輸入Listcount:列表項數(shù)目,表示列表框或組合框中選項的數(shù)量。Listcount-1表示最后一項的序號。ListIndex:列表項的索引。其值為最后選定的列表項的序號。第一個列表項的序號為0,如果未選任何表項,則其值為-

16、1。Text:列表項的內(nèi)容。其值為最后選中的列表項的文本,它與List(ListIndex) 相同。List1.Text=List1.List(List1.ListIndex)Sorted:排序?qū)傩訲rue-選項按字母順序顯示;False-默認(rèn)值,選項按先后加入順序顯示。 列表框特有的主要屬性:Selected:選擇屬性(只能在程序代碼中使用)Columns:列表框顯示形式。=0-逐行顯示,可能有垂直滾動條>0-可分多列顯示,可能有水平滾動條Multiselect:多選屬性0-默認(rèn),只能選一項1-允許多個選項,單擊一個選中一個2-可選擇某個范圍內(nèi)的選項。既可以按住Shift鍵單擊鼠標(biāo),選

17、擇一組連續(xù)排列的選項,也可以按住Ctrl鍵單擊鼠標(biāo),選擇一組不連續(xù)的選項。 組合框特有的主要屬性:Style:外觀屬性。組合框的類型和功能由本屬性設(shè)定值決定。0-默認(rèn)值,系統(tǒng)創(chuàng)建一個下拉式組合框。1-系統(tǒng)創(chuàng)建一個由文本框和固定的列表框直接結(jié)合在一起的簡單組合框。(Height屬性)2-系統(tǒng)創(chuàng)建一個沒有文本框的下拉式列表框,單擊列表框右側(cè)的按鈕,文本框才會顯示出來。不能輸入列表框中沒有的屬性。 方法:Additem:添加列表項。格式如下: object.Additem<列表項文本> ,插入位置序號 如不指定插入位置,則插入到列表末尾。Clear:刪除列表所有項目。RemoveItem

18、:刪除列表項。格式如下: Object.Removeitem 刪除項序號 事件列表框:單擊Click雙擊DbClick(很少用)組合框:一般情況:0和2風(fēng)格的組合框響應(yīng)Click事件,1風(fēng)格的組合框響應(yīng)DblClick事件。帶有文本框的0和1風(fēng)格的組合框在編輯文本時可響應(yīng)Change事件。(5)單選按鈕(OpionButton)和復(fù)選框(CheckBox)主要屬性:Caption:文本標(biāo)題。 Alignment:對其屬性。 0-默認(rèn),控件鈕在左邊,標(biāo)題顯示在右邊。 1-控件鈕在右邊,標(biāo)題顯示在左邊。 Value屬性單選鈕(邏輯型)復(fù)選框(數(shù)值型)True:選定0-Unchecked:未被選定F

19、alse:未選定1-Checked:選定2-Grayed:灰色,禁止 選擇Style屬性0-Standard:標(biāo)準(zhǔn)方式 1-Graphical:圖形方式方法:Move:移動控件Refresh:刷新控件事件:Click事件(6)框架控件(Frame):可以作為選項組的“容器”,把各個選項組區(qū)分開來。(可做“容器”的有:窗體、框架控件和圖片框)主要屬性:Caption屬性:框架標(biāo)題Enabled屬性:False:標(biāo)題呈灰色,不允許對框架內(nèi)的對象進(jìn)行操作。Visible屬性(7)滾動條(ScrollBar):分為水平滾動條(HScrollBar)和垂直滾動條(VScrollBar)。 主要屬性:Ma

20、x和Min:Max默認(rèn)值為32767,Min默認(rèn)值為0。LargeChange:最大變動值屬性。單擊滾動區(qū)域時每次移動的距離,表示Value值的改變量。SmallChange:最小變動值屬性。單擊滾動箭頭時每次移動的距離,表示Value值的改變量。一般設(shè)置為1。Value :表示滾動塊當(dāng)前位置值。取值范圍為-3276832767方法:SetFocus ReFresh事件:Change:當(dāng)滾動塊的位置被改變或在代碼中修改滾動條的Value屬性值 觸發(fā)該事件。 Scroll:當(dāng)在滾動區(qū)域中拖動滾動塊時引發(fā)Scroll事件(8)圖像控件(Image)和圖片框(PictureBox):圖片框用于繪制圖

21、形,顯示各種圖片或圖像以及文本或數(shù)據(jù),還常被用作其他控件的容器。圖像控件(Image)的主要屬性:Stretch(伸縮)屬性:True-所裝入的圖形能夠自動縮放以適應(yīng)圖像框的大小,但圖形可能會發(fā)生扭曲。False-圖像框不隨實(shí)際圖像大小縮放。Picture屬性 圖片框(PictureBox)的主要屬性:Picture屬性AutoSize屬性:True-圖片框能自動適應(yīng)圖片的大小 方法:圖片框:Print方法 Picture1.Print“學(xué)習(xí)VB” 就是在圖片框中顯示文字“學(xué)習(xí)VB”。LoadPicture方法Cls方法:清空圖片框中所有內(nèi)容 事件:可響應(yīng)的事件與窗體基本相同。 *圖片框和圖像

22、控件的區(qū)別:A.圖片框可以用Print方法在圖片框中輸出文本,而圖像控件不可以。B.清空圖片控件的方法之一是加載一個空圖形。C.圖片框、圖像控件、窗體、命令按鈕都具有Picture屬性,而文本框沒有。D.圖片框和圖像控件都可以通過LoadPicture來加載圖片。E.圖片框不可以伸縮,不具有Stretch(伸縮)屬性,圖像控件有。F.圖片框常被用作其他控件的容器。(9)時鐘控件(Timer):時鐘控件以Interval為時間間隔產(chǎn)生 Timer事件。該控件在設(shè)計時可見,運(yùn)行時不可見。主要屬性:Interval:時間間隔屬性 單位:ms(0.001s),0.5秒是500。 Interval0:屏

23、蔽計時器。Enabled屬性 True:有效計時 False:停止時鐘工作方法: 時鐘控件沒有方法事件:可響應(yīng)的事件只有Timer。不能Click。(10)控件默認(rèn)屬性文本框Text 標(biāo)簽Caption 命令按鈕Default 單選按鈕Value 復(fù)選框Value 圖形、圖像框Picture(11)直線控件(Line)和形狀控件(Shape)(書P182-186)Line的BorderStyle屬性為1時,控件為實(shí)線(默認(rèn)值)。Shape控件一共可以顯示6種不同的形狀。(12)繪圖方法(書P187-190)PSet方法:在窗體或圖片框指定的位置用給定的顏色畫“點(diǎn)”,點(diǎn)的大小由對象的DrawWi

24、dth屬性指定。FormName|PictureboxName.PSetStep(x,y),ColorPoint方法:用于返回窗體或圖片框控件上指定的RGB顏色。Line方法:用于在窗體或圖片框?qū)ο笊袭嬛本€或矩形。繪制直線:object.LineStep(x1,y1)-Step(x2,y2),color繪制矩形:object.LineStep(x1,y1)-Step(x2,y2),color,B,FB-表示繪制矩形F-表示用繪制矩形的顏色填充矩形。F與B選項必須同時使用,不能只用B而不用F。如果不用F而只用B,則矩形由當(dāng)前的FillColor和FillStyle屬性填充。(FillStyle:

25、0-Solid 填充)Circle方法:用于在窗體、圖片框或打印機(jī)上繪制圓、橢圓、弧等圖形 objectname.CircleStep(x,y),radius,colorstart,end,aspect二、菜單設(shè)計1.菜單只有一個事件Click事件。(除分割線外所有菜單項都能接受。)2.只有當(dāng)某個窗體是當(dāng)前活動窗體時才能打開菜單編輯器。3.用菜單編輯器設(shè)計菜單時,必須輸入的項是名稱。4.左、右箭頭切換上下級別,下級菜單項標(biāo)題前比上級菜單項多“.”標(biāo)志。5.在VB6.0中最多可產(chǎn)生6級菜單。6.菜單的索引號可以是間斷的,不連續(xù)的,不是必須從1開始。7.不是任何菜單都可以定義快捷鍵,菜單的快捷鍵是

26、不能隨意設(shè)置的。快捷鍵不是用來打開菜單,而是直接執(zhí)行相應(yīng)菜單項的操作。8.建立分割菜單需在“標(biāo)題”文本框中輸入一個連字符“-”。9.建立熱鍵需要在菜單標(biāo)題(Caption屬性)的某個字符前加上一個“&”,使用Alt鍵+該字符來打開菜單。10.通常用PopupMenu方法來顯示彈出菜單。11.與其他控件一樣,每一個菜單項也是一個控件,并且都有自己的屬性和事件。第三章 VB程序設(shè)計基礎(chǔ)一、數(shù)據(jù)類型1.數(shù)值型(1)整數(shù)-整型Integer和長整型Long整型:取值范圍:-3276832767;類型聲明符:;如:189;占2個字節(jié)長整型:取值范圍:231-1;類型聲明符:&;如:189

27、&;占4個字節(jié)。(2)浮點(diǎn)數(shù)-單精度數(shù)Single和雙精度數(shù)Double(帶小數(shù)點(diǎn)的數(shù),相對于整數(shù)而言取值范圍較大)單精度數(shù):類型聲明符:??;如:-0.00934?。徽?個字節(jié)。雙精度數(shù):類型聲明符:#;如:-0.333133#;占8個字節(jié)。*浮點(diǎn)數(shù)也可以用指數(shù)形式來表示:由尾數(shù)、符號和指數(shù)三部分組成。單精度數(shù)和雙精度數(shù)分別用E(e)和D(d)將指數(shù)和尾數(shù)和分開。以指數(shù)形式表示時,指數(shù)和尾數(shù)都不可以省略。例:3.56E8表示單精度數(shù),其中3.56是尾數(shù),8是指數(shù),其值相當(dāng)于3.56×108,其中的E8還可以用e8、e+8、E+8表示。3.56D-3表示雙精度數(shù),其中3.56是

28、尾數(shù),-3是指數(shù),其值相當(dāng)于3.56×10-3,其中的D-3還可以用d-3表示。(3)貨幣型Currency和字節(jié)型Byte貨幣型:類型聲明符:;占8個字節(jié);其小數(shù)點(diǎn)左邊最多不超過15位數(shù),右邊不超過4位數(shù)字節(jié)型:無類型聲明符;其取值范圍是0到255,在存儲二進(jìn)制數(shù)據(jù)時很有用2. 字符型定長字符串String和變長字符串String。在VB中將字符串放在雙引號內(nèi)。定長字符串:類型聲明符:;格式:String *n,n表示定長字符長度。變長字符串:類型聲明符:*對于定長字符,若賦予它的字符少于定長值,則不足的部分由系統(tǒng)自動在右邊補(bǔ)空格填滿;若超過定長值,則多余部分被自動減去。3. 邏輯

29、型(又稱布爾型)Boolean兩種取值:True和False(默認(rèn)值),占2個字節(jié)*將邏輯型數(shù)據(jù)轉(zhuǎn)換為其他類型數(shù)據(jù)時,F(xiàn)alse轉(zhuǎn)換為0,True轉(zhuǎn)換為-1;將其他數(shù)據(jù)轉(zhuǎn)換為邏輯型時,0轉(zhuǎn)換為False,其余非0值轉(zhuǎn)換為True。4. 其他數(shù)據(jù)類型日期型Date:占8個字節(jié),必須用符號#括起來,任何可被辨認(rèn)的日期和時間文本都可以放在兩個#之間作為日期型數(shù)據(jù)日期數(shù)據(jù)標(biāo)準(zhǔn)格式: #月/日/年# #時:分:秒 AM或PM# #月/日/年 時:分:秒 AM或PM#變體型Variant:可以表示除了定長字符串類型和用戶自定義類型之外的任何類型的數(shù)據(jù),是所有未定義變量的默認(rèn)數(shù)據(jù)類型。對象型:以4個字節(jié)的地

30、址形式來表示應(yīng)用程序中需要引用的對象,如圖形、表格、OLE對象等二、常量與變量1.常量(1)直接常量:分為數(shù)值常量、字符串常量、邏輯常量和日期常量四種VB中允許使用八進(jìn)制和十六進(jìn)制,只要分別在數(shù)字前面加“&O”和“&H”即可。例如: 數(shù)值常量:328 0.816 -3.1415E4 9.56941238D-15 &O123(相當(dāng)于83) &H123(相當(dāng)于291)字符串常量:"123" "basic" "123.a" "2008北京奧運(yùn)會"邏輯常量:True False日期常量:#8

31、/24/2008# #April 9,2003# #9:23:59PM# #5/25/1999 2:36:21 AM# (2)符號常量 Public | Private Const 常量名 As 數(shù)據(jù)類型 = 表達(dá)式常量名只能由數(shù)字、字母或下劃線組成,首字符必須是字母。聲明常量后,在程序中只能引用,而不能通過語句改變其值,即常量只能出現(xiàn)在賦值號的右邊。若在一行中要定義多個變量,必須用逗號做分隔符。例如: Const PI As Single = 3.1415 '定義PI是單精度型,其值是3.1415Const a As Integer = 35 , b & = 68 '

32、定義整型常量a,值為35,定義長整型常量b,值為68Public Const st = "VB程序設(shè)計" '定義st是字符串型,其內(nèi)容是VB程序設(shè)計 (3)系統(tǒng)常量系統(tǒng)定義的符號常量 ,在程序代碼中可以直接使用。 如vbCrLf是回車換行符組合常量,等同于回車換行符操作,即Chr (13) & Chr(10)。 vbRed是顏色為紅色值的常量。2.變量(1)變量命名規(guī)則 首字符必須是字母;名字只能由字母、數(shù)字和下劃線組成 不能包含嵌入的點(diǎn)號或者嵌入的類型聲明符%、&、!、#、$、 不能超過255個字符 不能使用VB中的關(guān)鍵字,如Dim、As、Prin

33、t等,但可以把關(guān)鍵字嵌入到變量名中,如Form_Print、Sub_Outpu等,這些變量名是合法的 在作用域范圍內(nèi)必須唯一(2)變量聲明變量顯示聲明:Dim 變量名 As 數(shù)據(jù)類型 , 變量名 As 數(shù)據(jù)類型 根據(jù)不同的數(shù)據(jù)類型給變量賦一個初值: 數(shù)值型-0;字符型-空字符串;布爾型-False;對象型-Nothing;變體型-空。聲明的每個變量都要一個單獨(dú)的“As 數(shù)據(jù)類型“子句區(qū)別:Dim x As Integer, y As Integer '定義兩個整型變量Dim x, y As Integer '定義兩個變量,其中x是變體型變量,初值為空,y是整型變量,初值為0變量

34、隱式聲明在使用一個變量之前不必先聲明這個變量,這就是變量的隱式聲明Option Explicit語句在模塊中使用“Option Explicit”語句可以強(qiáng)制顯示聲明模塊中的所有變量。三、運(yùn)算符和表達(dá)式1.算術(shù)運(yùn)算符和算術(shù)表達(dá)式(1)算術(shù)運(yùn)算符優(yōu)先順序:(乘方) -(負(fù)號) * (乘)和 /(浮點(diǎn)除) (整除) Mod(取余) +(加)和 -(減)運(yùn)算符“”可以用來計算乘方或方根;運(yùn)算符“/”用于對兩個數(shù)進(jìn)行除法運(yùn)算并返回一個浮點(diǎn)數(shù),一般類型是雙精度浮點(diǎn)數(shù)運(yùn)算符“”是整除操作,用于對兩個數(shù)進(jìn)行除法運(yùn)算并返回一個整數(shù),若前后兩個操作數(shù)不是整數(shù)則需四舍五入取整。運(yùn)算符“Mod”是取余操作,用來對兩

35、個數(shù)做除法并且只返回余數(shù)。若前后兩個操作數(shù)不是整數(shù)則需四舍五入取整,取余結(jié)果符號位同被除數(shù)符號位(-15 Mod 4= -3 , 15 Mod -4 = 3);*如果在運(yùn)算中出現(xiàn)只包含數(shù)字的字符或者邏輯型操作數(shù),則將其自動轉(zhuǎn)換為數(shù)值型再進(jìn)行運(yùn)算。(False轉(zhuǎn)換為0,True轉(zhuǎn)換為-1)*運(yùn)算結(jié)果的數(shù)據(jù)類型與操作數(shù)中存儲空間較大的數(shù)據(jù)類型保持一致(Integer<Long<Single<Double<Currency)。如整型數(shù)和單精度數(shù)進(jìn)行運(yùn)算時,其結(jié)果為單精度型。例外:一個單精度數(shù)和一個長整型數(shù)進(jìn)行運(yùn)算時,其結(jié)果為雙精度型。任何操作數(shù)進(jìn)行除法運(yùn)算,其結(jié)果都是雙精度型

36、。運(yùn)算的值也是雙精度型。(2)算術(shù)表達(dá)式只有圓括號,且成對存在。乘號不能省略。2.關(guān)系運(yùn)算符和關(guān)系表達(dá)式(1)關(guān)系運(yùn)算符:也稱比較運(yùn)算符,用來將兩個操作數(shù)進(jìn)行比較,返回布爾型值。關(guān)系成立時返回True,不成立時返回False。操作數(shù)是兩個數(shù)值時,則直接比較其大?。蝗羰莾蓚€字符串,則按照字符對應(yīng)的ASCII碼從左到右逐一進(jìn)行比較,即首先比較兩個字符串的第一個字符,ASCII碼大的字符串大。Like運(yùn)算符用來比較兩個字符串,通常與一些通配符結(jié)合使用來實(shí)現(xiàn)數(shù)據(jù)庫的模糊查詢。格式:字符串 Like 匹配模式 Is運(yùn)算符用來比較兩個對象的引用變量,若引用對象相同,則結(jié)果為True,否則為False。格式

37、:對象1 Is 對象2(2)關(guān)系表達(dá)式區(qū)分關(guān)系運(yùn)算符“=”和賦值語句中的等號:賦值語句是獨(dú)立的一條語句,而關(guān)系表達(dá)式必須與VB中其他的代碼一起使用來實(shí)現(xiàn)相應(yīng)的功能。例:x = 2 '這是賦值語句 Print x = 2 '關(guān)系表達(dá)式,根據(jù)變量a的取值返回True和False注意有些運(yùn)算符與數(shù)學(xué)中的符號的區(qū)別:xy x<>y 3x5 x>=3 And x<=53.邏輯運(yùn)算符和邏輯表達(dá)式(1)邏輯運(yùn)算符邏輯表達(dá)式邏輯運(yùn)算符的優(yōu)先順序依次為: Not > And > Or > Xor例:A和B之一為0,可表示為:A = O Xor B = 0

38、A和B同時為0,可表示為:A = 0 Or B = 0(4)連接運(yùn)算符和連接表達(dá)式連接運(yùn)算符VB中有兩個連接運(yùn)算符,分別是“&”和“+” 運(yùn)算符“&”:是強(qiáng)制進(jìn)行字符串連接 ,無論兩邊是字符型還是數(shù)值型,都將起轉(zhuǎn)換為字符型。例:“12” & “34” '字符串強(qiáng)制連接,結(jié)果為“1234” “12” & 34 '字符串強(qiáng)制連接,結(jié)果為“1234” 運(yùn)算符“+”:有些情況作為算術(shù)運(yùn)算符加號,而有些情況作為字符串連接符。只有當(dāng)兩個操作數(shù)均為字符型時,才用于字符串的連接。若操作數(shù)中包含數(shù)值字符型,則將字符型數(shù)字轉(zhuǎn)換為數(shù)值型,再進(jìn)行加法運(yùn)算,若包含非數(shù)值字

39、符型,則系統(tǒng)會報錯。例:“12” + “34” '字符串連接,結(jié)果為“1234” “12” + 34 '執(zhí)行加法操作,結(jié)果為46 12 + 34 ' 執(zhí)行加法操作,結(jié)果為46 “12a”+ 34 報錯,類型不匹配123 + False ' False轉(zhuǎn)換為0,結(jié)果為123123 + True ' True轉(zhuǎn)換為-1,結(jié)果為122四、常用內(nèi)部函數(shù)1. 數(shù)學(xué)函數(shù)Sqr(x) :求x的平方根,x必須大于或等于0 Abs(x) :求x的絕對值 Log(x) :求x的自然對數(shù)值,x必須大于0 自然對數(shù)是以e為底的對數(shù),相當(dāng)于ln(x)求任意以n為底的對數(shù):如 lo

40、gn(x) = log(x) / log(n)Exp(x) :求e的x次方 Sin(x) :求x的正弦值,x的單位是弧度 Cos(x) :求x的余弦值,x的單位是弧度 Tan(x) :求x的正切值,x的單位數(shù)弧度 Atn(x) :求x的反正切值,返回值是弧度值Rnd(x) :產(chǎn)生隨機(jī)數(shù) Rnd函數(shù)返回小于1但大于或等于0的隨機(jī)數(shù) 為了生成某個范圍內(nèi)的隨機(jī)數(shù),可以用公式: Int(上限 下限 + 1) * Rnd +下限) 為了使每次運(yùn)行產(chǎn)生的隨機(jī)序列不同,可以生成隨機(jī)數(shù)之前執(zhí)行Randomize語句。例:產(chǎn)生100以內(nèi)的隨機(jī)奇數(shù)RandomizeK=2*Int(50*Rnd()+1Sgn(x)

41、 :求x的符號,若x>0,則返回1 若x=0,則返回0 若x<0,則返回-1 2. 字符函數(shù)(1)Mid(x, n1, n2) :從字符串x的第n1個字符起向右取n2個字符例:Mid("programme", 3, 4) "ogra"*如果n1取值超出了字符串長度,則返回一個空字符串;如果n2取值超出了字符串長度或省略不寫,則返回字符串從起始位置到字符串尾部的所有字符。 替換:Mid(s,i,1)=Mid(s,j,1) 把右邊的替換給左邊的例:s=“abcdef” Mid(s,3,2)=Mid(s,4,2)è“abdeef”(2)L

42、eft(x, n) :從字符串x的左邊算起取n個字符例:Left("programme", 3) "pro" (3)Right(x, n) :從字符串x的右邊算起取n個字符 例:Right("programme", 3) "mme"(4)Len(x) :求字符串x的長度(即字符個數(shù),不區(qū)分中英文,一個漢字是一個字符,空格也算字符) 例:Len(“2008 北京奧運(yùn)”) 9*如果x不是字符型而是變量名,則返回存儲變量名x所需的字節(jié)數(shù)。例:Len(Integer)=2 ; Len(Single)=4(5)LenB(x)

43、 :求字符串x的字節(jié)數(shù) 例:LenB(“2008北京奧運(yùn)”) 16 (6)Trim(x) :去掉字符串左右兩邊的空格 例:Trim(" ab cd ") "ab cd" (7)LTrim(x) :去掉字符串左邊的空格 例:LTrim(" ab cd ") "ab cd " (8)RTrim(x) :去掉字符串右邊的空格 例:RTrim(" ab cd ") " ab cd" (9)UCase(x) :將字符串x中的小寫字符轉(zhuǎn)成大寫 例:UCase("Visual&q

44、uot;) "VISUAL" (10)LCase(x) :將字符串x中的大寫字符轉(zhuǎn)成小寫 例:LCase("ViSual") "visual" (11)Instr(n1,x1,x2) :從字符串x1的第n1個字符的位置起查找與字符串x2匹配的字符并返回其位置 例:InStr(3, “abcabcab”, “ab”) 4*如果省略n1則從字符串第一個字符開始查找。如果未找到,則返回0或空值。(12)String(n, x) :生成由n個字符x組成的字符串(不論x中有多少字符,只重復(fù)生成首字符) 例:String(3, "a&q

45、uot;) "aaa" (13)Space(n) :生成n個空格 例:Space(4) " " 3. 日期和時間函數(shù)Now :返回系統(tǒng)當(dāng)前的日期和時間 Now 2008-8-11 14:26:42 Year(x) :返回一個表示x中年份的整數(shù) Year(Now) 2008 Month(x) :返回一個表示x中月份的整數(shù) Month(Now) 3 Day(x) :返回1到31之間的整數(shù),表示一個月中的某一天 Day(Now) 11 Date :返回系統(tǒng)當(dāng)前日期 Date 2008-8-11 Time :返回系統(tǒng)當(dāng)前時間 Time 15:39:49 Week

46、day(x ,fd ) :返回某個日期是星期幾 Weekday(Now) Weekday(Now, vbMonday)4.轉(zhuǎn)換函數(shù)(1)Int(x):取小于等于x的最大整數(shù) Int(-4.5) ' 不大于-4.5的最大整數(shù)為-5,因此結(jié)果為-5 (2)Fix(x):截尾取整,舍去小數(shù)部分直接取整數(shù)Fix(-4.5) ' 舍去小數(shù)部分,結(jié)果為-4(3)Cint(x):對小數(shù)部分四舍五入后取整,當(dāng)小數(shù)部分為0.5時,向最接近的偶數(shù)取整(奇進(jìn)偶不進(jìn))。 例如:CInt(-3.5) ' 結(jié)果為-4 CInt(-4.5) ' 結(jié)果為-4 (4)Round(x,n)函數(shù):用

47、于按照指定的小數(shù)點(diǎn)位數(shù)進(jìn)行四舍五入運(yùn)算 Round(3.1459, 2) 小數(shù)點(diǎn)右邊保留兩位進(jìn)行四舍五入運(yùn)算,結(jié)果為3.15 *如果省略參數(shù)n,則該函數(shù)返回整數(shù)值。Round(4.5)=4(5)Val函數(shù):將字符串中的數(shù)字轉(zhuǎn)換成數(shù)值例如:Val(7.2xy)è7.2 (6)Str函數(shù)和Cstr函數(shù):都可以將參數(shù)x轉(zhuǎn)換為字符串其主要區(qū)別在于:在將非負(fù)數(shù)值型數(shù)據(jù)轉(zhuǎn)換為字符串時,Str函數(shù)會在數(shù)值前添加一個空格作為符號位,而CStr函數(shù)則不需要添加符號位。例如:Len(Str(3.4) =4Len(CStr(3.4) =3 (7)Asc函數(shù):用于獲取對應(yīng)字符的ASC碼的值(8)Chr函數(shù):

48、用于根據(jù)ASC碼的值來得到相應(yīng)的字符,Asc與Chr它們互為反函數(shù) (9)Hex函數(shù)和Oct:函數(shù)分別用于求指定數(shù)值的十六進(jìn)制數(shù)和八進(jìn)制數(shù)5.格式化函數(shù)Format:用于將數(shù)值、日期和時間數(shù)據(jù)按照指定的格式輸出 一般格式為:Format(表達(dá)式,格式字符串) 格式字符串是由一些說明數(shù)據(jù)格式的字符構(gòu)成的,主要包括:(1)#:數(shù)位控制符,如果小數(shù)部分位數(shù)大于符號#的個數(shù),則需要四舍五入,如果小于,則顯示原數(shù)值小數(shù)部分即可。(2)0:數(shù)位控制符,與符號#類似,區(qū)別在于,如果0的個數(shù)大于數(shù)值的位數(shù),則需要用0補(bǔ)足。(3). 、 , 、 % :分別顯示小數(shù)點(diǎn)、千位分隔符和百分號,其他符號+、-、$等都必

49、須按格式字符串的原樣顯示出來。例:假設(shè)單精度變量x=1234.5678,執(zhí)行下列語句:Print Format(x,#.#)Print Format(x,0000000.00)Print Format(x,#,000. #00)Print Format(x,-#00.0%)在當(dāng)前窗體上將顯示內(nèi)容如下:1234.570001234.571,234.568-123456.8%*Format函數(shù)僅用于控制數(shù)據(jù)的外部輸出格式,不會改變數(shù)據(jù)在計算機(jī)內(nèi)部的存儲形式五、代碼編寫規(guī)則1.語句及語法(1)賦值語句賦值語句的格式賦值語句中的“=”稱為賦值號,兼具計算和賦值雙重功能,執(zhí)行賦值語句時,先計算賦值號右邊

50、表達(dá)式的值,再將其賦值給賦值號左邊的變量。賦值號與數(shù)學(xué)上的等號是有區(qū)別的,賦值語句中a=b與b=a意義不同,賦值順序是將賦值號“=”右邊的值賦給左邊。若是想給多個變量賦相同的值,不可以用連等號來表示。若用連等號只有左邊第一個“=”被看做是賦值號,其余都看做是關(guān)系運(yùn)算符。賦值號左邊只能是變量,不能是常量或表達(dá)式。不同數(shù)據(jù)之間的賦值左右兩邊表達(dá)式精確度不同時,會強(qiáng)制轉(zhuǎn)換賦值號右邊表達(dá)式的數(shù)據(jù)類型與左邊變量的數(shù)據(jù)類型保持一致。將字符型賦值給數(shù)值型變量時,辨別轉(zhuǎn)換時是否會溢出,或者表達(dá)式的字符串中是否包括非數(shù)字的字符串或空串。將邏輯型表達(dá)式賦值給數(shù)值型變量時, False轉(zhuǎn)換為0,True轉(zhuǎn)換為-1;

51、將數(shù)值類表達(dá)式賦值為邏輯型變量時,0轉(zhuǎn)換為False,其余非0值轉(zhuǎn)換為True。(2)注釋語句以 Rem開頭,注釋整行;以注釋符“”引導(dǎo),注釋內(nèi)容從注釋符開始直到該行結(jié)束。*Rem不能用于語句中,而“”可以。(3)結(jié)束語句End2. 代碼書寫規(guī)則(1)VB中的續(xù)行符是“ _”(空格加下劃線) (2)多條語句顯示在一行中,各條語句間用冒號“:”隔開(3)可以使用Tab鍵實(shí)現(xiàn)代碼的縮進(jìn),每次縮進(jìn)一個制表單元。六、數(shù)據(jù)的輸入與輸出1. InputBox函數(shù):可以顯示一個帶提示的對話框等待用戶輸入內(nèi)容。單擊確定,返回輸入值(字符型數(shù)據(jù))。格式: 變量名 = InputBox ( 提示,標(biāo)題,默認(rèn)值,X

52、,Y)*若提示內(nèi)容中需要換行顯示:在換行處加chr(13)和chr(10)或“&vbCrLf&” 各項參數(shù)位置必須一一對應(yīng)2. MsgBox函數(shù)和MsgBox語句(1) MsgBox函數(shù):彈出一些特定的消息提示框。格式:變量 = MsgBox(提示內(nèi)容,按鈕,標(biāo)題)(2)MsgBox語句:格式:MsgBox 提示內(nèi)容 , 按鈕 , 標(biāo)題區(qū)別:MsgBox函數(shù)有返回值,MsgBox語句沒有,只是簡單地消息提示。MsgBox函數(shù)需將參數(shù)放在括號中,而MsgBox語句則不需要。3.Print方法Print方法的作用是在各類對象中輸出文本,這里的對象主要包括窗體、圖片框、立即窗口以及打

53、印機(jī)一般格式為: 對象名. Print 表達(dá)式表,|;*Tab函數(shù) 形式 : Tab(n) 作用 :將光標(biāo)移到由參數(shù)N指定的位置,從這個位置開始輸出信息。要輸出的內(nèi)容放在Tab函數(shù)的后面,用分號隔開。 * Spc函數(shù) 形式 : spc(n) 作用 :在Print的輸出中,用Spc函數(shù)可以跳過n個空格。第四章VB的基本控制結(jié)構(gòu)3種基本控制結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)(分支結(jié)構(gòu))和循環(huán)結(jié)構(gòu)。一、順序結(jié)構(gòu)二、選擇結(jié)構(gòu)1.If語句IfThen 結(jié)構(gòu)IfThenElse 結(jié)構(gòu)IfThenElseIf 結(jié)構(gòu)2.Select Case語句Select Case 測試表達(dá)式 Case 測試項1 A組語句Case 測試項2 B組語句 Case Else n組語句End Select測試表達(dá)式的值應(yīng)是數(shù)字或字符型,測試項的取值必須與測試表達(dá)式的值類型相同,常用形式為:具體取值,用逗號隔開,如:Case 1,5,9連續(xù)的范圍:界1 TO 界2,如:Case 12

溫馨提示

  • 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

提交評論