VisualBasic程序設(shè)計(jì)教程第四版完整教學(xué)課件_第1頁(yè)
VisualBasic程序設(shè)計(jì)教程第四版完整教學(xué)課件_第2頁(yè)
VisualBasic程序設(shè)計(jì)教程第四版完整教學(xué)課件_第3頁(yè)
VisualBasic程序設(shè)計(jì)教程第四版完整教學(xué)課件_第4頁(yè)
VisualBasic程序設(shè)計(jì)教程第四版完整教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩321頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Visual Basic程序設(shè)計(jì)教程(第四版)龔沛增 楊志強(qiáng) 陸慰民 編國(guó)家精品課程主講教材普通高等教育“十一五”國(guó)家級(jí)規(guī)劃教材高等教育百門(mén)精品課程教材第1頁(yè),共326頁(yè)。章內(nèi) 容學(xué)時(shí)實(shí)驗(yàn)與學(xué)時(shí)第1章Visual Basic程序設(shè)計(jì)概述3實(shí)驗(yàn)A 1第2章VB可視化編程基礎(chǔ)5實(shí)驗(yàn)B 1第3章VB語(yǔ)言基礎(chǔ)5實(shí)驗(yàn)C 2第4章VB控制結(jié)構(gòu)6實(shí)驗(yàn)D 2第5章數(shù)組和自定義類(lèi)型6實(shí)驗(yàn)E 4第6章過(guò) 程6實(shí)驗(yàn)F 4第7章用戶(hù)界面設(shè)計(jì)6實(shí)驗(yàn)G 4第8章數(shù)據(jù)文件5實(shí)驗(yàn)H 3第9章圖形操作4實(shí)驗(yàn)I 3第10章數(shù)據(jù)庫(kù)應(yīng)用基礎(chǔ)6實(shí)驗(yàn)J 2合計(jì)5426教學(xué)安排見(jiàn)教學(xué)進(jìn)度表第2頁(yè),共326頁(yè)。第1章 Visual Basi

2、c程序設(shè)計(jì)概述1.1 Visual Basic 簡(jiǎn)介1.2 VB集成開(kāi)發(fā)環(huán)境1.3 創(chuàng)建應(yīng)用程序過(guò)程1.4 VB幫助系統(tǒng) 第3頁(yè),共326頁(yè)。1.1 Visual Basic 簡(jiǎn)介1.1.1 Visual Basic的發(fā)展1.1.2 Visual Basic的特點(diǎn)1.1.3 如何學(xué)習(xí)Visual Basic第4頁(yè),共326頁(yè)。1.1.1 Visual Basic的發(fā)展BASIC(Beginners All-purpose Symbolic Instruction Code)語(yǔ)言的發(fā)展概況(四階段):1.初級(jí)Basic:6474,Basic語(yǔ)言問(wèn)世2.微機(jī)Basic:7585,微機(jī)上固化Basi

3、c語(yǔ)言3.結(jié)構(gòu)化Basic:8690,結(jié)構(gòu)化的Basic語(yǔ)言4.可視化Basic:91至今,VB(微軟推出)第5頁(yè),共326頁(yè)。Visual Basic的發(fā)展1991年Microsoft公司推出Visual Basic1.0,以可視化工具為界面設(shè)計(jì)、結(jié)構(gòu)化Basic語(yǔ)言為基礎(chǔ),以事件驅(qū)動(dòng)為運(yùn)行機(jī)制。從1991年的VB1.0至2019年的VB6.0的多次版本升級(jí),功能更強(qiáng)大、完善,應(yīng)用面更廣。2000年發(fā)布Visual Basic.NET,2019年發(fā)布Visual Basic 2019版本。第6頁(yè),共326頁(yè)。71.1.2 VB的特點(diǎn)例1 簡(jiǎn)單動(dòng)畫(huà)演示。一行文字在具有背景圖案的窗體上進(jìn)行上、下

4、移動(dòng)。單擊手動(dòng)按鈕,移動(dòng)50Twip;單擊自動(dòng)按鈕,可以連續(xù)移動(dòng)。當(dāng)內(nèi)容超出窗體底部時(shí),又從頂部開(kāi)始往下移動(dòng)。設(shè)計(jì)思路:在窗體上使用標(biāo)簽Label對(duì)象來(lái)存放文字;利用Timer控件來(lái)自動(dòng)觸發(fā)移動(dòng);利用單擊按鈕來(lái)手動(dòng)觸發(fā)移動(dòng)。第7頁(yè),共326頁(yè)。8當(dāng)一個(gè)標(biāo)簽放在窗體上時(shí),標(biāo)簽的左上角坐標(biāo)(用Left、Top表示)就被指定了。如果改變標(biāo)簽的左上角坐標(biāo)就可移動(dòng)標(biāo)簽,即移動(dòng)文字。例如: Label1.Top=Label1.Top+50可使標(biāo)簽Label1向下移動(dòng)50單位。歡迎使用VB Top Left0,0第8頁(yè),共326頁(yè)。9實(shí)現(xiàn)連續(xù)移動(dòng),可通過(guò)時(shí)鐘對(duì)象Timer,在規(guī)定的時(shí)間間隔連續(xù)執(zhí)行: Lab

5、el1.Top=Label1.Top+50語(yǔ)句,就可使標(biāo)簽Label1連續(xù)向下移動(dòng)。時(shí)鐘對(duì)象的Interval可指定時(shí)間間隔,以毫秒單位。每隔0.2秒移動(dòng)一次可設(shè)置Interval=200。第9頁(yè),共326頁(yè)。10程序進(jìn)一步改進(jìn):連續(xù)循環(huán)移動(dòng),首先要能判斷出標(biāo)簽是否超出窗體范圍。該點(diǎn)在Top方向上的坐標(biāo)為:窗體的高度Height如果標(biāo)簽的Top窗體的高度,表示已越出窗體范圍,可將標(biāo)簽移到窗體上方,此時(shí)標(biāo)簽的Top=?窗體歡迎使用VBHeight第10頁(yè),共326頁(yè)。1.具有基于對(duì)象的可視化設(shè)計(jì)工具2.事件驅(qū)動(dòng)的編程機(jī)制3.提供了易學(xué)易用的集成開(kāi)發(fā)環(huán)境 4.支持結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言5.強(qiáng)大的網(wǎng)絡(luò)、

6、數(shù)據(jù)庫(kù)、多媒體功能 6.完備的幫助功能VB功能特點(diǎn)第11頁(yè),共326頁(yè)。如何學(xué)習(xí)Visual Basic兩個(gè)方面:Visual可視化界面設(shè)計(jì)Basic程序設(shè)計(jì)第12頁(yè),共326頁(yè)。VB系統(tǒng)的安裝VB系統(tǒng)的啟動(dòng)VB集成開(kāi)發(fā)環(huán)境的使用1.2 VB集成開(kāi)發(fā)環(huán)境 第13頁(yè),共326頁(yè)。141.2.1 安裝VB6.0有學(xué)習(xí)版(Learning)、專(zhuān)業(yè)版(Professional)和企業(yè)版(Enterprise)三種版本。執(zhí)行VB6.0的Setup.exe,在安裝程序的提示下進(jìn)行,初學(xué)者可采用典型安裝方式。VB6.0聯(lián)機(jī)幫助文件使用MSDN文檔格式,聯(lián)機(jī)幫助文件不在VB6.0系統(tǒng)盤(pán)上,而與Visual S

