VB知識點(diǎn)概述及復(fù)習(xí)_第1頁
VB知識點(diǎn)概述及復(fù)習(xí)_第2頁
VB知識點(diǎn)概述及復(fù)習(xí)_第3頁
VB知識點(diǎn)概述及復(fù)習(xí)_第4頁
VB知識點(diǎn)概述及復(fù)習(xí)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第 一 章VisualBasic 概 述一.基本概念1. 對象:對象就是可控制的某種東西,它是對現(xiàn)實(shí)世界中對象的模型化,是代碼和數(shù)據(jù)的組合,同樣有 自己的狀態(tài)和行為。2. 屬性:對象中的數(shù)據(jù),它決定了對象的外觀。3. 方法:對象中的代碼(包括過程和函數(shù)),它決定了對象的行為。4. 事件:能被對象所識別的動作,它決定了對象與對象之間聯(lián)系的手段。5. 事件驅(qū)動:只有在事件發(fā)生時(shí)程序才會運(yùn)行。因此使用VB編程的妙處就在于,只有當(dāng)用戶要以某種特定的方式響應(yīng)某個事件時(shí),才需要編寫針對這個事件的事件過程。6. 工程:是應(yīng)用程序文件的集合,一個工程一般會包含下列文件,如表1-1所示。表1-1應(yīng)用程序文件類型

2、文件類型說明工程文件(.vbp)它是與該工程有關(guān)的全部文件和對象的清單,該文件是必選 項(xiàng)。窗體文件(.frm)它包含事件過程,以及該窗體及窗體上的各個控件對象的屬性 設(shè)置以及相關(guān)的說明,該文件是必選項(xiàng)。二進(jìn)制數(shù)據(jù)文件(.frx)當(dāng)窗體中含有二進(jìn)制屬性(如圖片或圖標(biāo))時(shí),該文件將自動產(chǎn) 生。標(biāo)準(zhǔn)模塊文件(.bas)它包含可以被任何窗體或?qū)ο笳{(diào)用的過程程序代碼,該文件是 可選項(xiàng)。類模塊文件(.cls)該文件是可選項(xiàng)。包含ActiveX 控件的文件(.ocx)該文件是可選項(xiàng)。第二章創(chuàng)建用戶界面一.基本概念1. 用戶界面:它是一個應(yīng)用程序中最重要的部分,是程序與用戶進(jìn)行交互的橋梁,標(biāo)準(zhǔn)的Windows

3、應(yīng)用程序界面都是由窗口、菜單條、各種按鈕、文本框、列表框等對象構(gòu)成。2. 窗體:它是設(shè)計(jì)VB應(yīng)用程序的一個基本平臺,是包容用戶界面或?qū)υ捒蛩璧母鞣N控件對象的容器。 在創(chuàng)建一個新的工程時(shí),默認(rèn)的第一個窗體即為啟動窗體。3. 控件:是與用戶進(jìn)行交互的可視化部件,向窗體上添加控件應(yīng)在窗體編輯器中進(jìn)行。4. 命令菜單:它是應(yīng)用程序窗口的基本組成元素之一,它由菜單條、菜單、菜單項(xiàng)、子菜單、彈岀式菜 單組成,可以通過 VB提供的菜單編輯器創(chuàng)建程序菜單。5. 設(shè)計(jì)用戶界面的步驟:(1) 確定窗體的大小和位置(2) 根據(jù)程序的功能和要求,添加所需的控件(3) 合理地分布控件的位置與大小(4) 設(shè)置各個對象的

4、屬性6. 窗體及常用控件的常用屬性、事件、方法熟悉各對象的常用屬性、方法和事件對于創(chuàng)建應(yīng)用程序有著舉足輕重的作用,下面表2-1給出了窗體及常用控件的常用屬性、事件、方法使用說明。表2-1窗體及常用控件的常用屬性、事件、方法一覽表對象名稱說明性屬用通Name設(shè)置對象在程序代碼中的引用名Caption設(shè)置對象的標(biāo)題欄中或圖標(biāo)下面的文本Font設(shè)置文本的字體、字型、字號等Left設(shè)置對象的左邊界距容器坐標(biāo)系縱軸的距離Top設(shè)置對象的上邊界距容器坐標(biāo)系橫軸的距離Height設(shè)置對象的高度Width設(shè)置對象的寬度Enabled設(shè)置對象是否被激活Visible設(shè)置對象是否可見BackColor設(shè)置對象的背

5、景色ForeColor設(shè)置對象的前景色I(xiàn)ndex設(shè)置控件在控件數(shù)組中的標(biāo)識號Tabindex設(shè)置窗體中的對象響應(yīng) Tab鍵的順序TabStop設(shè)置用戶是否可以使用 Tab鍵來選定對象Style設(shè)置控件的外觀表2-1 (續(xù))對象名稱說明BoderStyle設(shè)置窗體的邊框風(fēng)格屬 性Icon設(shè)置運(yùn)行時(shí)窗體最小化所顯示的圖標(biāo)Picture設(shè)置窗體上的背景圖像AutoRedraw設(shè)置從Graphics方法到一個持久性位圖的輸出Hide用于隱藏MDIForm 或Form對象,但不卸載Show用于顯示 MDIForm 或Form對象方Move用于改變對象的位置和大小法Print用于在Form和Picture

