[VB程序設(shè)計(jì)][總結(jié)]

上傳人:優(yōu)*** 文檔編號:48836153 上傳時間:2022-01-15 格式:DOC 頁數(shù):21 大小:1.07MB
收藏 版權(quán)申訴 舉報(bào) 下載
[VB程序設(shè)計(jì)][總結(jié)]_第1頁
第1頁 / 共21頁
[VB程序設(shè)計(jì)][總結(jié)]_第2頁
第2頁 / 共21頁
[VB程序設(shè)計(jì)][總結(jié)]_第3頁
第3頁 / 共21頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《[VB程序設(shè)計(jì)][總結(jié)]》由會員分享,可在線閱讀,更多相關(guān)《[VB程序設(shè)計(jì)][總結(jié)](21頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、真誠為您提供優(yōu)質(zhì)參考資料,若有不當(dāng)之處,請指正。 第1章 Visual Basic程序設(shè)計(jì)概述 1.1 Visual basic 簡介 Visual Basic的特點(diǎn) 有基于對象的可視化設(shè)計(jì)工具;事件驅(qū)動的編程機(jī)制;提供應(yīng)用程序集成開發(fā)環(huán)境;支持結(jié)構(gòu)化程序設(shè)計(jì)語言;強(qiáng)大的網(wǎng)絡(luò)、數(shù)據(jù)庫、多媒體功能;完備的幫助功能 VB中字符以Unicode碼存放,每個漢字和英文是一個字符、占有兩個字節(jié),漢字的機(jī)內(nèi)碼最高位為1其碼值為小于0(以補(bǔ)碼表示),西文字符的最高位為0,其碼值為大于0 Ex:設(shè)計(jì)一個滾動文字的廣告程序, 一行文字在具有背景圖案的窗體上,下移動. 設(shè)計(jì)思路: 在窗體上使用標(biāo)簽

2、Label對象來存放文字;利用Timer控件來快速觸發(fā)移動;利用單擊按鈕來手動觸發(fā)移動;改變標(biāo)簽的左上角坐標(biāo)(left, top表示)就可移動標(biāo)簽 Label1.Top=Label1.Top+50: 使標(biāo)簽Label1向下移動50單位 Interval=200: 時鐘對象的Interval可指定時間間隔, 1秒為1000單位. 每隔0.2秒移動一次可設(shè)置I have a courseware 1.2 VB集成開發(fā)環(huán)境 三種工作模式 設(shè)計(jì)模式(界面設(shè)計(jì)和代碼編制);運(yùn)行模式(運(yùn)行程序);中斷模式(中斷運(yùn)行,調(diào)試程序) 工程的組成 窗體文件(控件和屬性設(shè)置,事件代碼);模塊

3、文件 窗體設(shè)計(jì)窗口 窗體是VB應(yīng)用程序的主要部分;一個應(yīng)用程序至少有一個窗體窗口;每個窗體必須有一個唯一的窗體名(默認(rèn)名為Form1);設(shè)計(jì)狀態(tài)的窗體由網(wǎng)格點(diǎn)構(gòu)成;網(wǎng)格點(diǎn)間距可以通過工具-選項(xiàng)-通用進(jìn)入窗體網(wǎng)格設(shè)置;運(yùn)行時可通過屬性控制窗體的可見性 代碼設(shè)計(jì)窗口 用來進(jìn)行代碼設(shè)計(jì)(各種事件過程、過程代碼的編寫修改);打開代碼設(shè)計(jì)窗口(雙擊窗體/控件資源管理器窗口-查看代碼) 屬性窗口 設(shè)置窗體或控件的屬性,如顏色、字體、大小等 工程管理器窗口 保存一個應(yīng)用程序所有屬性以及組成這個應(yīng)用程序所有的文件;工程文件的擴(kuò)展名為.VBP,工程文件名顯示在工程文件窗口的標(biāo)題框內(nèi) 工具箱

4、窗口 由21個被繪制成按鈕形式的圖標(biāo)構(gòu)成;其中20個控件稱為標(biāo)準(zhǔn)控件(指針不是控件) 也可通過工程-部件命令將第3方開發(fā)的其他控件裝入到工具箱 1.3 創(chuàng)建應(yīng)用程序的過程 創(chuàng)建應(yīng)用程序的過程 建立用戶界面的對象-對象屬性的設(shè)置-對象事件過程及編程-保存和運(yùn)行程序 第2章 VB可視化編程基礎(chǔ) 2.1 VB對象概念 對象:指現(xiàn)實(shí)世界中的實(shí)體 類:是對同一種對象的集合與抽象,類的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)對用戶來說是透明的 對象:類的一個實(shí)例 封裝和隱藏:將數(shù)據(jù)結(jié)構(gòu)和對數(shù)據(jù)的操作封裝在一起 VB工具箱中的可視圖標(biāo) 通過將VB系統(tǒng)設(shè)計(jì)好的標(biāo)準(zhǔn)控件類實(shí)例化,得到真正的控件對象(在窗體

5、上畫一個控件,類就轉(zhuǎn)換為對象,創(chuàng)建了一個控件對象) 對象的三要素:屬性、事件和方法構(gòu)成 屬性: 存放對象的數(shù)據(jù)(決定對象外觀及功能) 設(shè)計(jì)階段(利用屬性窗口直接設(shè)置屬性值)-程序運(yùn)行(語句對象名.屬性名=屬性值) (只能在設(shè)計(jì)階段設(shè)置,在運(yùn)行階段不可改變的屬性稱為只讀屬性) 事件:發(fā)生在對象上的事情(同一事件,對不同的對象,會引發(fā)不同的反應(yīng)) 格式:(代碼窗口自動產(chǎn)生事件過程的模板,不要修改模板內(nèi)容,只需鍵入過程代碼) Sub 對象名_事件(參數(shù)) … 事件過程代碼 End Sub 事件驅(qū)動程序設(shè)計(jì)方式:程序執(zhí)行的次序與程序設(shè)計(jì)者無關(guān),取決于用戶的操作 VB程