7、tudio產(chǎn)品的幫助集合在兩張CD盤(pán)上,安裝過(guò)程中,系統(tǒng)會(huì)提示插入MSDN盤(pán)。 第14頁(yè),共326頁(yè)。151.2.2 啟動(dòng) 啟動(dòng)VB選擇開(kāi)始菜單中的 Microsoft Visual Basic 6.0中文版程序。VB窗口列出了VB能夠建立的應(yīng)用程序類(lèi)型,初學(xué)者只要選擇默認(rèn)標(biāo)準(zhǔn).EXE。單擊打開(kāi)按鈕,就可創(chuàng)建 該類(lèi)型的應(yīng)用程序。 第15頁(yè),共326頁(yè)。161.2.3 集成開(kāi)發(fā)環(huán)境使用 第16頁(yè),共326頁(yè)。一、主窗口 標(biāo)題欄三種工作模式:設(shè)計(jì)模式:界面的設(shè)計(jì)和代碼的編制運(yùn)行模式:運(yùn)行應(yīng)用程序中斷模式:暫時(shí)中斷程序運(yùn)行,調(diào)試程序 2.菜單欄 包括13個(gè)下拉菜單 3.工具欄標(biāo)準(zhǔn)、編輯、窗體編輯器、

8、調(diào)試等工具欄第17頁(yè),共326頁(yè)。18二、窗體設(shè)計(jì)窗口(Form)窗體是建立VB應(yīng)用程序的主要部分,一個(gè)應(yīng)用程序至少有一個(gè)窗體窗口。每個(gè)窗體必須有一個(gè)唯一的窗體名,默認(rèn)名為Form1。設(shè)計(jì)狀態(tài)的窗體由網(wǎng)格點(diǎn)構(gòu)成,方便用戶(hù)對(duì)控件的定位,網(wǎng)格點(diǎn)間距可以通過(guò)工具|選項(xiàng)|通用進(jìn)入窗體網(wǎng)格設(shè)置。運(yùn)行時(shí)可通過(guò)屬性控制窗體的可見(jiàn)性(窗體的網(wǎng)格始終不顯示)。利用Shift+F7組合鍵打開(kāi)窗體窗口。第18頁(yè),共326頁(yè)。三、代碼(Code)設(shè)計(jì)窗口 1.代碼窗口作用 編輯和顯示窗體、標(biāo)準(zhǔn)模塊中的代碼。每個(gè)窗體都有各自的代碼窗口。2.代碼窗口的組成 (1)“對(duì)象”下拉列表框 (2)“過(guò)程”下拉列表框 (3)“代碼

9、”框 (4)“過(guò)程查看”按鈕 (5)“全模塊”查看按鈕。3.代碼窗口的打開(kāi)方法(4種) (1)熱鍵F7 (2)“視圖” “代碼窗口” (3)在窗體窗口中雙擊任一控件或窗體本身 (4)從工程窗口中選擇窗體或模塊后單擊“查看代碼”按鈕。第19頁(yè),共326頁(yè)。20四、屬性(Properties)窗口1.作用:設(shè)置或查看窗體及控件的屬性,如 顏色、字體、大小等。2.屬性窗口的組成:對(duì)象列表框、屬性顯示排列方式、屬性列表框和屬性含義說(shuō)明。第20頁(yè),共326頁(yè)。四、屬性(Properties)窗口3.屬性窗口的打開(kāi)方法(4種)(1)熱鍵F4 (2)“視圖” “屬性窗口”(3)單擊工具欄上的“屬性窗口”按鈕

10、(4)右擊對(duì)象,在快捷菜單中選擇“屬性窗口”命令第21頁(yè),共326頁(yè)。221.工程資源管理器的作用:用層次化管理方式顯示一個(gè)應(yīng)用程序所有的文件。2.工程資源管理器的組成:“查看代碼”按鈕、“查看對(duì)象”按鈕、“切換文件夾”按鈕和一個(gè)列表窗口。列表窗口中顯示了本工程文件(.vbp)中的所有窗體文件(.frm)和模塊文件(標(biāo)準(zhǔn)模塊文件.bas和類(lèi)模塊文件.cls)等。已存盤(pán)未存盤(pán)五、工程管理器(Project Explorer)窗口第22頁(yè),共326頁(yè)。五、工程管理器(Project Explorer)窗口3.工程資源管理器的打開(kāi)方式(3種)(1)單擊工具欄上的“工程資源管理器”按鈕(2)熱鍵Ctr

11、l+R (3)“視圖”“工程資源管理器”第23頁(yè),共326頁(yè)。24六、工具箱(ToolBox)窗口 由21個(gè)被繪制成按鈕形式的圖標(biāo)構(gòu)成,利用這些工具,用戶(hù)可以在窗體上設(shè)計(jì)各種控件。其中20個(gè)控件稱(chēng)為標(biāo)準(zhǔn)控件(注意,指針不是控件,僅用于移動(dòng)窗體和控件,以及調(diào)整它們的大小)。也可通過(guò)工程|部件命令將第3方開(kāi)發(fā)的其他控件裝入到工具箱。第24頁(yè),共326頁(yè)。七、其他窗口1.立即(Immediate)窗口 為調(diào)試程序提供的,可在此直接用Print方法輸出表達(dá)式的值,也可以在程序代碼中用Debug.print語(yǔ)句在立即窗口輸出表達(dá)式的值。2.窗體布局(Form Layout)窗口 用于指定程序運(yùn)行時(shí)窗體的

12、初始位置,主要應(yīng)用于多窗體程序中。 第25頁(yè),共326頁(yè)。261.3 創(chuàng)建應(yīng)用程序的過(guò)程 建立一個(gè)應(yīng)用程序分為以下幾步:(1) 建立用戶(hù)界面的對(duì)象(2) 對(duì)象屬性的設(shè)置(3) 對(duì)象事件過(guò)程及編程(4) 保存和運(yùn)行程序例1.2 編寫(xiě)一個(gè)人民幣與美元兌換的程序。要求:通過(guò)輸入兌換比率與人民幣或美元金額,單擊命令按鈕顯示兌換結(jié)果。第26頁(yè),共326頁(yè)。27設(shè)計(jì)思路: 輸入使用文本框TextBox; 提示使用標(biāo)簽Label; 按鈕Command的Click事件執(zhí)行處理命令。第27頁(yè),共326頁(yè)。281.4 使用幫助系統(tǒng) 使用MSDN Library查閱器通過(guò)VB的幫助菜單,選擇內(nèi)容、索引或搜索菜單項(xiàng)

13、第28頁(yè),共326頁(yè)。本章小結(jié)VB的突出特點(diǎn)可視化的設(shè)計(jì)工具事件驅(qū)動(dòng)的編程機(jī)制VB集成開(kāi)發(fā)環(huán)境三種工作模式窗體窗口屬性窗口代碼窗口工程資源管理器窗口創(chuàng)建應(yīng)用程序的過(guò)程建立界面、屬性設(shè)置、編寫(xiě)代碼、運(yùn)行與保存程序第29頁(yè),共326頁(yè)。第2章 VB可視化編程基礎(chǔ)2.1 VB對(duì)象概念2.2 窗體和基本控件2.3 綜合應(yīng)用 第30頁(yè),共326頁(yè)。2.1 VB對(duì)象的概念2.1.1 對(duì)象和類(lèi)1.對(duì)象 指現(xiàn)實(shí)世界中的實(shí)體。如一個(gè)人、一輛汽車(chē)、一臺(tái)電腦、一份報(bào)表等。 每個(gè)對(duì)象有自己的特征(屬性)、行為(方法)和發(fā)生在該對(duì)象上的活動(dòng)(事件)。 例如人具有身高、體重等特征,具有行走、說(shuō)話(huà)等行為,外界作用在人對(duì)象上

14、的各種活動(dòng),如下雨等。第31頁(yè),共326頁(yè)。322.類(lèi)的概念 在現(xiàn)實(shí)中,許多對(duì)象具有相似的性質(zhì),執(zhí)行相同的操作,稱(chēng)之為同一類(lèi)對(duì)象。 類(lèi)是對(duì)同一種對(duì)象的集合與抽象。 如人類(lèi)是“人”的抽象。類(lèi)是創(chuàng)建對(duì)象實(shí)例的模板,對(duì)象則是類(lèi)的一個(gè)實(shí)例。 類(lèi)包含所創(chuàng)建對(duì)象的屬性數(shù)據(jù),以及對(duì)這些數(shù)據(jù)進(jìn)行操作的方法。封裝和隱藏是類(lèi)的重要特性,將數(shù)據(jù)結(jié)構(gòu)和對(duì)數(shù)據(jù)的操作封裝在一起,類(lèi)的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)對(duì)用戶(hù)來(lái)說(shuō)是透明的。第32頁(yè),共326頁(yè)。3.VB中的類(lèi)和對(duì)象 VB工具箱中的可視圖標(biāo)是VB系統(tǒng)設(shè)計(jì)好的標(biāo)準(zhǔn)控件類(lèi)。通過(guò)將控件類(lèi)實(shí)例化,得到真正的控件對(duì)象。在窗體上畫(huà)一個(gè)控件,就將類(lèi)轉(zhuǎn)換為對(duì)象,創(chuàng)建了一個(gè)控件對(duì)象。第33頁(yè),共32