6、Box上顯示文本和圖形窗 體CLS清除在Form和PictureBox上的文本和圖形PrintForm用于將Form對象的圖形逐位發(fā)送給打印機(jī)(Form)Initialize當(dāng)應(yīng)用程序創(chuàng)建某對象時(shí)發(fā)生,可應(yīng)用該事件初始 化窗體所用的數(shù)據(jù),它在Load事件前發(fā)生Load當(dāng)一個窗體被加載時(shí)發(fā)生事 件Unload當(dāng)窗體卸載時(shí)發(fā)生Click當(dāng)在一個對象上單擊鼠標(biāo)左鍵時(shí)發(fā)生DblClick當(dāng)在一個對象上雙擊鼠標(biāo)左鍵時(shí)發(fā)生Resize當(dāng)一個對象首次顯示或窗口狀態(tài)改變時(shí)發(fā)生Activate當(dāng)一個窗體成為當(dāng)前窗體時(shí)發(fā)生Deactivate當(dāng)一個窗體不再是當(dāng)前窗體時(shí)發(fā)生Text設(shè)置控件中包含的文本(小于32KB

7、)文本框MaxLength設(shè)置控件中可以輸入字符的最大數(shù),0為任意個字符MultiLine決定用戶是否可以接受多行文本屬 性Alignment設(shè)置復(fù)選框或選項(xiàng)按鈕、或一個控件的文本的對齊ScrollBar決定對象是否有水平或垂直滾動條仃 extBox)PasswordChar決定是否在控件中顯示用戶鍵入的字符SelStart*設(shè)置所選擇文本的起始點(diǎn)SelLength*設(shè)置所選擇文本的字符數(shù)SelText*設(shè)置包含當(dāng)前所選擇文本的字符串方法Refresh強(qiáng)制全部重繪一個窗體或控件SetFocus將焦點(diǎn)移至指定的窗體或控件Change當(dāng)文本框的內(nèi)容改變或通過代碼改變Text屬性的設(shè)置時(shí)時(shí)發(fā)生事Lo

8、stFocus當(dāng)對象失去焦點(diǎn)時(shí)發(fā)生GotFocus當(dāng)對象獲得焦點(diǎn)時(shí)發(fā)生KeyPress當(dāng)一個對象具有焦點(diǎn),按下并松開一個鍵時(shí)發(fā)生表2-1(續(xù))稱名否 是 鈕 按 令 命 該 設(shè)命令按鈕性 屬否 是 鈕 按 令 命 該 設(shè)SW是 觀 外 的 鈕 按 令 命 置 設(shè)中 選 否 是tff t尋k C標(biāo) 簽性 屬是題前是e*的 面 平 是bel明 透 不 是 或 明 透 是 景 背 置 設(shè)e V o M件.一尋 尊、k c s選性W、邊 右 是 是LB 項(xiàng)按鈕ioi-t5中 選 被 否 是 設(shè)中件¥尹、k c s復(fù)選框性 屬中 選未1選未00選拆 否金 是0M 選姐 置變 設(shè) Zckl he

9、件3k c s框 邊 閉 封 個一為 作 可 空口列表框*屬性二XO.否 是 定 決按 是方法Additem向列表框添加項(xiàng)目Removeitem將列表框中所選中的列表項(xiàng)刪除Clear清空列表框中的所有項(xiàng)目事件Click、DblClick表2-1(續(xù))對象名稱說明組合框(ComboBo屬性Style決定組合列表框的外觀其余同ListBox方法同 ListBox)x事件當(dāng)Style為0或2時(shí)可響應(yīng) Click事件,當(dāng)Style為1時(shí)可響應(yīng) DblClick 事件,當(dāng)Style為0或1時(shí)可響應(yīng)Change事件圖 片 框(PictureBc屬性Picture設(shè)置圖片框的背景圖像AutoSize決定圖片

10、框是否能自動調(diào)整大小以顯示完整的圖片方法Print、Move、Refreshx)事件Click圖 像(image)屬性Picture設(shè)置圖像控件的背景圖像Stretch確定是否縮放圖形來適應(yīng)圖像控件大小方法Move、Refresh定時(shí)餉im屬性Enable設(shè)置該控件是否被激活interval設(shè)置調(diào)用Timer控件的Timer事件間隔的時(shí)間(單位為毫秒,最大為65535毫秒)事件TimerTimer控件可以有規(guī)律地隔一段時(shí)間執(zhí)行一次代碼(HscrollBa屬性Min設(shè)置滾動塊位于滾動條頂端或者最左側(cè)時(shí)所代表的值Max設(shè)置滾動塊位于滾動條底端或者最右側(cè)時(shí)所代表的值LargeChange設(shè)置當(dāng)用戶在

11、滾動條的空白處單擊時(shí)增減的值SmallChange設(shè)置當(dāng)用戶在滾動條兩端的箭頭按鈕上單擊時(shí)增減的值Value滾動條當(dāng)前的值r/事件MEaCiange在滾動塊移動后或通過代碼改變Value屬性的設(shè)置時(shí)發(fā)生。Scroll在滾動塊移動時(shí)發(fā)生注:加*號的屬性為運(yùn)行時(shí)屬性第三章 VB語言基礎(chǔ)一.基本概念1.過程與模塊應(yīng)用程序的組成過程工程文件(.vbp)1事件過程(Sub) 概念一個或若干個窗體模塊(.frm)文件用戶自定義過程(Sub)ZT為窗體以及窗體上的對象所編寫的用來響定義用戶過程統(tǒng)引發(fā)的各種事件的事件過程程序代碼一個或若干個標(biāo)準(zhǔn)模塊(.Bas)文件用戶自定義過程(Sub)用戶自定義函數(shù)過程(F

12、unctior)通用過程一個應(yīng)用程序中的不同窗體或者一個窗體內(nèi)不同的事件過程可以共享的程序 代碼模塊窗體模塊(.frm)窗體模塊中包含事件過程,以及該窗體及窗體上的各個控件對象的屬性設(shè)置 以及相關(guān)的說明;窗體模塊還可包含通用過程,它對來自任何事件過程的調(diào) 用都作出響應(yīng)標(biāo)準(zhǔn)模塊(.bas)標(biāo)準(zhǔn)模塊中保存的都是通用過程及相關(guān)的說明2.數(shù)據(jù)類型數(shù)據(jù)類型類型名稱類型說明符存儲空間(Byte)初始值數(shù) 值 型整型Integer%20長整型Long&4單精度Single4雙精度Double#8貨幣型Currency8字節(jié)型Byte1字符型變長字符串String$10+串長度空字符串定長字符串Str

13、ing*Size$串長度布爾型Boolean2False日期型Date80:00:00變體型Variant>=16空字符串對象型Object43. 常量示例類型數(shù)值常量字符常量邏輯常量"Visual Basic"、"中國 北京 2008奧運(yùn)會"(注:字符常量一定要放在西文雙引號內(nèi))日期常量符號常量自定義 顏色常量#12:35:48#、#7/12/2004#語句格式:Const常量名類型說明符As數(shù)據(jù)類型=表達(dá)式紅色vbRed青色vbCyan綠色vbGreen洋紅色vbMagenta藍(lán)色vbBlue黑色vbBlack黃色vbYellow白色vbWhi

14、teConst Pi!=Const Olympic As String ="中國 北京 2008 奧運(yùn)會True(真)、False(假)、非0值轉(zhuǎn)換為 True、0轉(zhuǎn)換為False4. 變量局部變量窗體/模塊變量全局變量聲明位置過程中通用聲明通用聲明聲明方式DimStatic(靜態(tài))DimPrivatePublic作用域僅在說明它的過程中使在定義該變量的模塊或窗體的在工程內(nèi)的所有過程中用所有過程內(nèi)均有效都有效5.運(yùn)算符與表達(dá)式(1)運(yùn)算符類型運(yùn)算符/優(yōu)先等級算術(shù)運(yùn)算符八(指數(shù))t -(取負(fù))t *和/ t (整除)t Mod (取余)t +和-連接運(yùn)算符+ (運(yùn)算符兩邊同為字符型)和

15、& (強(qiáng)制將兩個不同類型的表達(dá)式作字符串連接)關(guān)系運(yùn)算符>、V、>=、<=、<> (不等于)、Is (比較兩個對象的引用變量)邏輯運(yùn)算符Not (邏輯非)t And (邏輯與)t Or (邏輯或)t Xor (邏輯異或)表達(dá)式把常量和變量用運(yùn)算符、括號連接起來的式子就是表達(dá)式。在VB表達(dá)式中只能使用圓括號,且括號必須成對使用。(3)運(yùn)算規(guī)則優(yōu)先順序?yàn)椋豪ㄌ栕顑?yōu)先T算術(shù)運(yùn)算T連接運(yùn)算T關(guān)系運(yùn)算T邏輯運(yùn)算相同數(shù)據(jù)類型的數(shù)據(jù)進(jìn)行運(yùn)算,運(yùn)算結(jié)果也是同一類型不同數(shù)據(jù)類型的數(shù)據(jù)進(jìn)行運(yùn)算,運(yùn)算結(jié)果為兩個運(yùn)算對象中存儲長度較長的對象的類型例: Dim x As Integ

