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

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

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

20 積分

下載資源

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

資源描述:

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

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

2、Label對(duì)象來存放文字;利用Timer控件來快速觸發(fā)移動(dòng);利用單擊按鈕來手動(dòng)觸發(fā)移動(dòng);改變標(biāo)簽的左上角坐標(biāo)(left, top表示)就可移動(dòng)標(biāo)簽 Label1.Top=Label1.Top+50: 使標(biāo)簽Label1向下移動(dòng)50單位 Interval=200: 時(shí)鐘對(duì)象的Interval可指定時(shí)間間隔, 1秒為1000單位. 每隔0.2秒移動(dòng)一次可設(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)用程序的主要部分;一個(gè)應(yīng)用程序至少有一個(gè)窗體窗口;每個(gè)窗體必須有一個(gè)唯一的窗體名(默認(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í)可通過屬性控制窗體的可見性 代碼設(shè)計(jì)窗口 用來進(jìn)行代碼設(shè)計(jì)(各種事件過程、過程代碼的編寫修改);打開代碼設(shè)計(jì)窗口(雙擊窗體/控件資源管理器窗口-查看代碼) 屬性窗口 設(shè)置窗體或控件的屬性,如顏色、字體、大小等 工程管理器窗口 保存一個(gè)應(yīng)用程序所有屬性以及組成這個(gè)應(yīng)用程序所有的文件;工程文件的擴(kuò)展名為.VBP,工程文件名顯示在工程文件窗口的標(biāo)題框內(nèi) 工具箱

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

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

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

7、 Enabled:對(duì)象是否允許操作 Visible:對(duì)象是否可見 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)行時(shí),可以改變某控件的值,而不必指定它的哪個(gè)屬性 文本框 Text 單選按鈕 Value 命令按鈕 Default 標(biāo)簽 Caption 圖形、圖像框 Picture 復(fù)選框 Value 窗體 事件:Load事件(窗體被裝入觸發(fā)的事件,常為初始化);Click事件;DblClick事件 方法: [對(duì)象]方法[參數(shù)列表] Cls方法: 清除窗體或圖形框運(yùn)行產(chǎn)生的文本圖形,不能清除窗體在設(shè)計(jì)時(shí)的文本圖形 Move方法:可移動(dòng)窗體或控件,并改變其大小

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

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

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