15、6頁(yè)。例如:工具箱內(nèi)的TextBox是類(lèi)(它確定了TextBox的屬性、方法和事件),窗體上顯示的是兩個(gè)TextBox對(duì)象。第34頁(yè),共326頁(yè)。VB中常用的對(duì)象是控件。此外,VB還提供了系統(tǒng)對(duì)象:打印機(jī)(Printer)、剪貼板(Clipboard)、屏幕(Screen)和應(yīng)用程序(App)等。窗體是個(gè)特例,它既是類(lèi)也是對(duì)象。當(dāng)向一個(gè)工程添加一個(gè)新窗體時(shí),實(shí)質(zhì)就由窗體類(lèi)創(chuàng)建了一個(gè)窗體對(duì)象。第35頁(yè),共326頁(yè)。屬性、事件和方法構(gòu)成對(duì)象的三要素。1.屬性:存放對(duì)象的數(shù)據(jù)(決定對(duì)象外觀及功能)例如:控件名稱(chēng)、文本、大小等屬性。對(duì)象屬性的設(shè)置方法: 在設(shè)計(jì)階段,利用屬性窗口直接設(shè)置屬性值 程序運(yùn)行

16、時(shí),通過(guò)語(yǔ)句對(duì)象名.屬性名=屬性值 例如:Command1.Caption = 確定 注意:若屬性只能在設(shè)計(jì)階段設(shè)置,在程序運(yùn)行階段不可改變,稱(chēng)為只讀屬性。 2.1.2 對(duì)象的屬性、事件和方法 第36頁(yè),共326頁(yè)。(1)事件:發(fā)生在對(duì)象上的事情。同一事件,對(duì)不同的對(duì)象,會(huì)引發(fā)不同的反應(yīng):2.事件教師_鈴聲() 講課End Sub學(xué)生_鈴聲()聽(tīng)講End SubVB為對(duì)象預(yù)先定義了一系列的事件。例如,單擊Click、獲取焦點(diǎn)GotFocus、按下鍵盤(pán)KeyPress 等 其他人員_鈴聲()可不于響應(yīng)End Sub第37頁(yè),共326頁(yè)。(2)事件過(guò)程:應(yīng)用程序處理事件的步驟。應(yīng)用程序設(shè)計(jì)的主要工

17、作就是為對(duì)象編寫(xiě)事件過(guò)程的代碼。事件過(guò)程的形式如下:Private Sub 對(duì)象名_事件(參數(shù)) 事件過(guò)程代碼End Sub第38頁(yè),共326頁(yè)。例:單擊按鈕,使Text1的字體為20磅。 Private Sub Command1_Click() Text1.FontSize = 20 End Sub一個(gè)動(dòng)作可能同時(shí)發(fā)生多個(gè)事件。例如單擊鼠標(biāo)同時(shí)發(fā)生了Click、MouseDown、MouseUp事件。編程時(shí),只要對(duì)需要的事件過(guò)程編寫(xiě)代碼。注意:在代碼窗,自動(dòng)產(chǎn)生事件過(guò)程的模板,不要修改模板的內(nèi)容,只需鍵入過(guò)程的代碼。第39頁(yè),共326頁(yè)。40程序執(zhí)行的次序與程序設(shè)計(jì)者無(wú)關(guān),取決于用戶(hù)的操作,