6、序的執(zhí)行步驟 啟動應(yīng)用程序,裝載和顯示窗體-窗體(或窗體上的控件)等待事件的發(fā)生-事件發(fā)生時執(zhí)行對應(yīng)的事件過程-再次等待 方法: 面向?qū)ο蟮某绦蛘Z言為設(shè)計(jì)人員提供的一種特殊的過程和函數(shù);調(diào)用時一定要指明對象 格式: [對象.]方法 [參數(shù)名表](省略對象表示當(dāng)前對象,一般指窗體) Ex:Text1.SetFocus:此語句使Text1控件獲得焦點(diǎn),光標(biāo)在本文框內(nèi)閃爍 2.2 窗體和基本控件 窗體和控件具有基本屬性 Name:名稱屬性-所創(chuàng)建的對象名稱 Caption:標(biāo)題屬性-對象上顯示的內(nèi)容 Height,Width,Top,Left:決定對象的高度、寬度,和位置

7、 Enabled:對象是否允許操作 Visible:對象是否可見 Font:文本的外觀屬性組 21 / 21 FontName:字體 FontSize:大小 FontBold:粗體 FontItalic:斜體 FontStrikethru:刪除線 FontUnderline:下劃線 ForeColor:前景顏色 BackColor:背景顏色 MousePointer: 鼠標(biāo)指針類型,設(shè)置值范圍0~15,由系統(tǒng)指定(若為99,由用戶提供的圖形文件定義鼠標(biāo)指針形狀) MouseIcon:MousePoint

8、er=99,存放自定義的鼠標(biāo)圖標(biāo)文件(ico或cur) 控件默認(rèn)屬性:程序運(yùn)行時,可以改變某控件的值,而不必指定它的哪個屬性 文本框 Text 單選按鈕 Value 命令按鈕 Default 標(biāo)簽 Caption 圖形、圖像框 Picture 復(fù)選框 Value 窗體 事件:Load事件(窗體被裝入觸發(fā)的事件,常為初始化);Click事件;DblClick事件 方法: [對象]方法[參數(shù)列表] Cls方法: 清除窗體或圖形框運(yùn)行產(chǎn)生的文本圖形,不能清除窗體在設(shè)計(jì)時的文本圖形 Move方法:可移動窗體或控件,并改變其大小

9、 格式:[對象.]Move 左邊距離[,上邊距離[,寬度[,高度]]] 標(biāo)簽:用來顯示文本信息(不能輸入) 文本框:文本編輯區(qū)域,可以在該區(qū)域輸入、編輯、修改和顯示正文內(nèi)容 屬性: Text:顯示或輸入正文內(nèi)容 Maxlength:可輸入的文字最大長度(默認(rèn)0表示任意長度,字母和漢字長都為1) MultiLine:設(shè)置True可輸入或顯示多行;自動換行,按Enter可插入空行 ScrollBars:滾動條屬性(當(dāng)MultiLine為True時,ScrollBars才有效) None:無滾動條 Horizontal:水平滾動條 Vertical:垂直滾動條

10、Both:同時加水平和垂直滾動條 PassWordChar:設(shè)置顯示文本的替代符(設(shè)置口令) (MultiLine為True時,該屬性不起作用,密碼不允許多行) Locked:指定是否可被編輯,默認(rèn)False表可編輯;值為True相當(dāng)于標(biāo)簽 SelStart:選定的正文開始位置 SelLength:選定的正文長度 SelText:選定的正文內(nèi)容 (設(shè)置SelStart、SelLength后,SelText 自動存放指定的文本) 事件: Changed事件:屬性值發(fā)生改變時引發(fā)該事件 KeyPress事件:按下并釋放鍵,引發(fā)的事件,鍵值存在參數(shù)KeyAscii Lo