16、er, y As Integerx = 200: y = 200Print x * y執(zhí)行以上程序段,將岀現(xiàn)"溢岀"錯誤信息,若將其中y As Integer改為y As Single,則運(yùn)算結(jié)果為 40000。6.常用內(nèi)部函數(shù)VB中有兩類函數(shù):內(nèi)部函數(shù)和用戶自定義函數(shù),用戶自定義函數(shù)將在第八章中進(jìn)行介紹。內(nèi)部函數(shù)是由系統(tǒng)提供的,可在任何一個VB程序中隨時(shí)使用的的程序段。以下表3-1表3-6分別列岀了常用函數(shù)的格式與功能。注:使用時(shí)要注意每個函數(shù)的功能、參數(shù)個數(shù)及類型、以及函數(shù)返回值的類型。表3-1算術(shù)函數(shù)函數(shù)名功能示例表達(dá)式結(jié)果Sqr(x)求x的平方根值,x>0Sq

17、r(16)4Log(x)求x的自然對數(shù),x>0Log(2)Exp(x)求以e為底的冪值,即求exExp(2)Abs(x)求x的絕對值A(chǔ)bsHex(x)求x的十六進(jìn)制數(shù)值,結(jié)果為一字符串Hex(1000)3E8Oct(x)求x的八進(jìn)制數(shù)值,結(jié)果為一字符串Oct(1000)1750Sgn(x)求x的符號,x>0為1,x=0為0,x<0為-1Sgn(-10)Sgn(10)-11Rnd(x)產(chǎn)生一個在0,1區(qū)間均勻分布的隨機(jī)數(shù) 若產(chǎn)生mn之間的隨機(jī)整數(shù)其通式為:lnt(Rnd*(n-m)+1)+mlnt(Rnd*(99-10)+1)+10產(chǎn)生兩位 隨機(jī)整數(shù)Sin(x)求x的正弦值,x

18、單位為弧度Sin(30* 180)Cos(x)求x的余弦值,x單位為弧度Cos(30* 180)Tan(x)求x的正切值,x單位為弧度Tan(30* 180)Atn(x)求x的反正切值,x單位為弧度Atn(30* 180)表3-2字符串函數(shù)函數(shù)名功能示例表達(dá)式結(jié)果Len(St)求字符串St的長度(字符個數(shù))Len(St*)14Left(St,n)從字符串St左邊起取n個字符Left(st,4)"I am"Right(St,n)從字符串St右邊起取n個字符Right(St,7)"Student"Mid(St,n1,n2)從字符串St左邊第n1個位置開始向右