18、這就是事件驅(qū)動(dòng)程序設(shè)計(jì)方式。VB程序的執(zhí)行步驟如下: 啟動(dòng)應(yīng)用程序,裝載和顯示窗體; 窗體(或窗體上的控件)等待事件的發(fā)生; 事件發(fā)生時(shí),執(zhí)行對(duì)應(yīng)的事件過(guò)程; 重復(fù)執(zhí)行步驟和。(3)事件驅(qū)動(dòng)第40頁(yè),共326頁(yè)。3.方法 面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,為程序設(shè)計(jì)人員提供了一種特殊的過(guò)程和函數(shù),稱(chēng)為方法。 方法是面向?qū)ο蟮模{(diào)用時(shí)一定要指明對(duì)象。 對(duì)象方法的調(diào)用格式為: 對(duì)象.方法 參數(shù)名表 若省略對(duì)象,表示當(dāng)前對(duì)象,一般指窗體。 例如:Text1.SetFocus 此語(yǔ)句使Text1控件獲得焦點(diǎn),光標(biāo)在本文框內(nèi)閃爍。 第41頁(yè),共326頁(yè)。422.2 窗體和基本控件 2.2.1 窗體和控件具有的基本

19、屬性(1) Name屬性:名稱(chēng) 所創(chuàng)建的對(duì)象名稱(chēng),在程序中引用。(2) Caption屬性:標(biāo)題 該屬性決定了對(duì)象上顯示的內(nèi)容。(3) Height、Width、Top和Left屬性 決定對(duì)象的大小和位置。第42頁(yè),共326頁(yè)。43(4) Enabled 屬性:對(duì)象是否允許操作(5) Visible 屬性:對(duì)象是否可見(jiàn)(6) Font 屬性組:文本的外觀 FontName字體、FontSize大小 FontBold粗體、FontItalic斜體 FontStrikethru 刪除線 FontUnderline 下劃線 例2.1 在窗體上建立兩個(gè)命令按鈕,分別設(shè)置其屬性。第43頁(yè),共326頁(yè)。4

20、4(7) ForeColor屬性:前景顏色(8) BackColor屬性:背景顏色(9) MousePointer屬性:鼠標(biāo)指針類(lèi)型, 設(shè)置值范圍015,由系統(tǒng)指定 。若為99,由用戶(hù)提供的圖形文件定義鼠標(biāo)指針形狀。(10) MouseIcon屬性:在MousePointer屬性值為99時(shí),存放自定義的鼠標(biāo)圖標(biāo)文件(.ico或.cur)。圖標(biāo)庫(kù)在Graphics目錄下。第44頁(yè),共326頁(yè)。45控件默認(rèn)屬性:程序運(yùn)行時(shí),可以改變某控件的值,而不必指定該控件的哪個(gè)屬性。 控 件 默認(rèn)屬性 控 件 默認(rèn)屬性文本框命令按鈕單選按鈕TextDefaultValue標(biāo)簽圖形、圖像框復(fù)選框 Caption

21、 Picture Value例如,下面兩條語(yǔ)句是等價(jià)的:Text1.Text=Visual BasicText1 =Visual Basic第45頁(yè),共326頁(yè)。462.2.2 窗體 窗體是一塊畫(huà)布,是所有控件的容器,用戶(hù)可以根據(jù)自己的需要利用工具箱上的控件在畫(huà)布上畫(huà)出程序的界面。窗體屬性決定了窗體的外觀和操作。第46頁(yè),共326頁(yè)。1.窗體的主要屬性(1)Caption標(biāo)題 (2)MaxButton、MinButton(3)Icon:窗體最小化時(shí)所顯示的圖標(biāo)(4)ControlBox:控制菜單框的有無(wú),值為False時(shí),沒(méi)有控制菜單框,也無(wú)最大化、最小化、關(guān)閉按鈕,這時(shí)系統(tǒng)自動(dòng)將MaxBut

22、ton和MinButton設(shè)置為False。(5)BorderStyle :邊框樣式,取值為0 1 2 3 4 5(6)Picture:窗體背景(7)AutoRedraw:決定窗體被隱藏或覆蓋后重新顯示時(shí),是否重新還原原來(lái)的內(nèi)容。(8)WindowState (0-正常、1-最小化、2-最大化)第47頁(yè),共326頁(yè)。482.窗體的事件 常用的事件有Click、DblClick、Resize、Load和Unload、Activate和DeActivate等。 Load事件是在窗體被裝入工作區(qū)時(shí)觸發(fā)的事件。當(dāng)應(yīng)用程序啟動(dòng),自動(dòng)執(zhí)行該事件,該事件通常用來(lái)在啟動(dòng)應(yīng)用程序時(shí)對(duì)屬性和變量進(jìn)行初始化。 例2

23、.2 窗體無(wú)最大化按鈕和最小化按鈕,窗體啟動(dòng)時(shí),在標(biāo)題欄顯示“裝入窗體”,并裝入一背景圖;單擊窗體裝入另一圖、雙擊窗體清除背景圖,同時(shí)顯示不同的文字。 第48頁(yè),共326頁(yè)。493.窗體的方法 使用方法的語(yǔ)法形式: 對(duì)象.方法 參數(shù)列表(1)Print方法用來(lái)顯示文本內(nèi)容,格式:對(duì)象.print 表達(dá)式(2)Cls方法 清除運(yùn)行時(shí)在窗體或圖形框中產(chǎn)生的文本或圖形, Cls方法不能清除窗體在設(shè)計(jì)時(shí)的文本和圖形。格式:對(duì)象.cls(3)Move方法可移動(dòng)窗體或控件,并可改變其大小。語(yǔ)法格式如下:對(duì)象.Move 左邊距離,上邊距離,寬度,高度第49頁(yè),共326頁(yè)。2.2.3 標(biāo)簽 作用:用于顯示文本

24、(輸出)信息,不能作為輸入信息的界面。其內(nèi)容只能通過(guò)Caption屬性設(shè)置或修改,不能直接編輯。 主要屬性:BackStyle、BorderStyle、AlignMent、AutoSize。 事件:Click、DblClick、Change等,一般不需要編程。 方法:Move例2.3 標(biāo)簽屬性演示例 顯示浮雕效果的文字,實(shí)現(xiàn)方法:字顏色、標(biāo)簽位置。第50頁(yè),共326頁(yè)。2.2.4 文本框 文本框是一個(gè)文本編輯區(qū)域,可以在該區(qū)域輸入、編輯、修改和顯示正文內(nèi)容。1.重要屬性(1) Text 顯示或輸入的正文內(nèi)容(2) Maxlength 設(shè)置文本框可輸入的文字最大長(zhǎng)度。默認(rèn)值為0,表示可以輸入任意

25、長(zhǎng)字符串。 注意:在VB中字符長(zhǎng)度以字為單位,也就是一個(gè)西文字符與一個(gè)漢字都是一個(gè)字,長(zhǎng)度為1。 第51頁(yè),共326頁(yè)。(3) MultiLine 多行屬性設(shè)置為T(mén)rue時(shí),文本框可以輸入或顯示多行正文,同時(shí)具有文字處理器的自動(dòng)換行功能,按Enter鍵可插入一空行。(4) ScrollBars 滾動(dòng)條屬性 0-None 無(wú)滾動(dòng)條 1-Horizontal 水平滾動(dòng)條 2-Vertical 垂直滾動(dòng)條 3-Both 同時(shí)加水平和垂直滾動(dòng)條注意:當(dāng)MultiLine為T(mén)rue時(shí),ScrollBars才有效第52頁(yè),共326頁(yè)。(5) PassWordChar 設(shè)置顯示文本的替代符。例如,當(dāng)設(shè)置為“

26、*”,則在文本框輸入的內(nèi)容均以“*”顯示,而存儲(chǔ)的值是用戶(hù)輸入的原文。一般用于設(shè)置口令的輸入。當(dāng)MultiLine為T(mén)rue時(shí),該屬性不起作用,密碼不允許多行。(6) Locked 指定文本控件是否可被編輯,默認(rèn)值為False(可編輯),當(dāng)設(shè)置為T(mén)rue時(shí),文本控件相當(dāng)于標(biāo)簽控件的作用。注意:Locked與Enabled的區(qū)別。 第53頁(yè),共326頁(yè)。(7)文本內(nèi)容進(jìn)行選擇操作的三個(gè)屬性SelStart 選定的正文開(kāi)始位置SelLength 選定的正文長(zhǎng)度SelText選定的正文內(nèi)容這3個(gè)屬性互相關(guān)聯(lián),例如設(shè)置SelStart、SelLength后,SelText 自動(dòng)存放指定的文本。注意:屬

27、性窗口中沒(méi)有這三個(gè)屬性,只能在程序代碼中使用。例2.4 利用屬性實(shí)現(xiàn)文本信息的復(fù)制。 第54頁(yè),共326頁(yè)。2.文本框的事件(1) Change事件當(dāng)Text屬性值發(fā)生改變時(shí)引發(fā)該事件例 在文本框每輸入一個(gè)字符就引發(fā)一次事件(2) KeyPress事件按下并且釋放鍵盤(pán)上的一個(gè)鍵時(shí),引發(fā)焦點(diǎn)所在控件的KeyPress事件,所按鍵的值存放在參數(shù)KeyAscii中例 對(duì)回車(chē)的判斷 KeyAscii=13第55頁(yè),共326頁(yè)。(3) LostFocus事件對(duì)象失去焦點(diǎn)時(shí)發(fā)生LostFocus事件。該事件主要是用來(lái)對(duì)數(shù)據(jù)進(jìn)行驗(yàn)證和確認(rèn),常用于檢查T(mén)ext屬性的內(nèi)容。(4) GotFocus事件GotFo

28、cus事件與LostFocus事件相反,當(dāng)一個(gè)對(duì)象獲得焦點(diǎn)時(shí)發(fā)生。焦點(diǎn)轉(zhuǎn)移的方法:在對(duì)象上單擊或利用Tab鍵。此外,文本框還有Click、DblClick、KeyDown、KeyUp等。第56頁(yè),共326頁(yè)。3.文本框的方法文本框最有用的方法是SetFocus,把光標(biāo)移到指定的文本框中。其形式如下: 對(duì)象. SetFocusSetFocus還可以用于如CheckBox、 ListBox、 CommandButton、ComboBox等控件。例2.5 利用文本框,實(shí)現(xiàn)簡(jiǎn)單的兩數(shù)加法運(yùn)算。要求對(duì)輸入的數(shù)據(jù)進(jìn)行合法性檢驗(yàn),過(guò)濾不合法的數(shù)據(jù)。第57頁(yè),共326頁(yè)。2.2.5 命令按鈕 作用:用于程序運(yùn)

29、行時(shí)執(zhí)行相應(yīng)的事件。1. 主要屬性(1) Caption 命令按鈕上顯示的文字。(2) Style 按鈕樣式。 0 Standard:默認(rèn),按鈕上不能顯示圖形 。 1 Graphical:按鈕上可以顯示圖形和文字。 (3) Picture 按鈕可顯示圖片文件(.bmp和.Ico),當(dāng)Style為1時(shí)有效。(4) ToolTipText 設(shè)置工具提示文字,和Picture結(jié)合使用。(5) Value 檢查該按鈕是否按下。該屬性在設(shè)計(jì)時(shí)無(wú)效。(6) Default和Cancel 多個(gè)按鈕時(shí)使用。第58頁(yè),共326頁(yè)。2. 事件 命令按鈕可以接收Click 、GotFocus、LostFocus、

30、KeyDown、 KeyUp等事件,沒(méi)有DblClick事件。 一般編寫(xiě)Click事件。第59頁(yè),共326頁(yè)。2.3 綜合應(yīng)用 例2.6建立一個(gè)類(lèi)似記事本的應(yīng)用程序,提供:(1)剪切、復(fù)制和粘貼的編輯操作;(2)字體大小的格式設(shè)置。分析:(1) 建立一個(gè)文本框輸入文本,文本框應(yīng)該有滾動(dòng)條,為了便于調(diào)試,程序運(yùn)行時(shí)文本框有初始值。(2) 利用文本框的SelText屬性實(shí)現(xiàn)“剪切、復(fù)制和粘貼”的編輯操作。(3) “格式”設(shè)置利用Font對(duì)象實(shí)現(xiàn)。第60頁(yè),共326頁(yè)。本章小節(jié)1.VB中類(lèi)和對(duì)象的概念:類(lèi)是同種對(duì)象的集合與抽象,包含所創(chuàng)建對(duì)象的屬性描述和行為特征的定義,是創(chuàng)建對(duì)象實(shí)例的模板。2.對(duì)象

31、三要素:屬性、事件、方法。3.窗體是所有控件的容器,窗體的屬性、事件和方法。4.基本控件:標(biāo)簽、文本框、命令按鈕。第61頁(yè),共326頁(yè)。第三章 VB語(yǔ)言基礎(chǔ)3.1 數(shù)據(jù)類(lèi)型3.2 變量和常量3.3 運(yùn)算符和表達(dá)式3.4 程序結(jié)構(gòu)和編碼規(guī)則3.5 綜合應(yīng)用3.6 常見(jiàn)錯(cuò)誤第62頁(yè),共326頁(yè)。1.數(shù)值型1) 整數(shù) 整型(Integer,%):以帶符號(hào)的兩個(gè)字節(jié)表示 長(zhǎng)整型(Long,&):長(zhǎng)整型以帶符號(hào)的4字節(jié)存儲(chǔ)2) 浮點(diǎn)數(shù) 單精度型(Single,!):以4個(gè)字節(jié)存儲(chǔ),符號(hào)占 1位,指數(shù)占 8位,其余23位表示尾數(shù),精度為7位有效數(shù)字。 雙精度型(Double,#):用8個(gè)字節(jié)存儲(chǔ),符號(hào)占1

32、位,指數(shù)占11位,其余52位用來(lái)表示尾數(shù),精度為15位有效數(shù)字。3.1 數(shù) 據(jù) 類(lèi) 型第63頁(yè),共326頁(yè)。3)貨幣型(Currency,)為表示錢(qián)款而設(shè)置,定點(diǎn)實(shí)數(shù)或整數(shù),以8個(gè)字節(jié)存儲(chǔ),精確到小數(shù)點(diǎn)后4位和小數(shù)點(diǎn)左邊15位,取值范圍為: -922 337 203 685 477.580 8922 337 203 685 477.580 7 4)字節(jié)(Byte)1個(gè)字節(jié)的無(wú)符號(hào)二進(jìn)制數(shù)存儲(chǔ),取值范圍為0255。 2.字符串(String,$)是一除了回車(chē)和雙引號(hào)的所有西文字符和漢字字符序列,用雙引號(hào)括起。例如:fghjhh Visual Basic 6.0程序設(shè)計(jì) (空字符串) VB的字符串