12、漢字開頭,由字母漢字?jǐn)?shù)字或下劃線組成,長(zhǎng)度<=255個(gè)字符 不能使用VB中的關(guān)鍵字;不區(qū)分大小寫,一般變量名首字母大寫 聲明格式: Dim 變量名 [As 類型](As部分缺省則為變體類型 ) Ex:Dim m,n As Integer,x,y As Single 常量:用大寫字母表示 直接常量:其常數(shù)值直接反映了其類型 符號(hào)常量:用戶聲明,便于程序閱讀或修改 格式:Const 符號(hào)常量名 [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ù)字字符或邏輯型自動(dòng)轉(zhuǎn)成數(shù)值類型) 字符串運(yùn)算符 &:兩旁的操作數(shù)可任意,轉(zhuǎn)換成字符型后再連接 +:兩旁的操作數(shù)應(yīng)均為字符型 都為數(shù)值型則進(jìn)行算術(shù)加運(yùn)算 一個(gè)為數(shù)字字符,另一個(gè)為數(shù)值,自動(dòng)將數(shù)字字符轉(zhuǎn)換為數(shù)值后進(jìn)行算術(shù)加 一個(gè)為非數(shù)字字符,另一個(gè)為數(shù)值型,出錯(cuò) 運(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)用成功返回一個(gè)任務(wù)標(biāo)識(shí)ID,不成功,則返回0。 3.4 程序結(jié)構(gòu)和編碼規(guī)則 編碼規(guī)則 代碼不區(qū)分字母的大小寫;關(guān)鍵字首字母自動(dòng)變大寫,其余變小寫;自定義變量以后輸入自動(dòng)變?yōu)槭状味x形式 語(yǔ)句書寫自由,一行上可寫多句語(yǔ)句(冒號(hào)分隔),一行最多255個(gè)字符;單行語(yǔ)句可分若干行書寫,在行末加入續(xù)行符(空格和下劃線) 第4章 VB控制結(jié)構(gòu) 4.1 順序結(jié)構(gòu) 賦值語(yǔ)句:變量名=表達(dá)式(左邊只能是變量,不能是常量、

16、常數(shù)符號(hào)、表達(dá)式) 數(shù)據(jù)輸出和輸入: InputBox函數(shù):打開個(gè)對(duì)話框,等待用戶輸入,返回字符串類型的輸入值 形式:InputBox(提示[,標(biāo)題][,默認(rèn)值][,x坐標(biāo)位置][,y坐標(biāo)位置]) (提示項(xiàng)不能省略;多行提示可在每行行末加回車換行vbCrLf) MsgBox函數(shù): 打開信息框,等待用戶選擇一個(gè)按按鈕;函數(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 “帳號(hào)必須為數(shù)字”, , “警告" Text1.Text = "" Text1.SetFocus End If End Sub Private Sub Command1_Click() Dim i As Integer If Text2.Text <> "Gong" Then i = MsgBox(“密碼錯(cuò)誤”, 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ù): 形式:對(duì)象.Print[Spc(n)|Tab(n)][輸出列表 ][;|,] 對(duì)象:窗體、圖形框或打印機(jī),默認(rèn)為窗體; Spc(n)函數(shù):從當(dāng)前位置起空n個(gè)空格

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

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語(yǔ)句的嵌套 格式: If 表達(dá)式1 Then If 表達(dá)式2 Then … End If … End If Select C

22、ase語(yǔ)句 格式: Select Case 變量或表達(dá)式 Case 表達(dá)式列表1 語(yǔ)句塊1 Case 表達(dá)式列表2 語(yǔ)句塊2 … [Case Else 語(yǔ)句塊n+1] End Select (表達(dá)式: "A";枚舉值2,4,6,8;60 To 100;Is<60 Select Case后不能出現(xiàn)多個(gè)變量;Case后不能出現(xiàn)變量及有關(guān)運(yùn)算符) Ex:已知變量ch中存放了一個(gè)字符,判斷該字符是字母字符、數(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)的簡(jiǎn)潔表示 格式:IIf(表達(dá)式,為真時(shí)的值,為假時(shí)的值) Choose函數(shù):根據(jù)i值,返回選項(xiàng)列表中第i個(gè)選項(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)語(yǔ)句:計(jì)數(shù)循環(huán)語(yǔ)句,條件型循

25、環(huán)語(yǔ)句 For循環(huán)語(yǔ)句:控制循環(huán)次數(shù)預(yù)知的循環(huán)結(jié)構(gòu) 格式: For 循環(huán)變量 =初值 To 終值 [Step 步長(zhǎng)] 語(yǔ)句塊 [Exit For] 語(yǔ)句塊 Next 循環(huán)變量 (循環(huán)變量必為數(shù)值;循環(huán)次數(shù); 步長(zhǎng):>0時(shí)初值<終值;=1可省略;<0時(shí)初值>終值;=0時(shí)死循環(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)語(yǔ)句:Do循環(huán)用于控制循環(huán)次數(shù)未知的循環(huán)結(jié)構(gòu) 形式1:

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

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

28、績(jī) Dim mark(99) As Integer 聲明數(shù)組mark Dim aver!, overn%, i% aver = 0 For i = 0 To 99 輸入成績(jī),求分?jǐn)?shù)和 mark(i) = InputBox("輸入學(xué)生的成績(jī)") 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ù)組) 動(dòng)態(tài)數(shù)組 建立動(dòng)態(tài)數(shù)組要分兩步: 用Dim 語(yǔ)句聲明數(shù)組,但不能指定數(shù)組大小 Dim 數(shù)組名( ) As 數(shù)據(jù)類型 用ReDim語(yǔ)句動(dòng)態(tài)地分配元素個(gè)數(shù) ReDim 數(shù)組名 (下標(biāo)[

30、,下標(biāo)2…]) Ex:Dim s ( ) As Single Sub Form_Load( ) ReDim s(4,8) End Sub (Dim 是說明語(yǔ)句, ReDim 是執(zhí)行語(yǔ)句; 過程中可多次用ReDim語(yǔ)句來改變數(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 列表框和組合框 列表框:可顯示多個(gè)選項(xiàng)供用戶選擇,不能直接修改其中的內(nèi)容 組合框:組合了文本框和列表框的特性而形成的一種控件。 列表框和組合框重要屬性 List:是一個(gè)集合 ListIndex:選項(xiàng)的序號(hào)(從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:把一個(gè)項(xiàng)目加入列表 形式:對(duì)象.AddItem 項(xiàng)目字符串 [,索引值] (索引值:決定新增項(xiàng)在列表中的位置,如果省略,則新增項(xiàng)目添加在最后) RemoveItem:刪除列表中指定項(xiàng)目 形式:對(duì)象.RemoveItem 索引值 Clear:清除列表中所有項(xiàng)目 Ex:List1.Clear 重要事件 列表框:Click、DblClick 組合框:Click 5.4

33、自定義類型及數(shù)組 Type語(yǔ)句: 不同類型數(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 自定義類型變量成員的引用 引用自定義類型變量中的某個(gè)成員,形式如下: 自定義類型變量名.成員名 例如, S1.Name S1變

34、量中的姓名 S1.Sex 性別 可利用With語(yǔ)句簡(jiǎn)化成員引用: With 結(jié)構(gòu)變量對(duì)象名 語(yǔ)句塊 End With 5.5 綜合應(yīng)用-分類統(tǒng)計(jì) 數(shù)據(jù)輸入 Ex:輸入一系列數(shù)據(jù)將它們按分隔符分離存在數(shù)組中。 對(duì)輸入的數(shù)據(jù)允許修改和自動(dòng)識(shí)別非數(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 類型] 變量聲明 語(yǔ)句塊 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、形各條邊的長(zhǎng)度,計(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() … 輸入若干個(gè)三角形邊長(zhǎng) S=area(a,b,c)+area(c,d,e)+area(e,f,g) msgbox(“面積=” & S) End Sub 6.2 子過程的定義與調(diào)用 子過程特點(diǎn) 不是為了獲得某個(gè)函數(shù)

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

38、要關(guān)心形參的個(gè)數(shù)、類型、位置;按位傳遞 傳址與傳值:實(shí)參與形參的結(jié)合 傳址ByRef:將實(shí)參的地址傳遞給形參。對(duì)形參的操作=對(duì)相應(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ù)組名加圓括號(hào)表示,不要給出維數(shù)上界 多維數(shù)組,每維以逗號(hào)分隔,在過程中通過Ubound函數(shù)確定每維的上界 實(shí)參是數(shù)組: 要給出數(shù)組名(不需要圓括號(hào)) (數(shù)組作為參數(shù)傳遞是將實(shí)參數(shù)組的起始地址傳給過程,使形參數(shù)組也具有與實(shí)參數(shù)組相同的起始地址) 變量的作用域 塊變量:在控制結(jié)構(gòu)塊中聲明的變量,只能在本塊內(nèi)有效(變量名%) 過程級(jí)變量:在一個(gè)過程內(nèi)用Dim或Static語(yǔ)句聲明的變量,只能在本過程中使用 模塊級(jí)變量:模塊內(nèi),任何過程外用Dim、Private語(yǔ)句聲明的變量,在本模塊有效 全局變量:在模塊級(jí)用Public語(yǔ)句聲明的變量,可被應(yīng)用程序的任何過程或函數(shù)訪

40、問 靜態(tài)變量:程序運(yùn)行過程中可保留變量的值 形式:Static 變量名 [AS 類型] (用Dim聲明的變量,每次調(diào)用過程時(shí)重新初始化) 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灰色,并顯示一個(gè)選中標(biāo)記 重要事件 Click事件 框架 (Frame) 具有容器功能:先建立框架,然后將各控件放置其中 Caption屬性:框架上的標(biāo)題文本 (框架可以響應(yīng)Click

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

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

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

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

46、Filter:確定所顯示文件的類型 Ex:Text Files|*.txt|所有文件|*.*顯示文本文件和所有文件 FilterIndex:文件列表中指定某類型文件 InitDir:初始化路徑 保存文件對(duì)話框: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 顏色對(duì)話框:ShowColor 重要屬性Color:返回或設(shè)置選定的顏色 Ex:設(shè)置按鈕顏色 Sub Command3_Click () CommonDialog1.ShowColor Text1.ForeColor = CommonDialog1.Color End Sub 字體對(duì)話框:ShowFont Font:獲取選擇的字體 Color:選定的顏色 (必須先設(shè)置Flags屬性,否則將發(fā)生不存在字體錯(cuò)誤,通常設(shè)置為H103)

48、7.3 菜單設(shè)計(jì) 菜單編輯器 分隔線: 在標(biāo)題欄輸入一個(gè)連字符“-” 標(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)的浮動(dòng)菜單 菜單彈出的方法: [對(duì)象.]PopupMenu 菜單名[, 標(biāo)志, x, y] 標(biāo)志:表示彈出的位置和觸發(fā)的鍵 Ex:Sub Text1_MouseDown(…)

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

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

51、useUp 釋放任意一個(gè)鼠標(biāo)按鈕時(shí)被觸發(fā) MouseMove 移動(dòng)鼠標(biāo)時(shí)被觸發(fā) 事件過程 參數(shù)e決定鼠標(biāo)的當(dāng)前狀態(tài) e.X、e.Y表示當(dāng)前鼠標(biāo)的位置;e.Button指示按下或釋放了哪個(gè)鼠標(biāo)按鈕 枚舉常量 含 義 MouseButtons.Left 按下或釋放了鼠標(biāo)左鍵 MouseButtons.Right 按下或釋放了鼠標(biāo)右鍵 MouseButtons.Middle 按下或釋放了鼠標(biāo)中鍵 MouseButtons.None 沒有按下鼠標(biāo)按鈕 鍵盤 KeyPress事件:只對(duì)會(huì)產(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為真,即可怱略本次按鍵;用這個(gè)特性可在控件中去掉不允許字符) KeyDown事&KeyUp事件 用戶按下鍵盤鍵,便會(huì)引發(fā)該對(duì)象KeyDown事件,釋放按鍵便觸發(fā)KeyUp事件 參數(shù)e包含了所按鍵信息(及Shift、Ctrl、Alt鍵的狀態(tài)) e.KeyCode的值為操作的物理鍵。 7.6 應(yīng)用程序向?qū)? 應(yīng)用程序向?qū)В河脕砩梢粋€(gè)應(yīng)用程序的界面 文件-新建工程-VB應(yīng)用程序向?qū)? 選擇菜單和子菜單項(xiàng) 選取工具欄按鈕 7.7 綜合應(yīng)用

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

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

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

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


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