19、起取 n2個字符,若n2省略則取從n1到結(jié)尾的 所有字符Mid(St,3,2)Mid(St,6)"am""aStudent"Ucase(St)將字符串St中所有小寫字符改為大寫Ucase("New")"NEW"Lcase(St)將字符串St中所有大寫字符改為小寫Lcase("NAME")"name"Ltrim(St)去掉字符串St的前導(dǎo)空格Ltrim(" New")"New"Rtrim(St)去掉字符串St的尾隨空格Rtrim(&quo

20、t;New ")"New"Trim(St)去掉字符串St的前導(dǎo)和尾隨空格Trim(" New ")"New"Instr(n,St1,St2)從St1的第n個位置起查找給定的字符St2,返回該字符在 St1中最先出現(xiàn)的位 置,n的缺省值為1,若沒有找到St2,貝U 函數(shù)值為0Instr(4,St,"a")Instr(St,"R")60String(n, St)得到由n個給定字符St組成的一個字符串String(6, "#")"#"Space(n)得

21、到n個空格"A" & Space(3) & "B""AB"注:表中岀現(xiàn)的變量St="I am a Stude nt"表3-3 .轉(zhuǎn)換函數(shù)函數(shù)名功能示例表達(dá)式結(jié)果Str(x)將數(shù)值數(shù)據(jù)x轉(zhuǎn)換成字符串(含符號位)Str(1024)"1024"CStr(x)將x轉(zhuǎn)換成字符串型,若x為數(shù)值型,則轉(zhuǎn)為數(shù)字字符串(對于正數(shù)符號位不予保留)Str(1024)"1024"Val(x)將字符串x中的數(shù)字轉(zhuǎn)換成數(shù)值Val("1024B")1024Chr(x)返

22、回以x為ASCII代碼值的字符Chr(65)"A"Asc(x)給出字符x的ASCII代碼值(十進(jìn)制數(shù))Asc("A")65CInt(x)將數(shù)值型數(shù)據(jù)x的小數(shù)部分四舍五入取整CIntCInt17-17Fix(x)將數(shù)值型數(shù)據(jù)x的小數(shù)部分舍去Fix-16Int(x)取小于等于x的最大整數(shù)Int16Int-17表3-4日期函數(shù)函數(shù)名功能Date$返回系統(tǒng)當(dāng)前的日期Time$返回系統(tǒng)當(dāng)前的時(shí)間Now返回系統(tǒng)當(dāng)前的日期和時(shí)間Year(x)返回一個表示x的年號的整數(shù),x為一有效的日期變量、常量或字符表達(dá)式Month(x)返回一個表示x的月份的整數(shù),x為一有效的日期變

23、量、常量或字符表達(dá)式Day(x)返回1-31之間的整型數(shù),x為一有效的日期變量、常量或字符表達(dá)式Weekday(x,c)返回x是星期幾,x為一有效的日期變量、常量或字符表達(dá)式,c是用于指定星期幾為一個星期第一天的常數(shù),缺省時(shí)表示一周的星期天為第一天表3-5其它常用函數(shù)函數(shù)名格式和功能InputBox格式InputBox(prompt, title , default , xpos , ypos , helpfile, context)功能在一對話框中顯示提示,等待用戶輸入正文或按下按鈕,并返回包含文本 框內(nèi)容的字符串。MsgBox格式MsgBox(prompt, buttons , title

24、 , helpfile, context)功能在對話框中顯示消息,等待用戶單擊按鈕,并返回一個整數(shù)告訴用戶 單擊哪一個按鈕。Format格式Format(expression, format, firstdayofweek, firstweekofyear)功能返回Variant ( String),根據(jù)格式表達(dá)式中的指令來格式化的IsNumeric格式IsNumeric(expression)功能返回Boolean值,指出的運(yùn)算結(jié)果是否為數(shù)。如果為數(shù)字,則IsNumeric返回True;否則返回 False,若是,貝U IsNumeric 返回False。LoadPicture格式LoadP

25、icture(filename, size, colordepth,x,y)功能將圖形載入到窗體、PictureBox控件或Image控件的Picture屬性RGB格式RGB(red, green, blue)功能返回一個 整數(shù),用來表示一個 RGB顏色值7. 賦值語句:格式變量= 表達(dá)式說明其作用是當(dāng)系統(tǒng)執(zhí)行該語句時(shí),先將“=”右邊表達(dá)式的值計(jì)算岀來,然后將該值保存到“=”左邊的變量中示例常用的賦值語句形式如:計(jì)數(shù):x = x + 1,求和:Sum=Sum+x,求階乘:Fact+Fact*n等如果一個賦值語句左邊變量的類型與右邊表達(dá)式的類型不同,系統(tǒng)將視具體情況做出如下處理,表中 岀現(xiàn)的變量

26、為:x As In teger, y As Double, St As Stri ng, Flag As Boolea n右邊表達(dá)式類型左邊變量類型系統(tǒng)處理示例數(shù)值型數(shù)值型先求岀表達(dá)式的值,再將其轉(zhuǎn)換為相應(yīng)數(shù)值類型后賦值y= : x=y 結(jié)果:x=3字符型先求出表達(dá)式的值,再將其轉(zhuǎn)換為字符型后賦值x = 100: y = : St = x + y 結(jié)果:x = 100: y = : St = x & y 結(jié)果:邏輯型非 0 值=>True,0 =>Falsex = 100: Flag = y 結(jié)果:True字符型數(shù)值型由數(shù)字構(gòu)成的字符串可以轉(zhuǎn)換, 否則將岀現(xiàn)“類型不匹配”錯

27、誤信 息St = "12" + "34": x = St 結(jié)果:x=1234x = "12" + "34" 結(jié)果:x=46St = "12 + 34": x = St結(jié)果:出錯信息邏輯型"True"=>True,"False"=>False數(shù)字串=> 數(shù)值型=> 邏輯型 否則將岀現(xiàn)“類型不匹配”錯誤信 息丿匕、St = " False ": Flag = St 結(jié)果:FalseSt = "1234&qu

28、ot;: Flag = St 結(jié)果:TrueSt = "12 + 34": Flag = St 結(jié)果:出錯信息邏輯型其他類型False => 0, True => -1St = "123": Flag = Truex = Flag + St結(jié)果:x=122第四章 算法基礎(chǔ)及Visual Basic的基本語句一.基本概念1. 算法:是解決某個問題或者處理某件事情的方法和步驟。在程序設(shè)計(jì)中,算法專指用計(jì)算機(jī)解決某一 個問題的方法和步驟。2. 算法分類:數(shù)值計(jì)算算法和非數(shù)值計(jì)算算法。3. 評價(jià)算法的依據(jù):算法的正確性;運(yùn)行的效率;占用系統(tǒng)資源的多少

29、。4. 算法的特征:確定性,可行性,有窮性,輸入性,輸出性。5. 算法設(shè)計(jì):可以采用“逐步求精”來進(jìn)行算法設(shè)計(jì)并逐步將程序編寫完善。所謂“逐步求精”是對一 個復(fù)雜問題,不是一步就編成一個可執(zhí)行的程序,而是分步進(jìn)行。第一步編出的程序最為抽象;第二步編岀的程序是把第一步所編的程序(如過程、函數(shù)等)細(xì)化,較為抽象; 第i步編岀的程序比第i-1步抽象級要低;直到最后,第n步編岀的程序即為可執(zhí)行的程序。所謂“抽象程序”是指程序所描述的解決問題的處理規(guī)則,是由那些“做什么”操作組成,而不涉及 這些操作“怎樣做”以及解決問題的對象具有什么結(jié)構(gòu),不涉及構(gòu)造的每個局部細(xì)節(jié)。逐步求精方法有多種具體做法,例如流程圖

30、方法、基于過程或函數(shù)的方法。程序的最抽象的三大步驟:數(shù)據(jù)輸入;(2) 數(shù)據(jù)處理;(3) 數(shù)據(jù)輸岀;在針對具體的問題的時(shí)候,對這幾步進(jìn)行細(xì)化,根據(jù)問題選擇使用什么樣的控制結(jié)構(gòu)。當(dāng)然在具體的 問題中,有時(shí)候這三大步不能很清晰的區(qū)分清楚,可能會岀現(xiàn)交叉處理的現(xiàn)象,這時(shí)候就需要根據(jù)具體問 題來作具體的處理了。6. 基本算法結(jié)構(gòu)(1) 順序結(jié)構(gòu)系統(tǒng)在執(zhí)行程序時(shí),按順序處理每條語句。(2) 分支結(jié)構(gòu)If-Then-Esle-End If 結(jié)構(gòu)語句塊形式行形式 單分支結(jié)構(gòu)雙分支結(jié)構(gòu)塊形式行形式語句形式If e ThenA組語句End IfIf e Then 語句注意:Then后面有且僅有單行語句If e T

31、henA組語句ElseB組語句End IfIf e Then A 語句 Else B 語句注意:A語句和B語句都是單行語句流程圖多分支結(jié)構(gòu)If el ThenA1組語句Elself e2 ThenA2組語句Elself e3 ThenEnd If嵌套的分支結(jié)構(gòu)If el ThenA1組語句ElseIf e2 ThenA2組語句ElseEnd IfEnd IfSelect-Case-End Select 結(jié)構(gòu)語句Select Case eCase clA組語句Case c2B組語句Case ElseN組語句End Select(3)循環(huán)結(jié)構(gòu)A3組語句C組語句IFor-Next 循環(huán)語句形式執(zhí)行方

32、式流程圖For v=e1 To e2 Step e3Exit ForNext ve3>0循環(huán)變量遞增e3<0循環(huán)變量遞減e3=0死循環(huán)循環(huán)次數(shù)=lnt(e2-e1)/e3)+1注意:在循環(huán)體中,當(dāng)循環(huán)控制 變量的值被改變后,循環(huán)的次 數(shù)將不確定;e1、e2、e3在循環(huán)開始時(shí)進(jìn)行一 次性賦值。Do-Loop 循環(huán)當(dāng)型循環(huán)Do While eExit Do Loop先判斷,再執(zhí)行當(dāng)條件成立時(shí)執(zhí)行循環(huán)體直到型循環(huán)Do Until eExit Do LoopDoExit Do Loop While e先判斷,再執(zhí)行當(dāng)條件不成立時(shí)執(zhí)行循環(huán)體先執(zhí)行,再判斷當(dāng)條件成立時(shí)執(zhí)行循環(huán)體至少執(zhí)行一次循環(huán)