33、分為兩種:變長(zhǎng)和定長(zhǎng)字符串。第64頁(yè),共326頁(yè)。4.變體型(Variant) 變體型是一種可變的數(shù)據(jù)類(lèi)型,又稱(chēng)為通用型??梢员硎救魏沃担〝?shù)值、字符串、日期時(shí)間等。 變體型也可以是Empty(空)、Null(無(wú)效)、Error(出錯(cuò))、Nothing(無(wú)指向)4種特殊的數(shù)據(jù)。 對(duì)于變體類(lèi)型,可以用函數(shù)VarType()進(jìn)行檢測(cè)變量的類(lèi)型,其返回值為整型。如:0為Empty,1為Null,2為整型,3為長(zhǎng)整型,4為單精度,5為雙精度,6為貨幣型,7為日期型,8為字符型,9為對(duì)象型等。 也可以用函數(shù)TypeName()來(lái)獲取變量的數(shù)據(jù)類(lèi)型名稱(chēng)。如TypeName(a)結(jié)果為L(zhǎng)ong。第65頁(yè),

34、共326頁(yè)。5其他數(shù)據(jù)類(lèi)型布爾(Boolean) 是一邏輯值True或False,用兩個(gè)字節(jié)存儲(chǔ)。日期(Date) 存儲(chǔ)為64位(8個(gè)字節(jié))浮點(diǎn)數(shù)值形式,以符號(hào)“#” 括起來(lái)。 例如:#05-01-2009#,#2009-3-3 8:35:25#對(duì)象(Object) 表示圖形或OLE對(duì)象或其他對(duì)象,用4個(gè)字節(jié)存儲(chǔ)。第66頁(yè),共326頁(yè)。第67頁(yè),共326頁(yè)。VB中11種標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型和2種復(fù)合數(shù)據(jù)類(lèi)型:第68頁(yè),共326頁(yè)。3.2 變量與常量3.2.1 變量1.變量和常量的命名規(guī)則變量:在程序運(yùn)行中其存儲(chǔ)的值可以改變。常量:在程序運(yùn)行中其值不可以改變。命名規(guī)則:1) 變量名必須以字母或漢字開(kāi)頭,

35、所有字母不分大小寫(xiě)。2) 不能包含圓點(diǎn)“.”。3) 字符總個(gè)數(shù)不得超過(guò)255個(gè)字符。4) 在同一個(gè)范圍內(nèi)必須是惟一的。 5) 變量名要“見(jiàn)名知義”,變量名要便于記憶、有意義。 6) 不能用 Visual Basic的關(guān)鍵字作為變量名,如print。7) 變量名不能與過(guò)程名和符號(hào)常量名相同。第69頁(yè),共326頁(yè)。2.變量聲明1.用Dim語(yǔ)句顯式聲明變量 形式:Dim 變量名 AS 類(lèi)型 或 Dim 變量名類(lèi)型符 說(shuō)明: (1)變量名與類(lèi)型符之間不能有空格。 例 Dim a As integer , b As single 等價(jià)于 Dim a%, b! (2)一條Dim語(yǔ)句可以同時(shí)定義多個(gè)變量,但

36、每個(gè)變量必須有自己的類(lèi)型聲明,類(lèi)型聲明不能共用。若沒(méi)有類(lèi)型聲明,則為變體類(lèi)型。 如:Dim a,b,c as integer (3)對(duì)于字符型變量,可有定長(zhǎng)和變長(zhǎng)兩種聲明方式: Dim字符串變量名 As String Dim字符串變量名 As String*字符個(gè)數(shù) 在VB中,一個(gè)漢字與一個(gè)西文字符一樣都算作一個(gè)字符,占兩個(gè)字節(jié)。第70頁(yè),共326頁(yè)。(4)使用聲明語(yǔ)句聲明一個(gè)變量后,VB自動(dòng)將數(shù)值型變量置初值0,字符型置初值空串,變體型置初值Empty,布爾型置初值False,對(duì)象型置初值Nothing,日期型置初值“0:00:00” 。 (5)除了使用Dim外,還可以使用Static、Pu

37、blic、Private等保留字進(jìn)行聲明變量。2.隱式聲明 未進(jìn)行上述的聲明而直接使用,其類(lèi)型為 Variant 類(lèi)型。建議不使用。3.強(qiáng)制顯式聲明(Option Explicit語(yǔ)句) 聲明方法: 在模塊的通用聲明段中加入語(yǔ)句:Option Explicit 在“工具”菜單中選取“選項(xiàng)”命令,然后在打開(kāi)的對(duì)話(huà)框中單擊“編 輯器”選項(xiàng)卡,再?gòu)?fù)選“要求變量聲明”。第71頁(yè),共326頁(yè)。3.2.2 常量1.直接常量 以直接明顯的形式給出的各種數(shù)據(jù) 1) 數(shù)值常量 整數(shù)常量:十進(jìn)制、八進(jìn)制(&O)和十六進(jìn)制(& H 或& h) 長(zhǎng)整型常量:十進(jìn)制、八進(jìn)制和十六進(jìn)制形式 貨幣型常量(即定點(diǎn)數(shù))、浮點(diǎn)數(shù)