11、stFocus事件:對象失去焦點(diǎn)發(fā)生的事件(數(shù)據(jù)驗(yàn)證確認(rèn);檢查Text屬性內(nèi)容) GotFocus事件:對象獲得焦點(diǎn)時發(fā)生 方法:最有用是SetFocus;形式: [對象.] SetFocus 命令按鈕:程序運(yùn)行時執(zhí)行相應(yīng)的事件 屬性: Caption:按鈕上顯示的文字 Style:按鈕樣式(0-不顯示圖形;1-可顯示圖形文字) Picture:在按鈕裝入圖形 ToolTipText:加以文字提示 事件:一般接收Click事件 第3章 VB語言基礎(chǔ) 3.1 數(shù)據(jù)類型 3.2 變量和常量 變量:在程序運(yùn)行中其存儲的值可以改變 規(guī)則: 必須以字母或

12、漢字開頭,由字母漢字?jǐn)?shù)字或下劃線組成,長度<=255個字符 不能使用VB中的關(guān)鍵字;不區(qū)分大小寫,一般變量名首字母大寫 聲明格式: Dim 變量名 [As 類型](As部分缺省則為變體類型 ) Ex:Dim m,n As Integer,x,y As Single 常量:用大寫字母表示 直接常量:其常數(shù)值直接反映了其類型 符號常量:用戶聲明,便于程序閱讀或修改 格式:Const 符號常量名 [As 類型] = 表達(dá)式 Ex:Const PI = 3.14159 系統(tǒng)常量:系統(tǒng)提供許多內(nèi)部常量 Ex:vbCrLf:回車/換行組合符 3.3 運(yùn)算符和表達(dá)式

13、 算術(shù)運(yùn)算符 (算術(shù)運(yùn)算符兩邊操作數(shù)應(yīng)是數(shù)值型,數(shù)字字符或邏輯型自動轉(zhuǎn)成數(shù)值類型) 字符串運(yùn)算符 &:兩旁的操作數(shù)可任意,轉(zhuǎn)換成字符型后再連接 +:兩旁的操作數(shù)應(yīng)均為字符型 都為數(shù)值型則進(jìn)行算術(shù)加運(yùn)算 一個為數(shù)字字符,另一個為數(shù)值,自動將數(shù)字字符轉(zhuǎn)換為數(shù)值后進(jìn)行算術(shù)加 一個為非數(shù)字字符,另一個為數(shù)值型,出錯 運(yùn)算符 例 結(jié)果 = " ABCDE " = " ABR " False > " ABCDE " > " ABR " False >= “ bc” >= “大小 " False < 23<3 False <= " 23 " <= " 3

14、 " True <> " abc" <> "abcde " True 邏輯運(yùn)算符 數(shù)據(jù)類型的轉(zhuǎn)換:Integer=字符運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算 內(nèi)部函數(shù): 數(shù)學(xué)函數(shù) Ex:產(chǎn)生a-b的之間的隨機(jī)整數(shù):Int(Rnd *(b-a)+a) 轉(zhuǎn)換函數(shù) 字符串函數(shù) 日期函數(shù) Ex:計(jì)算現(xiàn)在到2007年6月30日有多少天? DateDiff("d", Now, #6/30/2007#) Shell函數(shù):可調(diào)用各種應(yīng)用程序 格式:Shell(命令字符串[,窗口

15、類型]) 命令字符串:應(yīng)用程序名(包括路徑.com、.exe、.bat) 窗口類型:執(zhí)行應(yīng)用程序的窗口狀態(tài),0~4,6的整型數(shù)值,1表示正常窗口狀態(tài)。 函數(shù)調(diào)用成功返回一個任務(wù)標(biāo)識ID,不成功,則返回0。 3.4 程序結(jié)構(gòu)和編碼規(guī)則 編碼規(guī)則 代碼不區(qū)分字母的大小寫;關(guān)鍵字首字母自動變大寫,其余變小寫;自定義變量以后輸入自動變?yōu)槭状味x形式 語句書寫自由,一行上可寫多句語句(冒號分隔),一行最多255個字符;單行語句可分若干行書寫,在行末加入續(xù)行符(空格和下劃線) 第4章 VB控制結(jié)構(gòu) 4.1 順序結(jié)構(gòu) 賦值語句:變量名=表達(dá)式(左邊只能是變量,不能是常量、

16、常數(shù)符號、表達(dá)式) 數(shù)據(jù)輸出和輸入: InputBox函數(shù):打開個對話框,等待用戶輸入,返回字符串類型的輸入值 形式:InputBox(提示[,標(biāo)題][,默認(rèn)值][,x坐標(biāo)位置][,y坐標(biāo)位置]) (提示項(xiàng)不能省略;多行提示可在每行行末加回車換行vbCrLf) MsgBox函數(shù): 打開信息框,等待用戶選擇一個按按鈕;函數(shù)返回所選按鈕的值,過程不返回值 MsgBox函數(shù)形式:變量[%] = MsgBox(提示[,按鈕][,標(biāo)題]) MsgBox過程形式:MsgBox 提示[,按鈕][,標(biāo)題] 按鈕是整型表達(dá)式,決定信息框按鈕數(shù)目和類型及出現(xiàn)信息框上的圖標(biāo)形式 MsgB

