Visual Basic 程序設(shè)計教程
《Visual Basic 程序設(shè)計教程》由會員分享,可在線閱讀,更多相關(guān)《Visual Basic 程序設(shè)計教程(16頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 Visual Basic 程序設(shè)計教程 (第三版) 高等教育出版社 第一章 Visual basic 程序設(shè)計概述 第二章 VB語言基礎(chǔ) 2.1 VB對象的概念 2.1.1 對象和類 1、對象 對象即指現(xiàn)實世界中無所不在、各種各樣的實體,它可以是具體的事物,也可以是抽象的事物。每個對象都有自己的特征、行為和發(fā)生在該對象上的一切活動。 在面向?qū)ο蟪绦蛟O(shè)計中,把對象的特征稱為屬性,對象的行為稱為方法、對象的活動稱為事件,這就是構(gòu)成對象的三要素。 對象是構(gòu)成程序的基本成分和核心。 2、類 在現(xiàn)實世界中,具有相似性質(zhì),執(zhí)行
2、相同操作的對象,稱為同一類對象, 在面向?qū)ο蟪绦蛟O(shè)計中,類包含所創(chuàng)對象屬性的數(shù)據(jù),以及對這些數(shù)據(jù)進(jìn)行操作的方法定義。封裝和隱藏是類的重要特性,它將數(shù)據(jù)的結(jié)構(gòu)和對數(shù)據(jù)的操作封裝在一起,實現(xiàn)了類的外部特性和類內(nèi)部的隔離。 3、VB中的類和對象 VB中的類可以分為兩種:一類是由系統(tǒng)設(shè)計,直接供用戶使用;另一類是由用戶自己定義。 在vb中,工具箱上的可視圖標(biāo)是由VB系統(tǒng)設(shè)計的標(biāo)準(zhǔn)控件類,例如,命令按鈕類,文本框類等。通過將控件類實例化,可以得到真正的控件對象;除了通過控件類產(chǎn)生控件對象外,VB還提供了系統(tǒng)對象,例如,打印機(jī)(Printer)、剪貼板(Clipboard)、屏幕(Scree
3、n)、應(yīng)用程序(App)等。 2.1.2對象的屬性、事件和方法 實例化的控件對象具有自己的屬性、事件和方法。 1、 屬性 可以通過以下兩種方法設(shè)置對象的屬性: (1) 在設(shè)計階段利用屬性窗口直接設(shè)置對象的屬性值。 (2) 在程序運行階段通過賦值語句實現(xiàn),其格式為: 對象名.屬性名=屬性值 例如:Command1.Caption=”確定” 2、 事件、事件過程和事件驅(qū)動 (1)事件 第三章 用戶界面設(shè)計——窗體和基本控件 3.1 通用屬性 簡要介紹窗體和最基本控件的使用。 不同的控件有不同的屬性,也有相同的屬性。通用屬性表示大部分控件具有的屬性,系統(tǒng)為每
4、個屬性提供了默認(rèn)的屬性值,在屬性窗口中可以看到所選對象的屬性設(shè)置。屬性設(shè)置有以下兩種方式: ①通過屬性窗口設(shè)置 ②通過代碼窗口來設(shè)置。 下面列出最常見的通用屬性: ⑴Name屬性:所有的對象都具有的屬性,是所創(chuàng)建對象的名稱。在應(yīng)用程序中,對象名稱的作用是作為對象的標(biāo)識在程序中引用,不會顯示在窗體上。 ⑵Caption屬性:決定了控件上顯示的文本內(nèi)容。 ⑶Height、Width、Top和Left屬性:Top表示控件到窗體頂部的距離,Left表示控件到窗體左邊框的距離。 ⑷Font屬性:FontName(字體)屬性是字符型,如FontName=”宋體”; Fon
5、tSize(字體大小)屬性是整型; FontBold=True(粗體);FontItalic=True(斜體); FontStrikethru(刪除線);FontUnderline(True表示加下劃線) ⑸Enable屬性:決定控件是否可用。 ⑹Visible屬性:決定控件是否可見。 ⑺控件默認(rèn)屬性:所謂默認(rèn)屬性,是在程序運行時,不必指明屬性名而可改變其值的那個屬性。如:Text1.Text=“控件”與Text1=“控件”是等價的。 3.2基本控件 3.2.1標(biāo)簽 標(biāo)簽(Lable)主要是用來顯示文本信息,而不能輸入信息。標(biāo)簽控件的內(nèi)容只能用Captio
6、n屬性來設(shè)置或修改,不能直接編輯。 1.主要屬性: ⑴BorderStyle屬性——邊框樣式 0——控件周圍沒有邊框 1——控件帶有單邊框 ⑵Alignment屬性:控件上標(biāo)題(Caption)的對齊方式。 2.事件 標(biāo)簽經(jīng)常響應(yīng)的事件有:單擊、雙擊和改變(Change)。 3.2.2文本框 文本框是一個文本編輯區(qū)域。 1.重要屬性 屬性 類型 意義 Text 字符串 編輯過的正文 MultiLine 邏輯 值為True時,文本方可多行顯示 ScrollBars 整型 設(shè)置滾動條,僅當(dāng)MultiLine為T
7、rue時有效 PasswordChar 字符 設(shè)置顯示文本框中的替代符,一般以“*”顯示 當(dāng)僅當(dāng)MultiLine為True時,該屬性無效 Locked 邏輯 默認(rèn)值為False,表示可編輯 SelStart 整型 返回選中文本第一個字符的位置 SelLength 整型 選定的正文長度 SelText 字符串 返回用戶在文本框中所選的文本,如果沒有則返回0 2.事件 ⑴Change事件 ⑵Keypress事件 ⑶LostFocus事件 ⑷GotFocus事件 3.方法 【對象?!縎etFocus 4.文本框的應(yīng)用 例2
8、.5 利用文本框,實現(xiàn)簡單的兩數(shù)加法運算。要求文本框具有對輸入的數(shù)進(jìn)行合法性檢查的功能。 分析: ①文本框數(shù)據(jù)輸入結(jié)束可以通過按回車鍵或Tab鍵來表示。按回車鍵時,焦點沒有離開,通過KeyPress事件來判斷;按Tab鍵,焦點離開該控件,通過LostFocus事件來判斷。 ②判斷輸入是否是數(shù)字字符,由IsNumeric函數(shù)來實現(xiàn),返回值是True表示數(shù)字,否則,表示有非數(shù)字字符。 程序如下: Private Sub Text1_lostFocus() '按Tab鍵引發(fā)該事件 If Not IsNumeric(Text1) Then Text1 = "" Text1.S
9、etFocus End If End Sub Private Sub Text2_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If Not IsNumeric(Text2) Then Text2 = "" End If End If End Sub Private Sub Text3_GotFocus() Text3 = Val(Text1) + Val(Text2) End Sub 3.2.3命令按鈕 1.主要屬性 ①Caption屬性:表示按鈕上顯示的文字。如果某個字母前加入“&”,
10、則程序運行時標(biāo)題中的該字母帶有下劃線,帶有下劃線的字母就成為快捷鍵;當(dāng)用戶按下Alt+該快捷鍵,便可激活操作該按鈕。 ②Style屬性: 0——Standard:(默認(rèn))標(biāo)準(zhǔn)的,按鈕上不能顯示圖形。 1——Graphical:圖形的,按鈕上可以顯示圖形的樣式,也能顯示文字。 注意:若在Picture屬性中選擇了圖片文件,而此處的屬性值為0,則圖形仍然不能顯示。 ③Picture屬性:按鈕裝入圖形文件(.bmp和.ico),d但Style必須為1. ④ToolTipText屬性:按鈕若是圖形,就加以文字提示(當(dāng)運行時指向該按鈕)。 ⑤默認(rèn)屬性(Default):
11、 用于是否將窗體的控制按鈕設(shè)置為窗體的默認(rèn)按鈕。 默認(rèn)按鈕:用戶沒有選擇任何按鈕直接按回車鍵的時候,默認(rèn)使用的按鈕。 2.事件 命令按鈕也具有Click事件。 3.2.4單選按鈕、復(fù)選框和框架 1.單選按鈕(OptionButton) 單選按鈕(OptionButton)的左邊有一個O,單選按鈕常以組的形式出現(xiàn),只允許用戶在其中選擇一項。當(dāng)某一項被選定后,其左邊的圓圈中會出現(xiàn)一個黑點。 主要屬性:Caption和Value。Caption屬性的值是單選按鈕上顯示的文本。Value屬性是默認(rèn)屬性,其值為邏輯型,表示單選按鈕的狀態(tài):True——被選定。 2.復(fù)選框(
12、CheckBox) ——復(fù)選框的左邊有一個*。復(fù)選框列出了可供用戶選擇的選項,用戶根據(jù)需要選定其中的一項或多項。當(dāng)某一項被選定后,其左邊的方框就變成了R。 主要屬性:Caption和Value。Caption屬性的值是復(fù)選框上顯示的文本。Value屬性是默認(rèn)屬性,其值為整型,表示復(fù)選框的狀態(tài): 0——vbUnchecked:未被選定,默認(rèn)值。 1——vbChecked:被選定。 2——vbGrayed:灰色(變暗),并顯示一個選中標(biāo)記,表示部分選定。 3.框架(Frame) 當(dāng)需要在同一個窗體中建立幾組相互獨立的單選按鈕時,就需要用框架將每一組單選按鈕組成起來
13、。這樣,在一個框架內(nèi)的單選按鈕為一組,對它們的操作不會影響框架以外的單選按鈕。 框架的主要屬性是Caption,其值是框架上的標(biāo)題名稱。如果Caption為空字符串,則框架為封閉的矩形框。 3.2.5列表框和組合框控件 列表框 列表框(ListBox)控件是一個顯示多個項目的列表,便于用戶選擇一個或多個列表項目,但不能修改其中的內(nèi)容。 1.主要屬性 列表框的主要屬性 屬性 類型 說明 屬性值設(shè)置或引用 List 字符數(shù)組 存放列表項目值,第一個元素的下標(biāo)為0. 列表框中所有的選項可以通過List(下標(biāo)值)的形式指定。如list1.list(0)=””
14、在屬性窗口 在代碼窗口 ListIndex 整型 程序運行時被選定的項目的序號 代碼窗口 ListCount 整型 列表框中項目的總數(shù),項目的下標(biāo)為0~Listcount-1 在代碼窗口 Sorted 邏輯型 Text 字符型 被選定項目的文本內(nèi)容如:List1.Text 在代碼窗口中 Selected 邏輯型數(shù)組 列表框某項的狀態(tài),選中為True 代碼窗口 MultiSelect 整型 確定列表框是否允許多選 在屬性窗口 注意:List1.List(List1.ListIndex)等于List1.Text。 2.方法 ⑴AddIt
15、em方法 形式:列表框?qū)ο? AddItem項目字符串【,索引值】 作用:把一個新項目加入列表框。 ⑵RemoveItem方法 形式:列表框?qū)ο? RemoveItem索引值 作用:從列表框刪除由索引值指定的項目。 ⑶Clear方法 形式:列表框?qū)ο?Clear 作用:清楚列表框所有項目的內(nèi)容。 3.事件 列表框能夠響應(yīng)Click和DblClick事件。 組合框 組合框(ComboBox)是一種兼有文本框和列表框兩者功能特性而形成的控件。 列表框和組合框應(yīng)用 3.2.6圖形框和圖像框 圖形框(PictureBox)和圖像框(Image)控件在
16、應(yīng)用程序中可以創(chuàng)作圖形效果,都可以顯示BMP、ICO、WMF、GIF、JPEG等文件的圖形。 1. 圖形框 圖形框的主要屬性有Picture和Autosize。 ⑴Picture屬性 Picture屬性決定控件中所顯示的圖形文件,其值可以通過下列三種途徑獲得:①在設(shè)計狀態(tài),直接選擇圖形文件設(shè)置Picture屬性。 ②在程序運行時使用LoadPicture()函數(shù)裝入圖形,使用形式為: 圖形框. Picture= LoadPicture(“圖形文件名”) 例如:PictureBox1.Picture= LoadPicture(”c:\WINNT\bubbles.bmp”)
17、若要在程序運行時刪除圖形,也要用LoadPicture()函數(shù),其形式為: 圖形框. Picture= LoadPicture(“”) ③裝入另一個圖形框中的圖形,使用形式為: 圖形框1.Picture=圖形框2.Picture ⑵ Autosize屬性 當(dāng)Autosize屬性設(shè)置為True時,圖形框能自動調(diào)整大小與顯示的圖片匹配; 若Autosize屬性設(shè)置為False時,因為此時圖形框不能自動改變大小,若加載的圖形比控件大,則超過的部分將被剪裁。 2. 圖像框 圖像框與圖形框基本相同,區(qū)別在于兩點:一是圖像框不能作為容器存放其他控件;二是圖像框沒有Autosize屬
18、性,但是有Stretch屬性。 ⑴Stretch屬性用于伸展圖像。 當(dāng)Stretch屬性設(shè)置為False時,在設(shè)計狀態(tài),圖像框可以自動改變大小; 當(dāng)Stretch屬性設(shè)置為True時,加載到圖像框的圖形可以自動調(diào)整尺寸,以適應(yīng)圖像框的大小,但是圖形有可能會失真。即利用圖像框的Stretch屬性可實現(xiàn)圖形的縮放。 3.2.7滾動條和進(jìn)度條 1.滾動條 滾動條有水平滾動條(HScrollBar)和垂直滾動條(VScrollBar)兩種。 主要屬性: ⑴Value屬性:滑塊當(dāng)前位置所代表的值,默認(rèn)值為0. ⑵Min屬性:滑塊處于最小位置時所代表的值(-32768~32767
19、); Max屬性:滑塊處于最大位置時所代表的值(-32768~32767)。 ⑶事件 滾動條的重要事件有Scroll和Change。 2.ProgressBar控件 在VB中,ProgressBar控件用于設(shè)計這樣的進(jìn)度條,它位于Microsoft Windows Common Control6.0 部件中,需要加載后才能使用。 實例:調(diào)色板 3.2.8定時器 定時器(Timer)以一定的時間間隔產(chǎn)生Timer事件從而執(zhí)行相應(yīng)的事件過程。 1.定時器的主要屬性: ⑴Enable屬性:當(dāng)Enable屬性設(shè)置為False時,定時器不產(chǎn)生Timer事件。 ⑵In
20、terval屬性:Interval屬性決定兩個Timer事件之間的時間間隔,其值以ms為單位,介于0~64767ms之間。 定時器產(chǎn)生Timer事件的兩個前提條件是:Enable屬性設(shè)置為True;Interval屬性為非0。 2.定時器的事件 定時器控件只有一個Timer事件。 第四章 數(shù)據(jù)文件 程序設(shè)計時,存儲在變量或數(shù)組中的數(shù)據(jù)并不能長期保存,因為退出應(yīng)用程序時,變量和數(shù)組會釋放所占有的存儲空間。若要長期保存,需要將數(shù)據(jù)保存在文件或數(shù)據(jù)庫中。因此,處理數(shù)據(jù)文件和數(shù)據(jù)庫是程序員必須要掌握的兩個基本技術(shù)。 4.1 文件概述 文件是存儲在外存儲器(如磁盤)上的用文件名標(biāo)識
21、的數(shù)據(jù)的集合。 4.1.1文件的分類 文件的分類標(biāo)準(zhǔn)主要有以下三種: ⑴按文件的內(nèi)容分類,可分為程序文件和數(shù)據(jù)文件。 程序文件存儲的是程序,包括源程序和可執(zhí)行程序; 數(shù)據(jù)文件存儲的是程序運行所需要的各種數(shù)據(jù)。 ⑵按存儲信息的形式分類,可分為ASCII文件和二進(jìn)制文件。 ASCII文件存放的是各種數(shù)據(jù)的ASCII代碼,可以用記事本打開; 二進(jìn)制文件存放的是各種數(shù)據(jù)的二進(jìn)制代碼,不能用記事本打開,必須用專用程序打開。 ⑶按訪問模式分類,可分為順序文件、隨機(jī)文件和二進(jìn)制文件。 ①順序文件 順序文件要求按順序進(jìn)行訪問。讀出時按從頭到尾的順序讀,寫入時也一樣。 優(yōu)點:結(jié)構(gòu)簡單,
22、訪問模式簡單,用它處理文本文件比較方便; 缺點:必須按順序進(jìn)行訪問,因此不能同時進(jìn)行讀、寫兩種操作。 ②隨機(jī)文件 在隨機(jī)文件中,文件中每條記錄的長度都是相同的,記錄與記錄之間不需要特殊的分割符號。用戶只要給出記錄號。就可以直接訪問某一特定的記錄。 隨機(jī)文件存儲形式: 記錄1 記錄2 …… 記錄N 優(yōu)點:與順序文件相比,存取速度快,更新簡單。 ③二進(jìn)制文件 從訪問模式上來說,二進(jìn)制文件時最原始的文件類型,是由一系列字節(jié)所組成,沒有固定的格式,只是要求以字節(jié)為單位定位數(shù)據(jù)位置,允許程序直接訪問各個字節(jié)數(shù)據(jù),也允許程序按所需要的任何方式組織和訪問數(shù)據(jù)。 4.1.2文件讀\寫
23、 一般來說,處理數(shù)據(jù)文件的程序由三部分組成:打開文件,進(jìn)行讀\寫等操作,最后關(guān)閉文件。 打開文件時,系統(tǒng)為文件在內(nèi)存中開辟了一個專門的數(shù)據(jù)存儲區(qū)域,稱為文件緩沖區(qū)。每一個文件緩沖區(qū)都有一個編號,稱為文件號。文件號就代表文件,對文件的所有操作都是通過文件號進(jìn)行的。 對文件的操作主要有兩類:一是讀操作,也稱為輸入,即將數(shù)據(jù)從文件(存放在外存上)讀入到變量(內(nèi)存)供程序使用;二是寫操作,也稱輸出,即將數(shù)據(jù)從變量(內(nèi)存)寫入文件(存放到外存)。 將數(shù)據(jù)寫入文件時先是將數(shù)據(jù)寫入到文件緩沖區(qū)暫存,等到文件緩沖區(qū)滿了或文件關(guān)閉時才一次性輸出到文件。反之,從文件讀數(shù)據(jù)時從文件讀數(shù)據(jù)時,先是將數(shù)據(jù)送到文件
24、緩沖區(qū),然后再提交給變量。 文件操作結(jié)束后一定要關(guān)閉文件,因為有部分?jǐn)?shù)據(jù)仍然在文件緩沖區(qū)里,所以不關(guān)閉文件會有數(shù)據(jù)丟失情況發(fā)生,盡管大多數(shù)情況下操作系統(tǒng)會自動關(guān)閉文件。 4.2順序文件 在VB中,順序文件是最常用的一種文件類型。它有以下3個特點: ⑴按順序進(jìn)行訪問。讀數(shù)據(jù)從頭到尾按順序讀,寫入時也是一樣,不可以跳過前面的數(shù)據(jù)而直接讀\寫某個數(shù)據(jù)。 ⑵寫順序文件時,各種類型的數(shù)據(jù)自動轉(zhuǎn)換成字符串后寫入文件。因此,從本質(zhì)上來說,順序文件其實就是ASCII文件,可以用記事本打開。 ⑶讀順序文件時,可以按原來的數(shù)據(jù)類型讀,原來是什么類型,讀出來仍然是什么類型;也可以按通常的文本文件進(jìn)行處理
25、,即一行一行地讀或一個字符一個字符地讀。 對順序文件有以下說明: ①不管是將數(shù)據(jù)寫入順序文件,還是從順序文件讀出數(shù)據(jù),打開文件都是使用Open語句,只是模式不同。 ②順序文件是文本文件,各種類型的數(shù)據(jù)寫入文件時被自動轉(zhuǎn)換成字符串。 ③順序文件中的數(shù)據(jù)通常有兩種處理方法:一是按原來的數(shù)據(jù)類型讀出,然后進(jìn)行各種處理;二是純粹當(dāng)做文本文件進(jìn)行處理。 ④為了將文件中的數(shù)據(jù)按原有的數(shù)據(jù)類型讀出,所以定義了變量,每一行的三個數(shù)據(jù)讀出后送入相應(yīng)的變量。 ⑤讀寫文件結(jié)束后,要使用Close語句將文件關(guān)閉,否則會發(fā)生數(shù)據(jù)丟失現(xiàn)象。 常用的語句和函數(shù): 1.打開文件 打開文件的語句是Open,其
26、常用形式如下: Open 文件名 For 模式 As 【#】文件號 ⑴文件名可以是字符串常量,也可以是字符串變量。 ⑵“模式”為下列三種形式之一: Output:對文件進(jìn)行寫操作。若文件已經(jīng)存在,則文件中所有內(nèi)容將被清除。 Input:對文件進(jìn)行讀操作。 Append:在文件末尾追加記錄。 ⑶文件號是一個介于1-511之間的整數(shù)。 2.寫操作 將數(shù)據(jù)寫入順序文件所用的命令是Write #或Print #命令。其形式如下: ⑴Write # 文件號,[輸出列表] “輸出列表”一般是指用“,”分割的數(shù)值或字符串表達(dá)式。 例如語句:Write #1,“One”,“123”
27、 ⑵Print # 文件號,[輸出列表] 3.關(guān)閉文件 關(guān)閉文件所用的語句是Close,其形式如下: Close[[#]文件號][,[#]文件號]…… 4.讀操作 讀順序文件時常用的語句和函數(shù)有下列4個: ⑴EOF(文件號) 到達(dá)文件末尾時,EOF函數(shù)返回True,否則返回False。 ⑵LOF(文件號) LOF函數(shù)將返回文件的字節(jié)數(shù)。 ⑶Input #文件號,變量列表 Input # 語句,它從文件中讀出數(shù)據(jù),并將讀出的數(shù)據(jù)分別賦給指定的變量。 ⑷Line Input # 文件號,字符串變量 Line Input #語句從文件中讀出一行數(shù)據(jù),并將獨處的數(shù)據(jù)賦給指
28、定的字符串變量,獨處的數(shù)據(jù)中不包含回車符及換行符。 4.3隨機(jī)文件 隨機(jī)文件是由長度相同的一條條記錄所組成的集合 。 1.記錄 記錄是計算機(jī)處理數(shù)據(jù)的基本單位,通常由若干個相互關(guān)聯(lián)的數(shù)據(jù)項組成。 例如:學(xué)生的成績記錄 學(xué)號 姓名 成績 2.隨機(jī)文件 隨機(jī)文件是由一條條記錄所組成的集合。 在隨機(jī)文件中,每條記錄的長度都是完全相同的,并且都有一個記錄號,因而可以根據(jù)記錄號計算出記錄在文件中的存儲位置,因此也可以按記錄號直接讀寫。 記錄與記錄之間沒有特殊的分隔符號,也沒有記錄號。 在隨機(jī)文件中,每一條記錄都有記錄號且長度全部相同,數(shù)據(jù)類型是由Type語句定義的用戶
29、自定義數(shù)據(jù)類型,所以訪問隨機(jī)文件的程序框架要由4部分組成: ①定義記錄類型及其變量 ②打開隨機(jī)文件 ③將記錄寫入隨機(jī)文件,或者從隨機(jī)文件讀出記錄。 ④關(guān)閉隨機(jī)文件。 隨機(jī)文件常用語句: 1.隨機(jī)文件的打開和關(guān)閉 ⑴打開文件仍然使用Open語句,表達(dá)形式如下: Open 文件名 For Random As #文件號[Len=記錄長度] ⑵關(guān)閉文件仍然使用Close語句。 2.隨機(jī)文件的讀\寫 ⑴隨機(jī)文件的寫操作使用Put命令,其形式如下: Put [#] 文件號,[記錄號],變量名 ⑵隨機(jī)文件的讀操作使用Get命令,其形式如下: Ge
30、t [#]文件號,[記錄號],變量名 4.4二進(jìn)制文件 二進(jìn)制文件的訪問與隨機(jī)文件類似,讀\寫語句也是Get和Put,區(qū)別在于二進(jìn)制文件的訪問單位是字節(jié),而隨機(jī)文件的訪問單位是記錄。 第五章 圖形操作 5.1圖形操作基礎(chǔ) VB提供了一個簡單的二維圖形處理功能,方便圖形操作。在VB中繪制圖形,其過程一般分為4個步驟: ①先定義圖形載體窗體對象或圖形框?qū)ο蟮淖鴺?biāo)系。 ②設(shè)置線寬、線形、色彩等屬性。 ③指定畫筆的起終點位置。 ④調(diào)用繪圖方法繪制圖形。 5.1.1坐標(biāo)系統(tǒng) 1.VB坐標(biāo)系 在VB中,默認(rèn)的坐標(biāo)原點為對象的左上角,橫向向右為X軸的正向,縱向向下為
31、Y軸的正向。 2.自定義坐標(biāo)系 要是所畫的圖產(chǎn)生于數(shù)學(xué)坐標(biāo)系相同的效果,就需要重新定義對象的坐標(biāo)系。Scale方法是建立用戶坐標(biāo)系最方便的方法。 其語法是: [對象.]Scale[(xLeft,yTop)——(xRight,yBOtton)] 其中:①(xLeft,yTop)表示對象的左上角的坐標(biāo)值,(xRight,yBOtton)為對象的右下角的坐標(biāo)值。 5.2繪圖屬性 1.當(dāng)前坐標(biāo) 窗體或圖形框或打印機(jī)的CurrentX、CurrentY屬性給出這些對象在繪圖時的當(dāng)前坐標(biāo)。 2.線寬和線型 窗體、圖形框或打印機(jī)的DrawWidth屬性給出這些對象上所畫線的
32、寬度或點的大小。DrawWidth屬性以像素為單位來度量,最小值為1. DrawStyle屬性給出對象所畫線的形狀,最小值為0. 注意:有些線型僅當(dāng)DrawWidth屬性值為1時才能產(chǎn)生,當(dāng)DrawWidth的值大于1時,只能產(chǎn)生實線效果。 3.填充和色彩 ⑴填充 封閉圖形的填充方式由FillStyle、FillColor這兩個屬性決定。 FillColor指定填充圖案的顏色,默認(rèn)的顏色與ForeColor相同。 FillStyle屬性指定填充的圖案共有8種內(nèi)部圖案。其中,0為實填充,它與指定填充圖案的顏色有關(guān),1為透明方式。 ⑵RGB函數(shù) RGB函數(shù)通過紅
33、、綠、藍(lán)三基色混合產(chǎn)生某種顏色,其語法為: RGB(紅,綠,藍(lán))——紅綠藍(lán)三基色的成分使用0~255之間的整數(shù)。 ⑶QBColor函數(shù) QBColor函數(shù)采用Quick Basic所使用的16種顏色,其語法格式為: QBColor(顏色碼)。其中顏色碼使用0~15之間的整數(shù),每個顏色碼代表一種顏色。 為方便使用,VB定義了顏色常數(shù),只要在前綴字符vb后加上相應(yīng)顏色的英文單詞,就可以表達(dá)出來了。例如,紅色用vbRed,藍(lán)色用vbBlue. 5.3圖形方法 1.Line方法 Line方法用于畫直線或矩形,其語法格式如下: [對象.]Line[[Step](x1,y1)]-
34、[Step](x2,y2)[,顏色][,B[F]] 其中: ①關(guān)鍵字Step表示采用當(dāng)前作圖位置的相對值。 ②關(guān)鍵字B表示畫矩形。 ③關(guān)鍵字F表示用畫矩形的顏色來填充矩形,F(xiàn)必須與關(guān)鍵字B一起用。 2.Circle方法 Circle方法用于畫圓、橢圓、圓弧和扇形,其語法格式如下: [對象.] Circle[Step](x,y),半徑[,[顏色][,[起始點][,終止點][,長短軸比率]]]] 其中: ①(x,y)為圓心坐標(biāo),關(guān)鍵字Step表示采用當(dāng)前作圖位置的相對值。 ②圓弧和扇形通過參數(shù)起始點、終止點控制,采用逆時針方向繪弧。起始點、終止點以弧度為單位,取值在0
35、~2Л之間。當(dāng)在起始點、終止點前加一負(fù)號時,表示畫出圓心到圓弧的徑向線。 ③橢圓通過長短軸比率控制,默認(rèn)值為1時,畫出的是圓。 注意: ①使用Circle方法時,如果想省掉中間的參數(shù),分隔的逗號不能省。 ②如果要畫x上的徑向線,起始點可以用一個很小的數(shù)代表0或使用2Л. 3.Pset方法 Pset方法用于在指定位置上畫點,其語法格式如下: [對象.] Pset[Step](x,y)[,顏色] 4.Point方法 Point方法用于返回對象指定點的RGB顏色,其語法格式如下: [對象.]Point(x,y) 第六章 數(shù)據(jù)庫應(yīng)用基礎(chǔ) 6.1數(shù)據(jù)庫概述 1.1關(guān)系型數(shù)據(jù)
36、庫模型 在關(guān)系型數(shù)據(jù)庫中,行被稱為記錄,列被稱為字段。 1.2.使用SQL查詢數(shù)據(jù)庫 結(jié)構(gòu)化查詢語言(Structure Query Language,SQL) SQL的主要語句 語句 分類 描述 Select 數(shù)據(jù)查詢 在數(shù)據(jù)庫中查找滿足特定條件的記錄 Delete 數(shù)據(jù)操作 從數(shù)據(jù)表中刪除記錄 Insert 數(shù)據(jù)操作 向表中插入一條記錄 Updata 數(shù)據(jù)操作 用來改變特定記錄和字段的值 1.Select語句的基本語法形式 Select語句常用的語法形式為: SELECT 目標(biāo)表達(dá)式列表 FORM 表名 [Where 查詢條件] [Group
37、 BY 分組字段 HAVING 分組條件] [Order BY 排序關(guān)鍵字段[ASC|DESC]] 2.查詢條件 3.使用合計函數(shù) SQL提供了一些合計函數(shù)可以對記錄進(jìn)行統(tǒng)計操作。 常用合計函數(shù) 合計函數(shù) 描述 AVG 用來獲得特定字段中的平均數(shù) COUNT 返回選定記錄的個數(shù) SUM 返回特定字段中所有值的總和 MAX 返回指定字段中的最大值 MIN 返回指定字段中的最小值 4.分組 Group BY子句對數(shù)據(jù)進(jìn)行分組,把指定字段列表中有相同值的記錄合并成一條記錄。 例如:按專業(yè)統(tǒng)計學(xué)生人數(shù),可用下面的查詢語句: SELECT 專業(yè),COUNT(*
38、)AS 學(xué)生人數(shù) FROM基本情況 GROUP BY 專業(yè) 專業(yè) 學(xué)生人數(shù) 計算機(jī) 2 數(shù)學(xué) 3 顯示的結(jié)果: 5.輸出排序 ORDER BY子句決定查詢結(jié)果的排列順序。 6.多表連接 若查詢的數(shù)據(jù)分布在多個表中,則必須建立連接查詢,格式為: SELECT 目標(biāo)表達(dá)式列表 FROM 表1,表2 WHERE 表1.字段=表2·字段 注意:若所選的字段來自不同的表,則字段名前應(yīng)加表名前綴。 6.2 VB數(shù)據(jù)庫訪問 2.1 ADO數(shù)據(jù)控件使用基礎(chǔ) 使用ADO控件實現(xiàn)數(shù)據(jù)庫訪問的過程通常需要經(jīng)過以下幾步: ①在窗體上添加ADO數(shù)據(jù)控件。 ②使用ADO連
39、接對象建立與數(shù)據(jù)提供者之間的連接。 ③使用ADO命令對象操作數(shù)據(jù)源,從數(shù)據(jù)源中產(chǎn)生記錄集并存放在內(nèi)存中。 ④建立記錄集與數(shù)據(jù)綁定控件的關(guān)聯(lián),在窗體上顯示數(shù)據(jù)。 1.引例:一個簡單的數(shù)據(jù)源綁定 為實現(xiàn)訪問數(shù)據(jù)庫程序的功能,需要使用ADO Data Control和DataGrid都屬于ActiveX控件,使用前需要額外添加。選擇“工程”?“部件”菜單項。 ⑴數(shù)據(jù)源連接 ①選擇數(shù)據(jù)源連接方式 鼠標(biāo)右鍵單擊ADO數(shù)據(jù)控件,選擇彈出菜單中的“ADODC屬性”命令,出現(xiàn)“屬性頁”對話框。選擇連接方式,目前使用的方式是“使用字符串連接”。 ②選擇數(shù)據(jù)庫類型 單擊“生成”按鈕。選擇M
40、icrosoft Jet 4.0DB Provider。 ③指定數(shù)據(jù)庫文件名 在選擇了OLE DB提供者后,單擊“下一步”按鈕或選擇“連接”按鈕。在出現(xiàn)的對話框中,指定數(shù)據(jù)庫文件名。為保證連接有效,可單擊右下方的“測試連接”按鈕,如果測試成功則關(guān)閉該對話框,返回到“屬性頁”對話框。 ④指定記錄源 “屬性頁”對話框?“記錄源”選項卡。 “命令類型”下拉列表框指定用于獲取記錄源的命令類型。若記錄源為一張整表,則選擇“2--adCmdTable”選項。 ⑵利用DataGrid來顯示數(shù)據(jù) 選定DataGrid控件,將DataSource屬性設(shè)置為Adodc1控件,將網(wǎng)格綁定到產(chǎn)生
41、的記錄集。 ⒉ADO數(shù)據(jù)控件訪問數(shù)據(jù)庫過程 與數(shù)據(jù)庫的連接及從數(shù)據(jù)庫中選擇數(shù)據(jù)構(gòu)成記錄集,其核心是設(shè)置ADO數(shù)據(jù)控件的三個基本屬性: ⑴ConnectionString屬性 ⑵CommandType屬性 CommandType屬性用于指定獲取記錄源的命令類型,其取值為: CommandType屬性 屬性值 常量 描述 1 adCmdText RecordSource設(shè)置為命令文本,通常使用SQL語句 2 adCmdTable RecordSource設(shè)置為單個表名 4 adCmdStoredProc RecordSource設(shè)置為存儲過程名 8
42、adCmdUnknow 命令類型未知,RecordSource通常設(shè)置為SQL語句 ⑶RecordSource屬性 ⒊ADO數(shù)據(jù)控件的其他屬性、事件和方法 ⑴Recordset屬性 產(chǎn)生ADO數(shù)據(jù)控件實際可操作的記錄集對象。記錄集對象中的每個字段值用Recordset.Field(“字段名”)獲得。 2.2數(shù)據(jù)綁定 綁定控件通過ADO數(shù)據(jù)控件使用記錄集內(nèi)的數(shù)據(jù),再由ADO控件將記錄集連接到數(shù)據(jù)庫中的數(shù)據(jù)表。要使綁定控件能自動連接到記錄集的某個字段,通常需要對控件的兩個屬性進(jìn)行設(shè)置: ①DataSource屬性:通過指定一個有效地ADO數(shù)據(jù)控件將綁定控件連接到數(shù)據(jù)源。
43、 ②DataField屬性:設(shè)置記錄集中有效地字段使綁定控件與其建立聯(lián)系。 ⒈簡單數(shù)據(jù)綁定 ⒉復(fù)雜數(shù)據(jù)綁定 ⑴為了能在一個數(shù)據(jù)網(wǎng)格控件上顯示不同的表,只要改變Adodc1所產(chǎn)生的記錄集對象。為此,可在程序運行狀態(tài)設(shè)置Adodc1控件的RecordSource屬性,并用Refresh方法刷新,重建控件的記錄集對象。 ⑵如果要從數(shù)據(jù)表中選擇部分?jǐn)?shù)據(jù)構(gòu)成記錄集,則需要使用SQL語句。 此種情況下,在建立連接時,命令類型選擇“8--adCmdUnKnown”選項,在命令文本框內(nèi)輸入條件。 用鼠標(biāo)右擊DataGrid控件,在彈出的快捷菜單中選擇“檢索字段”選項。單擊“是”按鈕就可以將
44、表中的字段裝載到DataGrid控件中。 若數(shù)據(jù)網(wǎng)格中只需要顯示部分字段,則在DataGrid控件控件中右擊,在彈出的菜單中選擇“編輯”選項,進(jìn)入數(shù)據(jù)網(wǎng)格字段布局的編輯狀態(tài)。 6.3記錄集對象 3.1瀏覽記錄集 3.2記錄集的編輯 ⒈數(shù)據(jù)編輯方法 ①AddNew方法:在記錄中增加入一個新行。 ②Delete方法:刪除記錄中的當(dāng)前記錄。 ③Update方法:確定所作的修改并保存到數(shù)據(jù)源中。 ④CancelUpdate方法:取消未調(diào)用Updata方法前對記錄所作的所有修改。 3.3查詢和統(tǒng)計 在數(shù)據(jù)庫應(yīng)用程序中查詢與統(tǒng)計功能通??赏ㄟ^命令對象執(zhí)行SQL語句來實現(xiàn)。其關(guān)鍵是在程序中執(zhí)行設(shè)置ADO數(shù)據(jù)控件的ConnectionString屬性值,并將CommandType屬性設(shè)置為8(adCmdUnKnown),RecordSource屬性設(shè)置為SQL語句,用Refresh方法激活。 查詢條件有Select語句和Where子句構(gòu)成。 16
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 指向核心素養(yǎng)發(fā)展的高中生物學(xué)1輪復(fù)習(xí)備考建議
- 新課程新評價新高考導(dǎo)向下高三化學(xué)備考的新思考
- 新時代背景下化學(xué)高考備考策略及新課程標(biāo)準(zhǔn)的高中化學(xué)教學(xué)思考
- 2025屆江西省高考政治二輪復(fù)習(xí)備考建議
- 新教材新高考背景下的化學(xué)科學(xué)備考策略
- 新高考背景下的2024年高考化學(xué)二輪復(fù)習(xí)備考策略
- 2025屆高三數(shù)學(xué)二輪復(fù)習(xí)備考交流會課件
- 2025年高考化學(xué)復(fù)習(xí)研究與展望
- 2024年高考化學(xué)復(fù)習(xí)備考講座
- 2025屆高考數(shù)學(xué)二輪復(fù)習(xí)備考策略和方向
- 2024年感動中國十大人物事跡及頒獎詞
- XX教育系統(tǒng)單位述職報告教育工作概述教育成果展示面臨的挑戰(zhàn)未來規(guī)劃
- 2025《增值稅法》全文解讀學(xué)習(xí)高質(zhì)量發(fā)展的增值稅制度規(guī)范增值稅的征收和繳納
- 初中資料:400個語文優(yōu)秀作文標(biāo)題
- 初中語文考試專項練習(xí)題(含答案)