38、 2) 字符串常量 由除雙引號(hào)和回車(chē)符之外的ASCII字符組成的字符串 3) 布爾常量 只有True和False兩個(gè)值 4) 日期常量 兩個(gè)“#”符號(hào)把日期值括起來(lái)表示日期常量 第72頁(yè),共326頁(yè)。2.用戶(hù)聲明常量 形式: Const 常量名 AS 類(lèi)型 = 表達(dá)式 省略 AS 類(lèi)型 ,常量的類(lèi)型由表達(dá)式值的類(lèi)型決定。 為使與變量名區(qū)分,一般常量名使用大寫(xiě)字母。 例 Const PI=3.14159 const PI%=3.14159 常量一旦聲明,在其后的代碼中只能引用,不能改變。3.系統(tǒng)提供的常量 系統(tǒng)定義常量位于對(duì)象庫(kù)中,可通過(guò)“對(duì)象瀏覽器”查看。 例:vbNormal、vbCrLf、

39、vbRed等。第73頁(yè),共326頁(yè)。3.3 運(yùn)算符和表達(dá)式 VB有4種運(yùn)算符: VB表達(dá)式: 算術(shù)運(yùn)算符 算術(shù)表達(dá)式 連接運(yùn)算符 字符串表達(dá)式 關(guān)系運(yùn)算符 關(guān)系表達(dá)式 邏輯運(yùn)算符 邏輯表達(dá)式第74頁(yè),共326頁(yè)。3.3.1運(yùn)算符 1. 算術(shù)運(yùn)算符 八種算術(shù)運(yùn)算符:、-、*、/、mod、+、- 例:5+10 mod 10 9 / 3 +2 2 結(jié)果: 注意:算術(shù)運(yùn)算符兩邊的操作數(shù)應(yīng)是數(shù)值型,若是數(shù)字字符或邏輯型,則自動(dòng)轉(zhuǎn)換為數(shù)值類(lèi)型后再運(yùn)算。 如:30-True=31,True自動(dòng)轉(zhuǎn)換為-1,F(xiàn)alse轉(zhuǎn)換為0。 False+10+”4”=14 True+12+”a”錯(cuò)誤求余和整除運(yùn)算時(shí),若運(yùn)算

40、量不是整數(shù),則先四舍五入為整數(shù),再運(yùn)算。求余運(yùn)算結(jié)果的符號(hào)始終與第一個(gè)運(yùn)算量符號(hào)相同。10第75頁(yè),共326頁(yè)。2. 字符串運(yùn)算符& 兩旁的操作數(shù)可任意,轉(zhuǎn)換成字符型后再連接。+ 兩旁的操作數(shù)應(yīng)均為字符型,如果 1)數(shù)值型則進(jìn)行算術(shù)加運(yùn)算; 2)一個(gè)為數(shù)字字符,另一個(gè)為數(shù)值,自動(dòng)將數(shù)字字符轉(zhuǎn)換為數(shù)值后進(jìn)行 算術(shù)加; 3)一個(gè)為非數(shù)字字符,另一個(gè)為數(shù)值型,出錯(cuò)。例如: 操作 結(jié)果 操作 結(jié)果ab & 123 ab123 ab + 12 出錯(cuò)12 & 456 12456 12 + 456 468 12 & True 12True12 + True 11“12” & 100 +12 12112 “1

41、2” + 100 & 12 11212 注意:使用&運(yùn)算時(shí),變量與運(yùn)算符之間應(yīng)加一個(gè)空格,以示與長(zhǎng)整型類(lèi)型符的區(qū)別。第76頁(yè),共326頁(yè)。3關(guān)系運(yùn)算符 將兩個(gè)操作數(shù)進(jìn)行大小比較,結(jié)果為邏輯值。 八種關(guān)系運(yùn)算符:=、=、=、Like、Is 注意:字符串比較,則按字符的ASCII碼值從左到右一一比較,直到出現(xiàn)不同的字符為止。 例: ABCDE ABRA 結(jié)果為 False 常見(jiàn)的字符值的大小比較關(guān)系如下: “空格”“0” “9”“A”“Z”“a”“z”189”,結(jié)果False;數(shù)值型與不能轉(zhuǎn)換成數(shù)值型的字符型不能比較,如4”12a”,出錯(cuò)。漢字之間按漢字的拼音字母比較。關(guān)系運(yùn)算符的優(yōu)先級(jí)相同。 第

42、77頁(yè),共326頁(yè)。4. 邏輯運(yùn)算符 將操作數(shù)進(jìn)行邏輯運(yùn)算,結(jié)果是邏輯值: 條件表達(dá)式1 And 條件表達(dá)式2 條件表達(dá)式均為T(mén), 結(jié)果為T(mén); 條件表達(dá)式1 Or 條件表達(dá)式2 條件表達(dá)式有一個(gè)為T(mén) 結(jié)果為T(mén)。第78頁(yè),共326頁(yè)。3.3.2 表達(dá)式 1. 組成 由變量、常量、函數(shù)、運(yùn)算符和圓括號(hào)按一定規(guī)則組成。 2.書(shū)寫(xiě)規(guī)則 (1) 運(yùn)算符不能相鄰。例a+ -b是錯(cuò)誤的。 (2) 乘號(hào)不能省略。例x 乘以y 應(yīng)寫(xiě)成:x*y。 (3) 括號(hào)必須成對(duì)出現(xiàn),均使用配對(duì)的圓括號(hào)。 (4) 表達(dá)式從左到右在同一基準(zhǔn)上書(shū)寫(xiě),無(wú)高低、大小。 3. 不同數(shù)據(jù)類(lèi)型的轉(zhuǎn)換 運(yùn)算結(jié)果的數(shù)據(jù)類(lèi)型向精度高的數(shù)據(jù)類(lèi)型靠

43、。 IntegerLongSingleDouble=字符運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算第79頁(yè),共326頁(yè)。表達(dá)式書(shū)寫(xiě)舉例a*b*c*d/e/f/g 或 a*b*c*d/(e*f*g) 例邏輯表達(dá)式書(shū)寫(xiě),選拔優(yōu)秀生的條件為:年齡(Age)小于19歲,三門(mén)課總分(Total)高于285分,其中有一門(mén)為100分,如果其表達(dá)式寫(xiě)為:Age285 And ( Mark1=100 Or Mark2 =100 Or Mark3=100 )如果取消括號(hào)有何問(wèn)題?請(qǐng)讀者考慮。 sin(45*3.14/180)+(exp(10)+log(10)/sqr(x+y+1)例:表示算術(shù)表達(dá)式: 正確的VB表達(dá)式: 3=x A

44、nd x =7 錯(cuò)誤的VB表達(dá)式: 3=x=7 或 3=x Or x=7 第80頁(yè),共326頁(yè)。一、數(shù)學(xué)函數(shù)1.求絕對(duì)值函數(shù)Abs(x) 函數(shù)格式:Abs(x) 函數(shù)功能:求x的絕對(duì)值。 舉例:設(shè)c=9.56,d=-5.7,則Abs(d+c) 的值為3.862.符號(hào)函數(shù)Sgn(x) 函數(shù)格式:Sgn(x) 函數(shù)功能:求x的符號(hào), 返回值1、-1、0 舉例:表達(dá)式Sgn(-6.7)結(jié)果為-1 3.求平方根函數(shù)Sqr(x) 函數(shù)格式:Sqr(x) 函數(shù)功能:求x的平方根,但x的值必須為非負(fù)數(shù) 舉例:表達(dá)式Sqr(2) 的值為1.4142135623731。3.3.3 Visual Basic的內(nèi)部

45、函數(shù)第81頁(yè),共326頁(yè)。4.指數(shù)函數(shù) Exp(x) 函數(shù)格式:Exp(x) 函數(shù)功能:求以e為底,以x為指數(shù)的值,即求e的x次冪 舉例:表達(dá)式Exp(1) 的值為2.718281828459055.對(duì)數(shù)函數(shù)Log(x) 函數(shù)格式:Log(x) 函數(shù)功能:求以e為底的對(duì)數(shù)值(即自然對(duì)數(shù)),x必須為正數(shù) 舉例:表達(dá)式Log(2) 的值為0.6931471805599456.正弦函數(shù)Sin(x) 函數(shù)格式:Sin(x) 函數(shù)功能:求x的正弦函數(shù)值,x必須為以弧度為單位表示的角度 7.余弦函數(shù)Cos(x) 函數(shù)格式:Cos(x) 函數(shù)功能:求x的余弦函數(shù)值,x必須為以弧度為單位表示的角度第82頁(yè),共

46、326頁(yè)。8.正切函數(shù)Tan(X)函數(shù)格式:Tan(x) 函數(shù)功能:求x的正切函數(shù)值9.隨機(jī)數(shù)函數(shù)Rnd(x)隨機(jī)數(shù)函數(shù)Rnd(x) 變量x可省略,可產(chǎn)生一個(gè)0l)之間的雙精度隨機(jī)數(shù) 當(dāng)x0或x0時(shí),則每次產(chǎn)生的隨機(jī)數(shù)都相同當(dāng)x0或省略時(shí),產(chǎn)生下一個(gè)隨機(jī)數(shù)Randomize語(yǔ)句:產(chǎn)生隨機(jī)化因子語(yǔ)句格式:Randomize (x)例如:要產(chǎn)生1100之間的隨機(jī)整數(shù):Int(Rnd*100+1)第83頁(yè),共326頁(yè)。二、轉(zhuǎn)換函數(shù)1.取整函數(shù)Int( ) 函數(shù)格式:Int(x) 功能:求不大于x的最大整數(shù),返回值為整型數(shù) 舉例:設(shè)x=5.67, y=-5.67, 則Int(x)=5,int(y)=-