33、無條件循環(huán)DoExit Do Loop Until eDoIf e then Exit Do先執(zhí)行,再判斷當(dāng)條件不成立時(shí)執(zhí)行循環(huán)體至少執(zhí)行一次循環(huán)無條件執(zhí)行循環(huán)體,即死循環(huán)。 若在循環(huán)體中加入配合If語句使 用的Exit Do,就可以構(gòu)成有條件的循環(huán)結(jié)構(gòu)。Loop7. Exit語句程序執(zhí)行到Exit語句時(shí),就會直接退岀相關(guān)的結(jié)構(gòu),轉(zhuǎn)而去執(zhí)行該結(jié)構(gòu)后的下一條語句。常見的形式 是與If語句結(jié)合使用,格式為:If e then Exit <For|Do|Sub|Fu nctio n>語句格式相關(guān)結(jié)構(gòu)說明Exit DoDo-Loop循環(huán)結(jié)構(gòu)跳岀循環(huán)結(jié)構(gòu),轉(zhuǎn)而去Exit ForFor-Nex

34、t循環(huán)結(jié)構(gòu)執(zhí)行循環(huán)后面的其他語句Exit SubSub過程跳岀過程,轉(zhuǎn)而去執(zhí)行過Exit FunctionFunction 過程程調(diào)用語句之后的其他語句8. 循環(huán)嵌套如果在一個循環(huán)內(nèi)完整地包含另一個循環(huán)結(jié)構(gòu),則成為多重循環(huán)、或循環(huán)嵌套。嵌套的層數(shù)可以根據(jù) 需要而定,嵌套一層稱為二重循環(huán),嵌套兩層稱為三重循環(huán)。對于循環(huán)的嵌套,要注意以下事項(xiàng):(1) 內(nèi)循環(huán)控制變量與外循環(huán)控制變量不能同名;(2) 外循環(huán)必須完全包含內(nèi)循環(huán),不能交叉;(3) 不能從循環(huán)體外轉(zhuǎn)向循環(huán)體內(nèi),也不能從外循環(huán)轉(zhuǎn)向內(nèi)循環(huán),反之則可。第五章數(shù)組一.基本概念1. 數(shù)組:是一組具有相同類型的有序變量的集合。數(shù)組中的變量使用一片連續(xù)