17、ox按鈕設(shè)置 MsgBox按鈕返回值 內(nèi)部常數(shù) 返回值 被單擊的按鈕 vbOk 1 確定 vbCancel 2 取消 vbAbort 3 終止 vbRetry 4 重試 vbIgnore 5 忽略 vbYes 6 是 vbNo 7 否 Ex: Private Sub Form_Load() Text1.Text = "" Text1.MaxLength = 6 Text2.Text = "" Text2.MaxLength = 4 Text2.PasswordChar = "*“ End Sub

18、 Private Sub Text1_LostFocus() If Not IsNumeric(Text1.Text) Then MsgBox “帳號必須為數(shù)字”, , “警告" Text1.Text = "" Text1.SetFocus End If End Sub Private Sub Command1_Click() Dim i As Integer If Text2.Text <> "Gong" Then i = MsgBox(“密碼錯誤”, 5 + vb

19、Exclamation, “警告") If i <> 4 Then End Else Text2.Text = "" Text2.SetFocus End If Else MsgBox “密碼校驗(yàn)成功!" End If End Sub Print函數(shù): 形式:對象.Print[Spc(n)|Tab(n)][輸出列表 ][;|,] 對象:窗體、圖形框或打印機(jī),默認(rèn)為窗體; Spc(n)函數(shù):從當(dāng)前位置起空n個空格

20、Tab(n)函數(shù):從最左端開始計(jì)算的第n列 分號:定位在上一個被顯示的字符之后 逗號:定位在下一個打印區(qū)開始處(每區(qū)14列) Format格式輸出函數(shù):形式: Format (表達(dá)式[, "格式字符串"]) 4.2 選擇結(jié)構(gòu) If條件語句 形式: If <表達(dá)式> Then 語句塊 ElseIf <表達(dá)式2> Then 語句快2 Else 語句塊3 End If 或 If <表達(dá)式> Then <語句> Else<語句塊2> Ex:已知變量ch中存放了一個字符,判斷該字符是字母字符、

21、數(shù)字字符還是其他字符 If UCase(ch) >= "A" And UCase(ch) <= "Z" Then MsgBox(ch + "是字母字符") 考慮大小寫字母 ElseIf ch >= " 0" And ch <= "9" Then 數(shù)字字符 MsgBox(ch + "是數(shù)字字符") Else 除上述字符以外的字符 MsgBox(ch + "是其他字符") End If If語句的嵌套 格式: If 表達(dá)式1 Then If 表達(dá)式2 Then … End If … End If Select C

22、ase語句 格式: Select Case 變量或表達(dá)式 Case 表達(dá)式列表1 語句塊1 Case 表達(dá)式列表2 語句塊2 … [Case Else 語句塊n+1] End Select (表達(dá)式: "A";枚舉值2,4,6,8;60 To 100;Is<60 Select Case后不能出現(xiàn)多個變量;Case后不能出現(xiàn)變量及有關(guān)運(yùn)算符) Ex:已知變量ch中存放了一個字符,判斷該字符是字母字符、數(shù)字字符還是其他字符 Select Case ch Cas

23、e "a" To "z","A" To "Z" MsgBox( ch + "是字母字符") Case "0" To "9" MsgBox (ch +"是數(shù)字字符") Case Else MsgBox( ch + "是其他字符") End Select 條件函數(shù) IIf函數(shù):If … Then …Else 結(jié)構(gòu)的簡潔表示 格式:IIf(表達(dá)式,為真時的值,為假時的值) Choose函數(shù):根據(jù)i值,返回選項(xiàng)列表中第i個選項(xiàng)(i值越出選項(xiàng)范圍返回Null) 格式:Choose(整數(shù)表達(dá)式,選項(xiàng)列表) Ex:根據(jù)Nop的值,得

24、到+、-、、中的某運(yùn)算符 Dim nop As Integer, op As Char Randomize() nop = Int(Rnd() * 4 + 1) op = Choose(nop, "+", "-", "", "") MsgBox("nop=" & nop & " op=" & op) Ex:根據(jù)當(dāng)前日期,顯示今日是星期幾 t = Choose(Weekday(Now),“日”,“一”,“二”,“三”,“四”,“五”,“六”) MsgBox("今天是:" & Now & t) 4.3 循環(huán)結(jié)構(gòu) 兩種類型的循環(huán)語句:計(jì)數(shù)循環(huán)語句,條件型循

25、環(huán)語句 For循環(huán)語句:控制循環(huán)次數(shù)預(yù)知的循環(huán)結(jié)構(gòu) 格式: For 循環(huán)變量 =初值 To 終值 [Step 步長] 語句塊 [Exit For] 語句塊 Next 循環(huán)變量 (循環(huán)變量必為數(shù)值;循環(huán)次數(shù); 步長:>0時初值<終值;=1可省略;<0時初值>終值;=0時死循環(huán)) Ex:計(jì)算1~100的奇數(shù)和 Dim i%, sum% For i = 1 To 100 Step 2 sum = sum + i Next i MsgBox(sum) Do-Loop循環(huán)語句:Do循環(huán)用于控制循環(huán)次數(shù)未知的循環(huán)結(jié)構(gòu) 形式1:

26、 Do { While|Until }<條件> 語句塊 [Exit Do 語句塊] Loop 形式2: Do 語句塊 [Exit Do 語句塊] Loop { While|Until} <條件> 4.4 其它輔助控制語句 Go To 語句: 無條件地轉(zhuǎn)移到標(biāo)號或行號指定的那行語句 格式:Go To {標(biāo)號|行號} Exit語句 用于退出某種控制結(jié)構(gòu)的執(zhí)行 格式:Exit For、Exit Do、Exit Sub、Exit Function End語

27、句:獨(dú)立的End語句用于結(jié)束一個程序的運(yùn)行,它可以放在任何事件過程中 4.5 綜合應(yīng)用 Ex:用輾轉(zhuǎn)相除法求兩自然數(shù)的最大公約數(shù)。 求最大公約數(shù)的算法思想: (1)對于兩數(shù)m,n,使得m>n (2) m除以n得余數(shù)r (3)若r=0,則n為最大公約數(shù),結(jié)束;否則執(zhí)行(4) (4)m=n,n=r,再重復(fù)執(zhí)行(2) 4.6 程序調(diào)試 錯誤類型:語法錯誤、運(yùn)行時錯誤和邏輯錯誤 調(diào)試和排錯 F9設(shè)置跟蹤-F8跟蹤-鼠標(biāo)指向變量 第5章 數(shù)組和自定義類型 5.1 數(shù)組的概念 Ex:求100個學(xué)生的平均成績,并統(tǒng)計(jì)高于平均分的人數(shù)。用簡單變量和循環(huán),求平均成

28、績 Dim mark(99) As Integer 聲明數(shù)組mark Dim aver!, overn%, i% aver = 0 For i = 0 To 99 輸入成績,求分?jǐn)?shù)和 mark(i) = InputBox("輸入學(xué)生的成績") aver = aver + mark(i) Next i aver = aver / 100 求100人的平均分 overn = 0 For i = 0 To 99 統(tǒng)計(jì)高于平均分的人數(shù) If mark(i) > aver Then overn = over

29、n + 1 Next i MsgBox ("平均分:" & aver & "高于平均分人數(shù):" & overn) 數(shù)組: 相同類型變量的集合,數(shù)組必須先后使用,聲明后在內(nèi)存可分配一塊連續(xù)區(qū)域 格式: Dim 數(shù)組名(下標(biāo)上界1,下標(biāo)上界2…) [As 類型] (數(shù)組每維大小為下標(biāo)上界+1) Ex:Dim mark(2,2) As long (3*3數(shù)組) 動態(tài)數(shù)組 建立動態(tài)數(shù)組要分兩步: 用Dim 語句聲明數(shù)組,但不能指定數(shù)組大小 Dim 數(shù)組名( ) As 數(shù)據(jù)類型 用ReDim語句動態(tài)地分配元素個數(shù) ReDim 數(shù)組名 (下標(biāo)[

30、,下標(biāo)2…]) Ex:Dim s ( ) As Single Sub Form_Load( ) ReDim s(4,8) End Sub (Dim 是說明語句, ReDim 是執(zhí)行語句; 過程中可多次用ReDim語句來改變數(shù)組的大小,但不能改變維數(shù)和類型 在ReDim 后加Preserve參數(shù)用來保留數(shù)組中的數(shù)據(jù),使用后只能改變最后一維的大小) 數(shù)組的輸入 通過TextBox控件或InputBox函數(shù)輸入 Ex:Dim s(3,4) AS Integer For i = 0 To 3 For j = 0 To 4 s(I,j)