47、62.舍去小數(shù)部分函數(shù)Fix和四舍五入取整函數(shù)Round 函數(shù)格式:Fix(x) ,Round(x) 函數(shù)功能:去掉x的小數(shù)部分或四舍五入,返回值為整型數(shù) 舉例:設(shè)a=5.69,b=-5.88, Fix(a)=5, Round(b)=-6 3.十進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制函數(shù) 函數(shù)格式:Hex(x) 或Hex$(x),轉(zhuǎn)換后的結(jié)果為一字符串 4.十進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制函數(shù) 函數(shù)格式:Oct(x) 或Oct$(x) ,轉(zhuǎn)換后的結(jié)果為一字符串 第84頁(yè),共326頁(yè)。5.將字符串中的小寫(xiě)字母轉(zhuǎn)換成大寫(xiě)字母函數(shù) 函數(shù)格式:Ucase(字符串表達(dá)式) 6.將字符串中的大寫(xiě)字母轉(zhuǎn)換成小寫(xiě)字母函數(shù) 函數(shù)格式:Lca

48、se(字符串表達(dá)式) 7.求字符的ASCII碼函數(shù) 函數(shù)格式:Asc(字符串表達(dá)式) 求字符串表達(dá)式中的第一個(gè)字符的ASCII碼值8.求ASCll碼值對(duì)應(yīng)的字符函數(shù) 函數(shù)格式:Chr(表達(dá)式) 表達(dá)式的值必須是一個(gè)合法的ASCII碼值 9.把數(shù)字字符串轉(zhuǎn)換為數(shù)值的函數(shù) 函數(shù)格式:Val(字符串) 如果字符串是一個(gè)非數(shù)字字符串,則該函數(shù)的函數(shù)值為0,字母字符不轉(zhuǎn)換,如:Val(“abcxyz”) 的值為0 , Val(“123.4+xyz”) 的值為123.4 10.把數(shù)值轉(zhuǎn)換為數(shù)字字符串的函數(shù) 函數(shù)格式:Str(數(shù)值表達(dá)式) 舉例:Str(23.56) 的值為字符串“ 23.56”第85頁(yè),共

49、326頁(yè)。數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù) 1.轉(zhuǎn)換為整型數(shù)據(jù)的函數(shù)函數(shù)格式:CInt(數(shù)值表達(dá)式) 小數(shù)部分的第1位進(jìn)行四舍五入 如 CInt(34.5) =352.轉(zhuǎn)換為貨幣類(lèi)型數(shù)據(jù)的函數(shù)函數(shù)格式:CCur(數(shù)值表達(dá)式) 保留4位小數(shù)且自動(dòng)將第5位小數(shù)進(jìn)行四舍五入3.轉(zhuǎn)換為雙精度類(lèi)型數(shù)據(jù)的函數(shù)函數(shù)格式:CDbl(數(shù)值表達(dá)式) 4.轉(zhuǎn)換為長(zhǎng)整型數(shù)據(jù)的函數(shù)函數(shù)格式:CLng(數(shù)值表達(dá)式) 第86頁(yè),共326頁(yè)。5.轉(zhuǎn)換為單精度類(lèi)型數(shù)據(jù)的函數(shù)函數(shù)格式:CSng(數(shù)值表達(dá)式) 6.轉(zhuǎn)換為變體類(lèi)型數(shù)據(jù)的函數(shù)函數(shù)格式:CVar(數(shù)值表達(dá)式) 7.轉(zhuǎn)換為字符串類(lèi)型數(shù)據(jù)的函數(shù)函數(shù)格式:CStr(表達(dá)式) 8.轉(zhuǎn)換為日期類(lèi)

50、型數(shù)據(jù)的函數(shù)函數(shù)格式:CDate(表達(dá)式) 第87頁(yè),共326頁(yè)。三、字符串處理函數(shù)1.刪除字符串兩端空格字符函數(shù)函數(shù)格式:Trim(字符串表達(dá)式) 舉例:Trim( abc ) & xyz的值為“abcxyz”。2.刪除字符串左端的空格字符函數(shù) 函數(shù)格式:LTrim(字符串表達(dá)式) 舉例;LTrim( abc ) & xyz的值為“abc xyz”。3.刪除字符串右端空格字符函數(shù) 函數(shù)格式:RTrim(字符串表達(dá)式) 舉例:RTrim( abc ) & xyz的值為“ abcxyz”。4.從字符串的左端截取字符函數(shù) 函數(shù)格式:Left(字符串表達(dá)式,n) 舉例:Left(abcdefgh,3

51、) 的值為“abc”。第88頁(yè),共326頁(yè)。5. 從字符串的中部截取字符函數(shù) 函數(shù)格式:Mid(字符串表達(dá)式,n,m) 舉例:Mid(“abcdefgh”,3,5) 的值為“cdefg”。 Mid(abcdefgh,3) 的值為“cdefgh”。6從字符串的右端截取字符函數(shù) 函數(shù)格式:Right(字符串表達(dá)式,n) 舉例:Right(abcdefgh,4) 的值為“efgh”。7求字符串的長(zhǎng)度函數(shù) 函數(shù)格式:Len(字符串表達(dá)式) 或Len(變量名) 舉例:Len(“abcd科學(xué)家123”) 的值為 10 也可以求出某個(gè)變量所占的存儲(chǔ)空間 Private Sub Command1_Click(

52、) Dim x As Integer,y As Single,Dim z As Double Print Len(x),Len(y),Len(z) End Sub第89頁(yè),共326頁(yè)。8.求字符串所占字節(jié)數(shù)函數(shù) 函數(shù)格式:LenB(字符串表達(dá)式) 或LenB(變量名) 舉例:LenB(“abed科學(xué)家123”) 的值為 209.產(chǎn)生字符串函數(shù) 函數(shù)格式:String(n,字符) 或String(n, ASCII碼) 舉例:String(10, a) 的值為“aaaaaaaaaa”,String(5, 65) 的值為“AAAAA” 10.產(chǎn)生空格字符串函數(shù) 函數(shù)格式:Space(n) 舉例;ab