35、的存儲單元,數(shù)組中所有 變量使用同一個名字標(biāo)識。數(shù)組分固定大小數(shù)組、動態(tài)數(shù)組和控件數(shù)組。組 數(shù)固定大小數(shù)組格- -V注意事項(xiàng)名 量變 是 義 O 須 中是處 櫛!1上 匕匕 勺 厶冃 只數(shù)維動態(tài)數(shù)組格- - 亠且 V p 名 誣購了間ss 科訕十疋空PPJ注意事項(xiàng)0 9 0 r界 &preT 的維 禮 新 的 呈 。組 維 玄型數(shù)字一 孔類態(tài)鍵后 財(cái)據(jù)動關(guān)最 卅數(shù)明 用變 匕匕的說使改 R只組量中能 P數(shù)變句只 叭、爰>語則 師改使在 , 、匕匕匕 一< 7e 一丁 厶冃 U 一 V 抑不可、,ser 個WW仙pr 是克克處聲 句冊冊我啟 語如如!1了J 纟。 一空牛咬且格

36、 式注意事項(xiàng)0 同擻 相酣 是范 程I 的 常推 同;事屬 相同的ee 堤需地nd 同控控控2. 數(shù)組函數(shù)及數(shù)組語句F表給出了數(shù)組相關(guān)函數(shù)和語句的說明:函數(shù)或語句功能與示例Option Base 0|1(1)Option Base 1,數(shù)組維下界值為 1無Option Base語句,數(shù)組維下界值為0LBound(數(shù)組名,維數(shù))返回?cái)?shù)組可用的最小下標(biāo)Dim A(6) As Integer , Dim B(3,-1 To 4) As Single 則:LBound(A)的值是 0, LBound(B,2)的值是-1UBound (數(shù)組名,維數(shù))返回?cái)?shù)組可用的最大下標(biāo)Dim A(6) As Inte

37、ger , B(3,-1 To 4) As Single則:UBound(A)的值是 6, UBound(B,1)的值是 3LBound(B,2)的值是 4Erase數(shù)組名1,數(shù)組名2,功能:重新初始化固定大小數(shù)組的元素,或者釋放動 態(tài)數(shù)組的存儲空間For Each Element In < 數(shù)組名 >語句組Exit For語句組Next Element功能:該語句按照數(shù)據(jù)的結(jié)構(gòu),依次對數(shù)組中的每一 個元素執(zhí)行一次循環(huán)體。數(shù)組有多少個元素就執(zhí)行幾 次循環(huán)體。3. 數(shù)組的基本操作:(1) 數(shù)組處理常用的控制語句數(shù)組類型控制語句的形式一維數(shù)組For i=數(shù)組的下界 To 數(shù)組的上界處理

38、數(shù)組中的第i個元素:數(shù)組名(i)Nexti表示數(shù)組元素的下標(biāo)二維數(shù)組For i=數(shù)組的一維下界 To 數(shù)組的一維上界For j=數(shù)組的二維下界 To 數(shù)組的二維上界 處理數(shù)組中的第i行第j列個元素:數(shù)組名(i,j)Next iNext j變量i代表數(shù)組元素行下標(biāo);變量 j代表數(shù)組元素列下標(biāo)(2) 數(shù)組元素的賦值根據(jù)程序的需要采用不同的賦值方式,以下是常用的賦值方式:方式示例直接賦值Dim A(3) As IntegerA(1)=28: A(2)=456 :A(3)=2337使用Rnd函數(shù)賦值Dim B(6,3) As Integer,i As IntegerFor i=1 To 6For j=

39、1 To 3B(i,j)=lnt(Rnd*90)+10Next jNext iInputBox函數(shù)賦值Dim C(4) As Integer,i As IntegerFor i=1 To 4C(i)=InputBox(請輸入第” & i &個元素的值”)Next i用Array函數(shù)賦值Dim X As Variant(只可以給Variant變量賦值)X=Array(7,5,3,2,1)Print X(1),X(4),X(5)(3)數(shù)組元素的輸出當(dāng)程序顯示信息時(shí),可以以不同的方式顯示,以下總結(jié)了常見的輸出方式和語句格式:對象格式說明窗體Print <m>輸岀信息m,然

40、后換行Print <m1> & <m2>信息m1和m2相連在同一行上,然后換行Print <m1> <m2>同上Print <m>輸出信息m,但不換行Print不輸岀信息,直接換行文本框Text1=<m>信息m替代文本框的原內(nèi)容Text1= Text1 & <m>Text1的原內(nèi)容后增加信息 mText1= Text1 &“& <m>Text1的原內(nèi)容后增加空格和信息mText1=Text & Chr(13) & Chr(10)使Text1換行,以后再