31、= InputBox("輸入" & i &“," & j & "元素") Next j Next i 數(shù)組排序方法:選擇法、冒泡法、插入法、合并排序 5.3 列表框和組合框 列表框:可顯示多個選項(xiàng)供用戶選擇,不能直接修改其中的內(nèi)容 組合框:組合了文本框和列表框的特性而形成的一種控件。 列表框和組合框重要屬性 List:是一個集合 ListIndex:選項(xiàng)的序號(從0開始) ListCount:項(xiàng)目數(shù)量 Sorted:排序 Text:被選定的文本內(nèi)容 Ex:List1.ListIndex = 2 List1.ListCount = 6 List1

32、.Sorted = False List1.Text 為 "C/C++程序設(shè)計(jì) " (List1.List(List1.ListIndex)等于List1.Text) 常用方法 AddItem:把一個項(xiàng)目加入列表 形式:對象.AddItem 項(xiàng)目字符串 [,索引值] (索引值:決定新增項(xiàng)在列表中的位置,如果省略,則新增項(xiàng)目添加在最后) RemoveItem:刪除列表中指定項(xiàng)目 形式:對象.RemoveItem 索引值 Clear:清除列表中所有項(xiàng)目 Ex:List1.Clear 重要事件 列表框:Click、DblClick 組合框:Click 5.4

33、自定義類型及數(shù)組 Type語句: 不同類型數(shù)據(jù)的集合 形式: Type 自定義類型名 元素名1 As 數(shù)據(jù)類型名 … 元素名n As 數(shù)據(jù)類型名 End Type (自定義類型一般在標(biāo)準(zhǔn)模塊文件定義,默認(rèn)Public;在窗體模塊定義,須加Private) 自定義類型的聲明 形式:Dim 變量名 As 自定義類型名 Ex:Dim S1 As StudType,S2 As StudType 自定義類型變量成員的引用 引用自定義類型變量中的某個成員,形式如下: 自定義類型變量名.成員名 例如, S1.Name S1變

34、量中的姓名 S1.Sex 性別 可利用With語句簡化成員引用: With 結(jié)構(gòu)變量對象名 語句塊 End With 5.5 綜合應(yīng)用-分類統(tǒng)計(jì) 數(shù)據(jù)輸入 Ex:輸入一系列數(shù)據(jù)將它們按分隔符分離存在數(shù)組中。 對輸入的數(shù)據(jù)允許修改和自動識別非數(shù)字?jǐn)?shù)據(jù)。 利用文本框輸入和編輯數(shù)據(jù);利用Replace函數(shù)去除重復(fù)輸入的分隔符。 利用Split函數(shù)將輸入的內(nèi)容分離到數(shù)組中。 第6章 過程 6.1 函數(shù)過程的定義與調(diào)用 函數(shù)過程的定義:函數(shù)過程名+%表示返回空值 形式: [Public |Private] Function函

35、數(shù)過程(形參)[As 類型] 變量聲明 語句塊 Return 表達(dá)式 或 函數(shù)名=表達(dá)式 End Function Ex:編一求最大公約數(shù)的函數(shù)過程 Function gcd( m%, n%) As Integer If m < n Then t = m: m = n: n = t Do while n<>0 r = m Mod n : m = n: n = r Loop gcd = m End Function Ex:已知多邊

36、形各條邊的長度,計(jì)算多邊形的面積。 Function area(x!, y!, z!) As Single Dim c! c = 1 / 2 * (x + y + z) area = Sqrt(c * (c - x) * (c - y) * (c - z)) End Function Sub command1_click() … 輸入若干個三角形邊長 S=area(a,b,c)+area(c,d,e)+area(e,f,g) msgbox(“面積=” & S) End Sub 6.2 子過程的定義與調(diào)用 子過程特點(diǎn) 不是為了獲得某個函數(shù)

37、值,而是為了某種功能的處理 要獲得多個結(jié)果 子過程沒有數(shù)據(jù)類型和值 子過程的定義 形式:Sub 子過程名[(參數(shù)列表)] 局部變量或常數(shù)定義 語句 [Exit Sub] 語句 End Sub 子過程調(diào)用 Call 子過程名[(實(shí)參列表)] 子過程名 ([實(shí)參列表]) 形參:形參名+% 形參沒有具體的值,只代表了參數(shù)的個數(shù)、位置、類型 只能是簡單變量、數(shù)組名,不能是常量、數(shù)組元素、表達(dá)式 實(shí)參 實(shí)參只能是變量(與形參同類型的簡單變量、數(shù)組名、結(jié)構(gòu)類型) 6.3 參數(shù)傳遞 形參傳遞:只

38、要關(guān)心形參的個數(shù)、類型、位置;按位傳遞 傳址與傳值:實(shí)參與形參的結(jié)合 傳址ByRef:將實(shí)參的地址傳遞給形參。對形參的操作=對相應(yīng)實(shí)參的操作 傳值ByVal:將實(shí)參的值復(fù)制給形參,實(shí)參與形參斷開了聯(lián)系 (形參是數(shù)組都是地址傳遞) Ex:如下sum子過程求數(shù)組a各元素和、并改變數(shù)組各元素值: Function sum%(ByVal x() As Integer) Dim i% sum = 0 For i = 0 To UBound(x) sum += x(i):x(i) = 2 * x(i) Next i End Function 數(shù)組參數(shù)的傳遞 形參是數(shù)組

39、: 要以數(shù)組名加圓括號表示,不要給出維數(shù)上界 多維數(shù)組,每維以逗號分隔,在過程中通過Ubound函數(shù)確定每維的上界 實(shí)參是數(shù)組: 要給出數(shù)組名(不需要圓括號) (數(shù)組作為參數(shù)傳遞是將實(shí)參數(shù)組的起始地址傳給過程,使形參數(shù)組也具有與實(shí)參數(shù)組相同的起始地址) 變量的作用域 塊變量:在控制結(jié)構(gòu)塊中聲明的變量,只能在本塊內(nèi)有效(變量名%) 過程級變量:在一個過程內(nèi)用Dim或Static語句聲明的變量,只能在本過程中使用 模塊級變量:模塊內(nèi),任何過程外用Dim、Private語句聲明的變量,在本模塊有效 全局變量:在模塊級用Public語句聲明的變量,可被應(yīng)用程序的任何過程或函數(shù)訪