53、cd & space(5) & xyz 的值為“abcd xyz”11.字符串查找函數(shù) 函數(shù)格式:InStr(首字符位置, 字符串1,字符串2,n ) 如果找到了則返回“字符串2”在“字符串1”中第一次出現(xiàn)時(shí)第一個(gè)字符在“字符串1”中的位置,找不到時(shí)返回值為0。第90頁(yè),共326頁(yè)。12.在C字符串中從1或N1開(kāi)始將C2替代C1的函數(shù) 函數(shù)格式: Replace(C,C1,C2,N1,N2,M) 有N2替代N2次,沒(méi)有則全部替代。省略M為區(qū)分大小寫(xiě)。例如:Replace(“abcdabcd”,”cd”,”123”)=“ab123ab123” 13.將字符串反序的函數(shù) 函數(shù)格式:StrRever

54、se(字符串) 舉例: StrReverse(“abcxyz”) 的值為”zyxcba” 14. 將數(shù)組A各元素按D或空格連接成字符串的函數(shù) 函數(shù)格式: Join(A,D) 舉例:A=array(“123”,”ab”,”c”) Join(A,“ ”)的值為字符串“123 ab c”15.將字符串C按分隔符D或空格分隔成字符數(shù)組的函數(shù) 函數(shù)格式: Split(C,D) 舉例:S=Split(“123,ab,456”,”,”) 則S(0)=“123” S(1)=“ab” S(2)=“456” 第91頁(yè),共326頁(yè)。3.4.6 日期和時(shí)間函數(shù)1.返回系統(tǒng)當(dāng)前的日期和時(shí)間函數(shù)函數(shù)格式:Now或Now(

55、 ) 返回格式為yy-mm-dd hh:mm:ss 2.讀取或設(shè)置系統(tǒng)當(dāng)前的日期函數(shù)函數(shù)格式:Date或Date( ),Date$或Date$( ) 可以設(shè)置系統(tǒng)當(dāng)前的日期:Date=日期字符串 3.讀取或設(shè)置系統(tǒng)當(dāng)前的時(shí)間函數(shù)函數(shù)格式:Time或Time( ),Time$或Time$( ) 可以設(shè)置系統(tǒng)當(dāng)前的時(shí)間:Time=時(shí)間字符串 第92頁(yè),共326頁(yè)。4.求日期中的年份函數(shù)函數(shù)格式:Year(日期字符串) ,結(jié)果為一整型數(shù) 5.求日期中的月份函數(shù)函數(shù)格式:Month(日期字符串) 6.求日期中的日子函數(shù)函數(shù)格式:Day(日期字符串) 7.求當(dāng)前日期是星期幾的函數(shù)函數(shù)格式:Weekday

56、(日期字符串) 結(jié)果為一整型數(shù),1代表星期日,7代表星期六第93頁(yè),共326頁(yè)。8.求時(shí)間中的小時(shí)函數(shù)函數(shù)格式:Hour(時(shí)間字符串) Hour(21:09:10) =219.求時(shí)間中的分鐘函數(shù)函數(shù)格式:Minute(時(shí)間字符串) 10.求時(shí)間中的秒函數(shù)函數(shù)格式:Second(時(shí)間字符串) 11.計(jì)算從午夜起經(jīng)過(guò)的秒數(shù)函數(shù)函數(shù)格式:Timer或Timer( ) 視系統(tǒng)當(dāng)時(shí)的時(shí)間而定第94頁(yè),共326頁(yè)。12.對(duì)要增減的日期變量按日期形式做增減的函數(shù) 形式:DateAdd(增減日期形式,增減量,日期變量) 例如: DateAdd(“m”,3,#3/10/2009#)結(jié)果是#6/10/2009#1

57、3. 兩個(gè)指定的日期按日期形式求差額的函數(shù) 形式:DateDiff(要間隔日期形式,日期1,日期2) 例如:DateDiff(“d”,now,#2009/5/1#) 日期形式的意義: yyyy年 q季 m月 y一年的天數(shù) d日 w一周的天數(shù) ww星期 h時(shí) n分 s秒第95頁(yè),共326頁(yè)。四、Shell函數(shù) Shell函數(shù)負(fù)責(zé)執(zhí)行一個(gè)可執(zhí)行文件,返回一個(gè)任務(wù)標(biāo)識(shí),如果成功,代表這個(gè)程序的進(jìn)程ID,若不成功,則會(huì)返回0。 形式:Shell(命令字符串,窗口類(lèi)型) 窗口類(lèi)型值為1表示正常窗口,缺省為窗口最小化為圖標(biāo)。 例如: i = Shell(c:windowscalc.exe) j = She

58、ll(c:command, 1) 第96頁(yè),共326頁(yè)。3.4 程序結(jié)構(gòu)和編碼規(guī)則 本章目錄第97頁(yè),共326頁(yè)。編 碼 規(guī) 則1.編碼規(guī)則 VB代碼中不區(qū)分字母的大小寫(xiě)同一行可書(shū)寫(xiě)多條語(yǔ)句,但要用冒號(hào)“:”分隔換行時(shí)需在行后加入續(xù)行符,即1個(gè)空格加下劃線一行最多允許255個(gè)字符注釋以Rem或“”開(kāi)頭,出現(xiàn)在語(yǔ)句前面或后面程序轉(zhuǎn)向時(shí)用標(biāo)號(hào),標(biāo)號(hào)以字母開(kāi)始加一冒號(hào) 第98頁(yè),共326頁(yè)。2.約定關(guān)鍵字的首字母大寫(xiě)。若關(guān)鍵字由多個(gè)英文單詞組成,則每個(gè)單詞的首字母都大寫(xiě),如 StudType等。注釋有利于程序的維護(hù)和調(diào)試,因此要養(yǎng)成注釋的習(xí)慣。 設(shè)置注釋或取消注釋的方法: 選中要加注釋塊的語(yǔ)句行或單

59、擊編輯工具欄的“設(shè)置/取消注釋塊”按鈕。第99頁(yè),共326頁(yè)。3.5 綜合應(yīng)用例3.1 模仿字處理軟件中字符串替換功能。設(shè)計(jì)思路:利用Shell函數(shù)調(diào)用winword.exe執(zhí)行Word程序?qū)崿F(xiàn)替換功能;利用查找(InStr)、取子串(Left、Mid)等函數(shù)實(shí)現(xiàn)替換功能;利用替換(Replace)函數(shù)實(shí)現(xiàn)替換功能。本章目錄第100頁(yè),共326頁(yè)。3.6 常 見(jiàn) 錯(cuò) 誤1. 邏輯表達(dá)式書(shū)寫(xiě)錯(cuò),在VB沒(méi)有造成語(yǔ)法錯(cuò)而形成邏輯錯(cuò) 例如,數(shù)學(xué)表達(dá)式 3x10 VB表達(dá)式寫(xiě)為 3=x、=、=、Is、Like 同級(jí) 邏輯運(yùn)算符:Not、And、Or 高到低5.表達(dá)式書(shū)寫(xiě)及值的類(lèi)型6.常用函數(shù) 要掌握的數(shù)

60、學(xué)函數(shù)有:Rnd、Sgn、Abs等; 要掌握的字符串函數(shù)有:Instr、Left、Right、Mid、Len、LenB、String等; 要掌握的轉(zhuǎn)換函數(shù)有:Int、Round、Fix、Lcase、Ucase、Asc、Chr、Val、Str 等; 要掌握的日期和時(shí)間函數(shù)有:Date、Time、Now等。7.VB程序的書(shū)寫(xiě)規(guī)則本章目錄第102頁(yè),共326頁(yè)。第四章 基本的控制結(jié)構(gòu) 4.1 順序結(jié)構(gòu) 4.2 選擇結(jié)構(gòu) 4.3 循環(huán)結(jié)構(gòu) 4.4 其他輔助控制語(yǔ)句 4.5 綜合應(yīng)用 4.6 程序調(diào)試 4.7 常見(jiàn)錯(cuò)誤第103頁(yè),共326頁(yè)。4.1 順序結(jié)構(gòu) 順序結(jié)構(gòu)就是各語(yǔ)句按出現(xiàn)的先后次序執(zhí)行。一般

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論