41、增加信息時(shí)會顯示到下一行去。(注意,必須設(shè)置文本框的MultLine=True)圖片框Print的使用格式同窗體列表框<m>增加信息m作為列表框的新一個條目<m1> & <m2>信息m1和m2合并成為列表框的新一個條目消息窗口MsgBox函數(shù)該函數(shù)的使用方式見表3-54.常用的數(shù)組基本算法:算法相關(guān)例題或習(xí)題數(shù)組元素求和(所有元素求和,部分元素求和 )教材本章習(xí)題3,5,6,9求數(shù)組中最小或最大元素及其下標(biāo)教材例5-1,教材本章習(xí)題7,9,實(shí)驗(yàn)5-4數(shù)組中各元素值相互交換教材本章習(xí)題1,9數(shù)據(jù)排序教材例5-3,實(shí)驗(yàn)5-3在數(shù)組中查找某個數(shù)x (順序查

42、找和二分法查找)教材例5-3,教材例5-4矩陣的加、減法及乘法和矩陣的轉(zhuǎn)置教材例5-6,教材本章習(xí)題10第六章程序調(diào)試一.基本概念1. VB的工作狀態(tài):VB有三種工作狀態(tài),VB集成環(huán)境窗口的標(biāo)題欄上會顯示當(dāng)前的工作狀態(tài)的。工作狀態(tài)說明切換狀態(tài)的方法設(shè)計(jì)態(tài)在設(shè)計(jì)態(tài)時(shí),可以設(shè)計(jì)程序的交互“運(yùn)行”菜單中“啟動”菜單項(xiàng)設(shè)計(jì)時(shí)界面和編寫相關(guān)的代碼標(biāo)準(zhǔn)工具欄中的按鈕運(yùn)行態(tài)程序正在運(yùn)行的時(shí)期,此狀態(tài)下可“運(yùn)行”菜單中“結(jié)束”菜單項(xiàng)運(yùn)行時(shí)查看代碼但不能改動程序代碼標(biāo)準(zhǔn)工具欄中的 按鈕程序在運(yùn)行的中途被暫停執(zhí)行的狀運(yùn)行時(shí)因發(fā)生運(yùn)行錯誤而暫停程序的執(zhí)行;運(yùn)行態(tài)下,按Ctrl+Break鍵或單擊“運(yùn)行” 菜單中“中

43、斷”菜單項(xiàng);程序執(zhí)行到斷點(diǎn)所在的代碼行;中斷態(tài)態(tài)。在中斷模式下,以修改程序代按逐語句或逐過程執(zhí)行時(shí),每執(zhí)行完一個語碼,檢查、調(diào)試、重置、單步執(zhí)行句或一個過程后;或繼續(xù)執(zhí)行程序。切換到設(shè)計(jì)態(tài):標(biāo)準(zhǔn)工具欄中的 按鈕切換到運(yùn)行態(tài):標(biāo)準(zhǔn)工具欄中的丄按鈕2. 錯誤類型:VB程序設(shè)計(jì)所產(chǎn)生的三類錯誤如下:錯誤類型說明常見的錯誤語法錯誤違反VB語言有關(guān)語句使用形式或使用規(guī) 則而產(chǎn)生的錯誤 關(guān)鍵字拼寫錯誤; 標(biāo)點(diǎn)符號錯; 語句不完整; 對象名稱或?qū)傩悦?、方法名、系統(tǒng)函數(shù)名拼寫錯誤; 在通用聲明處使用了 Option Explicit語句,相關(guān)變量未定以或變量名拼寫錯誤; 塊If沒有對應(yīng)的End If語句;Fo

44、r循環(huán) 沒有對應(yīng)的Next語句;Do循環(huán)沒有對應(yīng) 的Loop語句。運(yùn)行錯誤試圖執(zhí)行一個不可進(jìn)行的操作而引起的錯 誤邏輯錯誤編寫的程序代碼不能實(shí)現(xiàn)預(yù)定的處理功能要求而產(chǎn)生的錯誤3. 程序調(diào)試:程序調(diào)試的任務(wù)就是確定導(dǎo)致錯誤結(jié)果的原因,以及錯誤發(fā)生的地方。調(diào)試的技巧并不神秘,每次的 調(diào)試工作也無規(guī)可循。程序調(diào)試常用的手段就是在程序運(yùn)行中,對各段代碼運(yùn)行后的結(jié)果進(jìn)行檢查以確認(rèn)錯誤發(fā)生的位置, 因此,我們可以通過控制程序的運(yùn)行來逐步的觀察??刂瞥绦蜻\(yùn)行有以下幾種方式:方式說明操作方式逐語句運(yùn)行一次執(zhí)行一個語句,每執(zhí)行一個語 句就進(jìn)入中斷模式按F8鍵調(diào)試工具欄的按鈕逐過程運(yùn)行一次執(zhí)行一個語句。當(dāng)遇到過程