40、問 靜態(tài)變量:程序運(yùn)行過程中可保留變量的值 形式:Static 變量名 [AS 類型] (用Dim聲明的變量,每次調(diào)用過程時重新初始化) 6.4 遞 歸 遞歸:在自身定義的內(nèi)部調(diào)用自己 Ex:編fac(n)=n! 的遞歸函數(shù) Function fac(n As Integer) As Integer If n = 1 Then fac = 1 Else fac = n * fac(n - 1) End If End Function 第7章 用戶界面設(shè)計(jì) 7.1 常用控件 單選按鈕(OptionBu

41、tton) 單選按鈕以組的形式出現(xiàn),允許選擇一項(xiàng) 重要屬性 Caption屬性:按鈕上顯示的文本 Value屬性:表示單選按鈕的狀態(tài):True-被選定;False-未被選定 重要事件 Click事件 單擊后使Value屬性為True 復(fù)選框(CheckBox) Value屬性-復(fù)選框的狀態(tài): 0-vbUnchecked未選定;1-vbChecked被選定;2-vbGrayed灰色,并顯示一個選中標(biāo)記 重要事件 Click事件 框架 (Frame) 具有容器功能:先建立框架,然后將各控件放置其中 Caption屬性:框架上的標(biāo)題文本 (框架可以響應(yīng)Click

42、和DoubleClick事件,但一般不需要編寫事件過程) 滾動條(ScrollBar):通常附在窗體上協(xié)助觀察數(shù)據(jù)或確定位置,也可作為數(shù)據(jù)輸入工具 滾動條有水平和垂直兩種 滾動條屬性 Value:滑塊當(dāng)前位置的值(缺省為0) Min:滑塊最小位置值(缺省為0) Max:滑塊最大位置值 SmallChange:單擊滾動條兩端的箭頭時,Value屬性(滑塊位置)改變值 LargeChange:單擊滾動條的空白區(qū)域時,Value屬性改變值 滾動條事件 Scroll:當(dāng)拖動滑塊時觸發(fā) Changed:改變Value屬性時觸發(fā) 進(jìn)度條(ProgressBar):

43、用來指示事務(wù)處理的進(jìn)度。 ProgressBar控件 Max和Min 設(shè)置控件的界限,Value 控件執(zhí)行階段被填充的數(shù)目,直到等于Max屬性值 控件顯示的填充數(shù)是Value屬性與Max和Min屬性之間的比值 Ex:下載文件,可將Max設(shè)置為文件長度 下載文件,將Value屬性設(shè)置為文件已經(jīng)下載的字節(jié)數(shù) 圖形框PictureBox控件 顯示圖片,也可作為其他控件的容器 在程序運(yùn)行時裝入圖形:圖形框.Picture = LoadPicture("圖形文件名") 刪除圖形框中圖形:LoadPicture() Autosize屬性 True 圖形框自動

44、調(diào)整大小與圖片匹配 False 圖形超過圖形框的部分將被剪裁掉 圖像框Image 特點(diǎn):圖像框占用更少的內(nèi)存,描繪得更快;圖像框內(nèi)不能存放其他控件 Stretch屬性 False 圖像框自動改變大小適應(yīng)其中的圖形 True 圖形根據(jù)圖像框的大小自動調(diào)整尺寸 定時器:以一定的時間間隔產(chǎn)生Timer事件 屬性: Enabled:為False時定時器不產(chǎn)生Tick事件 Interval:觸發(fā)Timer事件的時間間隔(ms) 事件:定時器控件只有一個Timer事件(條件Enabled=True; Interval>0) 7.2 通用對話框 通用

45、對話框:在窗體上創(chuàng)建打開文件、保存文件、顏色、字體、打印等對話框 (通用對話框是輸入輸出的界面,不能真正實(shí)現(xiàn)操作) 通用對話框的基本屬性和方法 Action屬性和Show方法:(該屬性只能在程序中賦值) DialogTiltle屬性:設(shè)置通用對話框標(biāo)題 CancelError屬性 True:選擇取消按鈕,Err.Number設(shè)置為32755(cdCancel) False:選擇取消按鈕,沒有錯誤警告 打開文件對話框:ShowOpen 重要屬性 : FileName:文件名稱,包含路徑 FileTitle:文件名,不包含路徑

46、Filter:確定所顯示文件的類型 Ex:Text Files|*.txt|所有文件|*.*顯示文本文件和所有文件 FilterIndex:文件列表中指定某類型文件 InitDir:初始化路徑 保存文件對話框:ShowSave 與Showopen的屬性基本相同 特有屬性:DefaultExt屬性-用于設(shè)置缺省的擴(kuò)展名 Ex:Sub Command2_Click () CommonDialog1.ShowSave Open CommonDialog1.filename For Output As #1 Print #1, Text1.Text

47、 保存文件 Close #1 關(guān)閉文件 End Sub 顏色對話框:ShowColor 重要屬性Color:返回或設(shè)置選定的顏色 Ex:設(shè)置按鈕顏色 Sub Command3_Click () CommonDialog1.ShowColor Text1.ForeColor = CommonDialog1.Color End Sub 字體對話框:ShowFont Font:獲取選擇的字體 Color:選定的顏色 (必須先設(shè)置Flags屬性,否則將發(fā)生不存在字體錯誤,通常設(shè)置為H103)

48、7.3 菜單設(shè)計(jì) 菜單編輯器 分隔線: 在標(biāo)題欄輸入一個連字符“-” 標(biāo)題熱鍵:前面加&(“新建(&N)”) 菜單項(xiàng)重要屬性: Name、Visible、Enabled等 Text:菜單項(xiàng)上顯示的標(biāo)題文本 ShortCut:設(shè)置菜單項(xiàng)的快捷鍵。 Checked:控制菜單項(xiàng)左邊是否顯示“√” 菜單項(xiàng)的事件:Click-為菜單項(xiàng)編寫程序 彈出菜單:獨(dú)立于窗體菜單欄而顯示在窗體內(nèi)的浮動菜單 菜單彈出的方法: [對象.]PopupMenu 菜單名[, 標(biāo)志, x, y] 標(biāo)志:表示彈出的位置和觸發(fā)的鍵 Ex:Sub Text1_MouseDown(…)

49、 If Button = 2 Then PopupMenu EditMenu End Sub 7.4 多重窗體 多重窗體:一個應(yīng)用程序中有多個并列的普通窗體,每個窗體有自己的界面,代碼和功能 添加窗體 工程|添加窗體命令:每個窗體有獨(dú)立的Frm文件,同一工程不能有相同名稱的窗體 設(shè)置啟動對象 工程|屬性指定啟動對象(缺省為第一個創(chuàng)建的窗體) 窗體語句 Load語句:裝入窗體到內(nèi)存(不顯示) Load 窗體名稱 Unload語句:從內(nèi)存刪除窗體 Unload 窗體名稱 或 Unload Me Show方法:顯示窗體 [窗體名稱

50、].Show [模式] 模式為1:關(guān)閉才能對其它窗體進(jìn)行操作 模式為0:可以同時對其它窗體進(jìn)行操作 Hide方法:隱藏窗體 [窗體名稱.] Hide 不同窗體數(shù)據(jù)的存取 直接訪問另一個窗體上的控件數(shù)據(jù) 另一個窗體名.控件名.屬性 Ex:Text1 = Val(Form2.Text1) + Val(Form2.Text2) 訪問另一個窗體中的全局變量 另一個窗體名.全局變量名 7.5 鼠標(biāo)和鍵盤 鼠標(biāo) 鼠標(biāo)事件:需要注意事件發(fā)生在哪一個對象上 Click、DblClick事件 MouseDown 按下任意一個鼠標(biāo)按鈕時被觸發(fā) Mo

51、useUp 釋放任意一個鼠標(biāo)按鈕時被觸發(fā) MouseMove 移動鼠標(biāo)時被觸發(fā) 事件過程 參數(shù)e決定鼠標(biāo)的當(dāng)前狀態(tài) e.X、e.Y表示當(dāng)前鼠標(biāo)的位置;e.Button指示按下或釋放了哪個鼠標(biāo)按鈕 枚舉常量 含 義 MouseButtons.Left 按下或釋放了鼠標(biāo)左鍵 MouseButtons.Right 按下或釋放了鼠標(biāo)右鍵 MouseButtons.Middle 按下或釋放了鼠標(biāo)中鍵 MouseButtons.None 沒有按下鼠標(biāo)按鈕 鍵盤 KeyPress事件:只對會產(chǎn)生ACSII碼的按鍵有響應(yīng) 參數(shù)e包含了與KeyPress事件相

52、關(guān)的數(shù)據(jù) e.KeyChar:其值為所按鍵相應(yīng)的ASCII碼值 Ex:鍵盤輸入小寫A,e.KeyChar的值為“a” e.Handled:表按鍵是否被處理過。真:已經(jīng)被處理過,假:傳送給Windows處理 (e.Handled為真,即可怱略本次按鍵;用這個特性可在控件中去掉不允許字符) KeyDown事&KeyUp事件 用戶按下鍵盤鍵,便會引發(fā)該對象KeyDown事件,釋放按鍵便觸發(fā)KeyUp事件 參數(shù)e包含了所按鍵信息(及Shift、Ctrl、Alt鍵的狀態(tài)) e.KeyCode的值為操作的物理鍵。 7.6 應(yīng)用程序向?qū)? 應(yīng)用程序向?qū)В河脕砩梢粋€應(yīng)用程序的界面 文件-新建工程-VB應(yīng)用程序向?qū)? 選擇菜單和子菜單項(xiàng) 選取工具欄按鈕 7.7 綜合應(yīng)用

展開閱讀全文
溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!