45、調(diào) 用語句時(shí),不對過程中的語句逐句 執(zhí)行,而是一次性將過程執(zhí)行完畢按 Shift+F8 鍵調(diào)試工具欄的人亙按鈕從過程中跳岀執(zhí)行當(dāng)前執(zhí)行語句所在過程中剩余 的未執(zhí)行的代碼段,程序的執(zhí)行點(diǎn) 轉(zhuǎn)到過程調(diào)用語句的下一行按 Ctrl+Shift+F8 鍵調(diào)試工具欄的七按鈕程序代碼中做了標(biāo)記的位置,程序在代碼行左端豎欄中單擊鼠標(biāo)按F8鍵“調(diào)試”菜單“切換斷點(diǎn)”菜單項(xiàng)設(shè)置斷點(diǎn)在執(zhí)行到斷點(diǎn)所在處將由運(yùn)行態(tài)轉(zhuǎn)調(diào)試工具欄的已按鈕換到中斷態(tài)。清除當(dāng)前程序中所有斷點(diǎn):按 Ctrl+Shift+F9 鍵“調(diào)試”菜單“清除所有斷點(diǎn)”菜單項(xiàng)4. 程序調(diào)試窗口:(1) 本地窗口用于自動顯示岀所有當(dāng)前過程中聲明的變量及其值。(

46、2) 監(jiān)視窗口用于查看指定表達(dá)式的值。(3) 立即窗口當(dāng)調(diào)試一個應(yīng)用程序時(shí),可以用“立即窗口”執(zhí)行單個的過程、對表示式求值或?yàn)樽兞炕驅(qū)傩再x 予新的值,并可以通過在“立即窗口”中顯示表達(dá)式的值來計(jì)算表達(dá)式。在“立即窗口”中顯示表達(dá)式的值的方法:使用Print語句。如果在程序執(zhí)行時(shí)希望把值顯示到“立即”窗口中,可以使用如下格式的Print語句:p1<s>p2<s> 或 p1<s>p2<s> 第七章文件操作語句形式功能一.基本概念1.文件管理控件常用的屬性與事件控件名稱說明驅(qū)動器列表框(DriveListBox)屬 性Drive返回用戶選取的驅(qū)動器或指

47、定岀現(xiàn)在列表框頂端的驅(qū)動 器,運(yùn)行時(shí)屬性。事 件Change用戶選擇一個驅(qū)動器或輸入一個合法的驅(qū)動器標(biāo)識符或在 程序中給Drive屬性賦新值。目錄列表框(DirListBox)屬 性Path用于設(shè)置和返回目錄列表框中的當(dāng)前目錄,運(yùn)行時(shí)屬性。事 件Change雙擊目錄列表框中的目錄項(xiàng)或在程序代碼中通過賦值語句 改變Path屬性值。文件列表框(FileListBox)屬 性Path用于設(shè)置和返回文件列表框中所顯示文件的路徑,運(yùn)行時(shí) 屬性。Pattern設(shè)置程序運(yùn)行時(shí)文件列表框中需要顯示的文件種類。FileName設(shè)置和返回文件列表框中將顯示的文件名稱。事 件PathChange改變文件列表框的Pa

48、th屬性值。PatternChange改變文件列表框的Pattern屬性值。2. 順序文件的基本操作打開文件經(jīng)已件文,若件-匚 0 向添失 于據(jù)丟 用數(shù)會號 件 文F個一于數(shù)用取寫操作- 表 列 出 輸 個。 一件 將文- - 表 列 出 輸入寫X/ 0 個雌 一數(shù) 將的讀操作- - 表 量 變 號 件 文# nr*o 讀變 中的 件中 文表 序量 順變 的給 開賦 打次 個依 一 據(jù) A-數(shù)名 量 變 <, 件 文# e n 口 讀*o 中變 件型 文體 序變 順或 的量 開變 打型 個符 一 字 從個號 件 文 n 叩 數(shù) 函括包符四 字徳 個» n 確 開車 打回 個、一

49、 格 。 從空值關(guān)閉-號 件 文#5-號 件 文#eS O 00 閉 關(guān)03. 文件中常用的函數(shù)函數(shù)名功能EOF將返回一個表示文件是否到達(dá)文件末尾的標(biāo)志,到文件尾其值為True,否則為False。LOF返回已用Open打開的某個文件的長度(字節(jié)數(shù))。Filelen返回某個文件的長度(字節(jié)數(shù))。FreeFile以整數(shù)形式返回 Open語句可以使用的下一個有效文件號(1511)。第八章過程一.基本概念1.過程的定義Sub過程窗體事件過程控件事件過程事Private Sub Form_事件名(參數(shù)列表)Private Sub控件名_事件名(參數(shù)列表)件過局部變量和常量聲明局部變量和常數(shù)聲明程語句塊語

50、句塊End SubEnd SubPrivate | PublicStatic Sub 過程名(參數(shù)列表)通局部變量和常量聲明用語句塊程Exit SubEnd SubFunction 過程Private | PublicStatic Function 函數(shù)名(參數(shù)列表)As 數(shù)據(jù)類型局部變量和常量聲明宀語句塊定函數(shù)名=表達(dá)式形Exit Function2. 過程的調(diào)用語句塊Sub過程Function 過程方法一Call 過程名 (實(shí)參表)變量名 = 函數(shù)名 (實(shí)參表)方法二過程名 實(shí)參1,實(shí)參2,函數(shù)名 (實(shí)參表)函數(shù)名=表達(dá)式End Function3.形參和實(shí)參形參實(shí)參概念定義Sub或Fun

51、ction時(shí),出現(xiàn)在形參表中的變量名、數(shù)組名在調(diào)用Sub或Function過程時(shí),傳送給相應(yīng)過程的變量名、數(shù)組名、常數(shù)或表達(dá)式格式ByValByRef 變量名() As 數(shù)據(jù)類型4. 參數(shù)的傳遞按值傳遞按地址傳遞特 占 八、形參前加關(guān)鍵字“ ByVai ”形參前加關(guān)鍵字“ ByRef”,或省略關(guān)鍵字過程調(diào)用時(shí),VB給按值傳遞參數(shù) 分配一個臨時(shí)存儲單元形參和實(shí)參共用內(nèi)存的同一“地址”按值傳遞參數(shù),傳遞的只是實(shí)參變量的副本若實(shí)參是變量、數(shù)組元素或數(shù)組,則形參和實(shí)參類型 必須一致,否則岀錯過程中改變形參值,只影響副本過程中改變形參值,將同時(shí)改變形參和實(shí)參中的值若實(shí)參為一個常量或者表達(dá)式,VB將按傳值方式處理若實(shí)參是與形參類型不一致的常數(shù)或表達(dá)式,VB會

溫馨提示

  • 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

提交評論