VB程序應用設計課件_第1頁
VB程序應用設計課件_第2頁
VB程序應用設計課件_第3頁
VB程序應用設計課件_第4頁
VB程序應用設計課件_第5頁
已閱讀5頁,還剩194頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第一講第一章VisualBasic的基礎知識(一)VisualBasic程式設計

2023-11-192第一章VisualBasic的基礎知識§1.1VisualBasic簡介一、VisualBasic概述二、VisualBasic的誕生和發(fā)展三、VisualBasic6.0中文版的啟動和退出§1.2VisualBasic的特點

2023-11-193§1.1VisualBasic簡介一、VisualBasic概述

VisualBasic(以下簡稱VB)是美國微軟公司推出的Windows環(huán)境下的軟體開發(fā)工具,使用VB可以快速開發(fā)Windows應用軟體。Visual是“可視化的”的意思,也就是說使用VB可進行直觀的編程,用戶通過使用窗口、控件(如各種各樣的按鈕、文本框、複選框、圖片框等)來設計工程介面??赏ㄟ^對控件的屬性設置來改變其外觀,編程時只需針對每個對象的事件過程進行模組化2023-11-194

編程,而無需編寫大量的代碼去描述介面元素的外觀和位置,就能方便快捷地創(chuàng)建出功能強大的應用程式。二、VisualBasic的誕生和發(fā)展

1991年微軟公司推出了VisualBasic1.0,VB的誕生使編程技術向前邁進了一大步。1992年微軟推出VisualBasic2.0,之後在1993年又推出VisualBasic3.0。在1995年隨著Windows95的發(fā)佈,VisualBasic4.0也同時問世。1997年微軟公司開始推出Windows開發(fā)工具套件MicrosoftVisualStudio1.0其中包括VisualBasic5.02023-11-1951998所發(fā)佈的MicrosoftVisualStudio98則包括了VisualBasic6.0。

VisualBasic6.0,共有三種版本,各自滿足不同的開發(fā)需要?!癡isualBasic學習版”使編程人員輕鬆開發(fā)Windows95/98和WindowsNT應用程式,該版本包括了所有的內部控件。“專業(yè)版”為專業(yè)編程人員提供了一整套進行開發(fā)的功能完備的工具,該版本包括了學習版的全部功能?!捌髽I(yè)版”使得專業(yè)編程人員能夠開發(fā)出功能強大的分佈式、高性能的客戶/伺服器或Internet/Intranet應用程式,該版本包括了企業(yè)版的全部功能。

2023-11-196§1.1VisualBasic簡介三、VisualBasic6.0中文版的啟動和退出1.啟動VisualBasic6.0(1)單擊“開始”按鈕,選擇“程式”選項,然後在子菜單中選擇“MicrosoftVisualBasic6.0中文版/MicrosoftVisualBasic6.0中文版”,即可出現(xiàn)VisualBasic的“新建工程”的對話框,如下頁圖1-1所示。2023-11-1972023-11-198圖1-1“新建工程”對話框2023-11-199啟動VisualBasic6.0

在新建工程對話框中有三個選項卡:新建、現(xiàn)存和最新。

在新建選項卡中提示選擇可建工程的類型。(2)在“新建工程”的對話框的新建選項卡中選“標準EXE”,然後單擊“打開”按鈕,出現(xiàn)VB的集成開發(fā)環(huán)境的主介面,如下頁圖1-2所示。2023-11-1910圖1-2VisualBasic集成開發(fā)環(huán)境

2023-11-1911§1.1VisualBasic簡介三、VisualBasic6.0中文版的啟動和退出2.退出VisualBasic6.0

選“檔”菜單中的退出命令,即可退出VisualBasic6.0。如果在退出前沒有保存正在編輯的工程,將出現(xiàn)提示問用戶是否保存工程和窗體,可根據(jù)提示來回答即可。2023-11-1912§1.2VisualBasic的特點

1.可視化的設計平臺Visual是“可視化的”意思,VisualBasic使用直觀的編程方法。通過使用窗口、控件(如各種各樣的按鈕、文本框、複選框、圖片框等)來設計工程介面,並通過對控件的屬性進行設置來改變其外觀。編程時只需對每個對象的事件過程進行模組化編程,而無需編寫大量的代碼去描述介面元素的外觀和位置,就能方便快捷地設計工程介面。2023-11-1913傳統(tǒng)的編程方法,用戶必需通過編程計算來設計工程介面,然後反復運行和調試才能得到滿意的效果。2.面向對象的設計方法VisualBasic中所指的對象是代碼和數(shù)據(jù)的組合並封裝起來,可把這樣的對象作為一個單位來處理。對象可以是窗體和控件,也可以是一個應用程式?!?.2VisualBasic的特點

2023-11-1914§1.2VisualBasic的特點

VisualBasic採用面向對象編程技術。在設計對象時,不必編寫建立和描述每個對象的程式代碼,而是用工具把它們畫在介面上,由VisualBasic自動生成對象的程式代碼並封裝起來。對象提供了現(xiàn)成的代碼避免了編寫程式的麻煩。結構化編程語言

VB是由結構化的Basic語言發(fā)展起來的,加上面向對象的設計方法,因此是更具有結構化的程式設計語言。

2023-11-1915§1.2VisualBasic的特點

4.事件驅動的編程機制VB通過事件驅動來執(zhí)行對象的操作。在事件驅動的程式中,代碼不是按照預定的路徑執(zhí)行,而是在回應不同的事件時執(zhí)行不同的代碼模組。每個對象都有一個事件集,每個事件發(fā)生都要有相應的程式代碼來回應,即要執(zhí)行一段程式代碼。事件可以由用戶操作觸發(fā)、也可以由操作系統(tǒng)或其他應用程式的消息觸發(fā)、甚至可由應用程式本身的消息觸發(fā)。2023-11-1916這些事件的順序決定了代碼執(zhí)行的順序,因此應用程式每次運行時所經(jīng)過的代碼的路徑是不同的。5.互動式的程式開發(fā)過程傳統(tǒng)的編程過程分三個步驟:編寫根源程式、將根源程式編譯和連接生成可執(zhí)行的二進位代碼和最後運行生成可執(zhí)行的二進位代碼。而VisualBasic採用是互動式方法開發(fā)應用程式。使三個步驟之間不再有明顯的界限。VB編程在輸入代碼時便進行解釋,即時捕獲到並突出顯示大多數(shù)語法或拼寫錯誤,同時將出現(xiàn)警告對話框,並將出錯的源代碼以紅色顯示。方便用戶及時修改程式。2023-11-19176.提供強大的資料庫訪問工具。隨著電腦技術的發(fā)展,資料庫越來越顯示出其強大的數(shù)據(jù)存儲和數(shù)據(jù)管理能力。為了滿足人們對數(shù)據(jù)庫的需要,VB提供了強大的資料庫程式設計能力。不僅能管理MicrosoftAccess格式的資料庫,還能訪問其他外部資料庫,如FoxPro、Paradox等格式的資料庫。另外,VB還提供了開放式資料庫連接(ODBC)功能,可以通過直接訪問或建立連接的方式使用並操作後臺大型網(wǎng)路資料庫,如SQLServer、Oracle等。2023-11-19187.提供創(chuàng)建強大的Internet應用程式工具VisualBasic提供很多方法用於創(chuàng)建Internet應用程式。使用VisualBasic新的Internet編程特徵,可以利用VisualBasic提供的工具創(chuàng)建動態(tài)的、功能強大的Internet應用程式。您可以創(chuàng)建運行在客戶端或伺服器端的應用程式,在基於窗體的應用程式中使用HTML頁面,或在Web上使用ActiveX部件。此外,您還可以方便迅速地將應用程式發(fā)佈到Internet上。

2023-11-19198.充分利用Windows資源VB提供的動態(tài)數(shù)據(jù)交換(DDE)編程技術,可以在應用程式中實現(xiàn)與其它Windows應用程式建立動態(tài)數(shù)據(jù)交換、在不同的應用程式之間進行通信的功能。VB提供的對象鏈接與嵌入(OLE)技術是將每個應用程式都看作對象,將不同的對象連接起來,嵌入到某個應用程式中,從而可以得到具有聲音、影像、圖像、動畫、文字等各種資訊集合式檔。VB還可以通過動態(tài)(DLL)技術將C/C++或組合語言編寫的程式加入到VB的應用程式中,或調用Windows應用程式介面(API)函數(shù),實現(xiàn)SDK所具有的功能。

2023-11-1920第一章VisualBasic的基礎知識習題答案:1.1VisualBasic6.0有幾種版本?其主要區(qū)別是什麼?

VisualBasic6.0共有三種版本,各自滿足不同的開發(fā)需要:“學習版”使編程人員輕鬆開發(fā)Windows95/98和WindowsNT應用程式,該版本包括所有的內部控件?!皩I(yè)版”為專業(yè)編程人員提供了一整套進行開發(fā)的功能完備的工具,它包括學習版的全部功能連同ActiveX控件和Internet控件。2023-11-1921第一章VisualBasic的基礎知識“企業(yè)版”使得專業(yè)編程人員能夠開發(fā)出功能強大的分佈式、高性能的客戶/伺服器應用程式或Internet/Intranet應用程式,該版本包括了專業(yè)版的全部功能。1.2與傳統(tǒng)的程式設計語言相比,VisualBasic有什麼特點?

VisualBasic是開發(fā)Windows應用程式的工具,它具有以下特點:1.可視化的設計平臺。2.面向對象程式設計方法。

2023-11-19223.結構化編程語言。4.採用事件驅動的編程機制。5.互動式的程式開發(fā)過程。6.提供強大的資料庫訪問工具。7.提供創(chuàng)建強大的Internet應用程式工具。8.充分利用Windows資源。2023-11-1923第一章VisualBasic的基礎知識§1.3VisualBasic的集成開發(fā)環(huán)境

1.3.1標題欄和菜單欄1.3.2工具欄及數(shù)字顯示區(qū)1.3.3控件工具箱1.3.4工程資源管理器窗口1.3.5屬性窗口1.3.6窗體設計器和對象流覽器窗口1.3.7代碼窗口1.3.8立即窗口1.3.9窗體佈局窗口習題:2023-11-1924VisualBasic

的集成開發(fā)環(huán)境

2023-11-1925標題欄菜單欄標準工具欄控件工具箱

工程資源管理器窗口

屬性窗口窗體設計器窗體佈局窗口

圖1-2VisualBasic集成開發(fā)環(huán)境2023-11-1926

從上頁圖1-2可以看出,VB集成開發(fā)環(huán)境除了具有標準Windows窗口中所具有的標題欄、菜單欄、工具欄外,還具有工具箱、屬性窗口、窗體設計器、資源管理器、立即窗口、工程管理器窗口、窗口佈局窗口等。下麵分別介紹:

2023-11-1927標題欄VB集成開發(fā)環(huán)境中的標題欄中有窗體的控制菜單圖示、當前編輯的工程名稱、最大化、還原按鈕、最小化按鈕及關閉按鈕。2023-11-1928菜單欄

菜單欄中顯示有“檔”、“編輯”、“視圖”、“工程”、“格式”、“調試”、“運行”、“查詢”、“工具”、“外接程式”等13個主菜單項。每個主菜單都有自己的下拉菜單,在下拉菜單中顯示相應的子菜單,在子菜單命令中還包括執(zhí)行該項命令的熱鍵及快捷鍵。

2023-11-1929標準工具欄

在菜單欄的下方有工具欄,工具欄中有許多常用命令的快捷訪問按鈕。單擊某個按鈕,就可執(zhí)行相應的命令的操作。數(shù)字顯示區(qū)包括兩部分,左面數(shù)字顯示的是對象座標位置,右面數(shù)字顯示的是對象的大小,即對象的高度和寬度。

數(shù)字顯示區(qū)2023-11-1930標準工具欄按鈕的介紹添加標準EXE工程-用來添加新的工程到工作組中。添加窗體-用來添加新的各種類型的窗體到工程中。菜單編輯器-顯示菜單編輯器對話框。啟動工程-開始運行當前的工程。中斷-暫時中斷當前工程的運行。結束-結束當前工程的運行。工程資源管理器-打開工程資源管理器窗口。2023-11-1931標準工具欄按鈕的介紹屬性窗口-打開屬性窗口。窗體佈局窗口-打開窗體佈局窗口。對象流覽器-打開對象流覽器對話框。工具箱-打開工具箱窗口。數(shù)據(jù)視圖窗口-打開數(shù)據(jù)視圖窗口。可視化部件管理器-打開可視化部件管理器。打開工程-用於打開已有的工程檔。保存工程-用於保存當前工程。2023-11-1932控件工具箱VB標準工具箱包含了建立應用程式的各種控件,如:圖片框控件、標籤控件、文本框控件、命令按鈕控件、複選框控件、單選框控件、組合框控件、列表框控件等等。

2023-11-19331、標準工具箱控件圖片框控件,用來顯示圖形圖像,可作為圖形方法輸出的容器。標籤控件,用於顯示不被修改的文本,例如可作為文本框的標題。文本框控件,可顯示、輸入或修改文本並進行保存。框架控件,在圖形或功能上對控件進行分工。命令按鈕控件,創(chuàng)建可執(zhí)行某項命令的按鈕。複選框控件,創(chuàng)建一個可進行一項或多個選項選擇的對話框。單選框控件,允許顯示多個選項,但只能進行單項選擇。組合框控件,繪製一個組合列表框和文本框。列表框控件,顯示列表選項,可以從這些列表選項中選擇一項。2023-11-19341、標準工具箱控件水準滾動條控件,可作為數(shù)據(jù)輸入工具,也可觀察數(shù)據(jù)和確定位置。垂直滾動條控件。計時器控件,可利用內部計時器計時,也可自定制計時器事件啟動的時間間隔。檔夾列表框控件,可以分層顯示當前所選驅動器的目錄清單。檔列表框控件,具有顯示選定目錄中所有檔或指定類型名稱的功能。形狀控件,利用形狀控件可以在窗體上畫出各種矩形、圓和橢圓。直線控件,利用直線控件可在窗體上畫出各種直線。圖像控件,用來顯示圖片。數(shù)據(jù)控件。2023-11-19352、在工具箱中添加新控件的方法(1)在工具箱的空白處單擊滑鼠右鍵,在彈出的快捷菜單中選擇“部件”,或單擊“工程”菜單中的“部件”子菜單,則彈出“部件”對話框如圖1-12左圖所示。(2)在打開的“部件”對話框中(見圖1-12右圖)將自己所需要的控件選中,即控件前面的複選框中出現(xiàn)“√”,然後單擊“確定”按鈕。則選擇的控件就被添加到工具箱中。(3)要刪除工具箱中的ActiveX控件,可按上述方法打開部件對話框,然後去掉選擇控件的標誌“√”就可。2023-11-1936

圖1-12快捷菜單和部件對話框2023-11-19373、選項卡VB可以自己定義選項卡來安排控件。按下列操作可將一些常用的控件保存在一張單獨的選項卡上。(1)在工具箱的空白處單擊滑鼠右鍵,在彈出的快捷菜單中選擇“添加選項卡”。(2)在打開的“新選項卡名稱”對話框中輸入選項卡名稱,然後單擊“確定”按鈕。(3)用滑鼠左鍵將所需的控件“拖”到創(chuàng)建的選項卡。(4)用同樣的方法可以添加多個選項卡,並且通過單擊選項卡名稱在不同的選項卡之間切換。2023-11-1938

圖1-13輸入選項卡名稱圖1-14添加控件到選項卡2023-11-1939工程資源管理器窗口

“工程資源管理器窗口”類似於Windows下的資源管理器,在這個窗口中列出了當前工程中的窗體和模組,其結構用樹狀的層次管理方法。應用程式是建立在工程的基礎上完成的,而一個工程則是各種類型的檔的集合。這些檔包括工程檔(.vbp)、窗體檔(.frm)、窗體的二進位數(shù)據(jù)檔(.frx)、類模組檔(.cls)、標準模組檔(.bas)、資源檔(.res)、包含控件的檔(.ocx)。2023-11-1940

屬性是指對象的特徵,如大小、標題或顏色?!皩傩源翱凇卑x定對象(窗體和控件)的屬性列表,在設計程式時可通過修改對象的屬性設計其外觀和相關數(shù)據(jù),這些屬性值將是程式運行時各對象屬性的初始值。屬性窗口2023-11-1941(1)對象下拉列表框:包含當前窗體中對象的名稱以及所屬的類。單擊對象下拉列表框右端的下拉箭頭,可列出當前窗體以及所包含的全部對象的名稱,可從中選擇要更改其屬性的對象。(2)選項卡:可按字母序和按分類序兩種方法顯示所選對象的屬性。(3)屬性列表:左列顯示所選對象的所有屬性名,右列可以查看和修改屬性值。(4)屬性說明:顯示出所選屬性的簡短說明。2023-11-1942窗體佈局窗口

窗體佈局窗口中有一個表示螢幕的小圖像,用來佈置應用程式中各窗體的位置,使用滑鼠拖動窗體佈局窗口中的小窗體圖示,可方便地調整程式運行時窗體顯示的位置。

2023-11-1943窗體設計器

“窗體設計器”也稱為“對象窗口”,主要用來在窗體上設計應用程式的介面。用戶可以在窗體中添加控件、圖形和圖片來創(chuàng)建工程的介面;窗體中的對象(控件)可隨意在窗體上移動、改變大小,但鎖定控件後則不可隨意修改,工程中的每一個窗體都有它自己的窗體設計器窗口。2023-11-1944

用下列四種方法都可打開“代碼窗口”。

1、雙擊窗體的任何地方;

2、單擊右鍵在出現(xiàn)的快捷菜單中選“查看代碼”;

3、從工程窗口中選“查看代碼”;

4、在“視圖”菜單中選“代碼窗口”。

2023-11-1945代碼窗口2023-11-1946對象列表框

過程列表框

代碼區(qū)

代碼窗口“對象下拉列表框”中列出了當前窗體及所包含的全體對象名,其中無論窗體的名稱改為什麼,作為窗體的對象名總是Form?!斑^程下拉列表框”中列出了所選對象的所有事件名?!按a區(qū)”是程式代碼編輯區(qū),能夠非常方便地進行代碼編輯和修改。2023-11-1947對象流覽窗口對象流覽器窗口可以列出工程中的有效的對象,並提供在編碼中漫遊的快速方法。我們可以在“對象流覽器”窗口中流覽VB中的對象和其他應用程式,查看對那些對象有效的方法和屬性,並將代碼過程粘貼進自己的應用程式。選擇“視圖/對象流覽器”命令就可打開“對象流覽器”對話框,如圖1-18所示。對象流覽器中各選擇框及列表說明如下:2023-11-1948對象流覽窗口(1)工程/庫選擇框:用於選擇單個的庫、工程或全部庫和工程。當選擇了庫和工程後,類列表框和成員列表框將顯示相應庫或工程的類或成員。(2)搜索文字框:在搜索文字框中鍵入欲查找的對象或文本,則可以查找對象及其成員,並確定它們所屬的工程或庫。(3)類列表框:類列表框中列出從“工程/庫”選擇框中所選定的工程或庫的全局對象、集合、函數(shù)或語句。(4)成員列表框:成員列表框顯示出在類列表框中選定類的屬性、方法和事件。2023-11-1949圖1-18對象流覽器窗口

工程/庫選擇框搜索文字框

類列表框

成員列表框圖1-18對象流覽器窗口2023-11-19502023-11-1951立即窗口

使用立即窗口可以在中斷狀態(tài)下查詢對象的值,也可以在設計時查詢運算式的值或執(zhí)行命令的結果。

本章主要內容VB中的對象、事件、屬性和方法VB中基本控件的使用方法VB可視化編程的步驟管理VisualBasic

工程2023-11-1953§2.1VB中的對象、事件、屬性和方法

2.1.1對象

對象,在可視化編程語言中,對象是代碼和數(shù)據(jù)的組合,可以作為一個單位來處理。對象可以是應用程式的一部分,也可以是整個應用程式。例如它可以是控件或窗體。也可以是菜單和數(shù)據(jù)庫等。從可視化編程技術來看,這些對象具有屬性、方法和事件。屬性是描寫對象的一組特性(數(shù)據(jù))。方法告訴對象應做的事情。事件是對象所產(chǎn)生的事情,事情發(fā)生時要編寫代碼進行處理。2023-11-1954

表2-1列出了在VB中可能用到的幾種類型的對象。表2-1VB中可能用到的幾種類型的對象對象說明命令按鈕窗體上的控件,像命令按鈕、框架等,它們都是對象。窗體VB工程中的每個窗體都是獨立的對象資料庫資料庫是對象,並且還包含其他對象,如字段、索引等圖表Excel中的圖表是對象2023-11-19552.1.2對象的事件

對象的事件是對象可以識別的動作,即窗體、控件和其他對象可以識別的動作。如命令按鈕是對象,它可識別Click的動作,所以命令按鈕有Click()事件。一個充氣的氣球作為現(xiàn)實生活中的一個對象,用針紮它一下事件的回應過程是放氣,對氣球鬆開手事件的回應過程是升空。每一個窗體和控件都有一個預定義的事件集??蓮拇a窗口中的“對象下拉列表框”中選擇一個對象,然後再單擊“過程下拉列表框”就會看到所選對象的所有事件過程名。如下頁圖2.1所示。

2023-11-1956

工程中的各種對象窗體預定義的事件集圖2.1工程中的各種對象和窗體預定義的事件集對象列表框過程列表框2023-11-19572.1.2對象的事件

在回應事件時,需要執(zhí)行相應的Basic代碼。所以對於VisualBasic的中的每個事件,都需要編寫程式代碼。如果其中一個事件發(fā)生,並且在相應的事件過程中存在代碼,則VisualBasic執(zhí)行該代碼。儘管VisualBasic中的對象自動識別預定義的事件集,但是它們究竟是否回應具體事件以及如何回應具體事件則是編寫代碼的任務。2023-11-1958

代碼部分與每個事件對應。想通過某個事件執(zhí)行的動作就應寫在該事件的事件過程代碼中。事件過程的一般格式為:

PrivateSub對象名_事件名()……此處應編寫事件回應過程中應執(zhí)行的代碼

…EndSub

PrivateSub對象名_事件名()為事件過程頭,EndSub

為事件過程尾。當你選擇好事件過程,這些代碼將自動生成。中間由用戶填寫事件回應過程中應執(zhí)行的代碼。2023-11-1959

對象所識別的事件多種多樣,但多數(shù)類型為大多數(shù)控件所共有。例如大多數(shù)對象都識別Click事件,如單擊窗體,則執(zhí)行窗體的Click事件過程代碼,單擊命令按鈕,則執(zhí)行命令按鈕的Click事件過程的代碼。2023-11-19601.窗體和圖片框類事件(1)Paint事件:當某一對象在螢幕中被移動,改變尺寸或清除後,程式會自動調用Paint事件。注意:當對象的AutoDraw屬性為True(-1)時,程式不會調用Paint事件。(2)Resize事件:當對象的大小改變時觸發(fā)Resize事件。(3)Load事件:僅適用於窗體對象,當窗體被裝載時運行。(4)Unload事件:僅適用於窗體對象,當窗體被卸載時運行。2023-11-19612.當前游標(Focus)事件(1)GotFocus事件:當對象獲得焦點時事件發(fā)生。(2)LostFocus事件:當對象失去焦點時事件發(fā)生。

3.滑鼠操作事件(1)Click事件:滑鼠單擊對象。(2)DblClick事件:滑鼠雙擊事件。(3)MouseDown、MouseUp:按下/放開滑鼠鍵事件。(4)MouseMove事件:滑鼠移動事件。2023-11-19624.鍵盤操作事件(1)KeyDown、KeyUp事件:按鍵的按下/放開事件。(2)KeyPress事件:按鍵事件。5.改變控制項事件

Change事件:當對象的內容發(fā)生改變時,觸發(fā)Change事件。6.其他事件

Timer事件:僅用於計時器,每隔一段時間被觸發(fā)一次。2023-11-19632.1.3對象的屬性

屬性是一個對象的特性。每個對象都有它自己的屬性,有些屬性可為大多數(shù)對象所共有。有些屬性可能是某一對象獨有的。對於屬性,可以在窗體的佈局操作完成後,直接從屬性窗口中設置,也可以在程式運行中改變,這應根據(jù)自己的需要。但有些屬性是只讀的,它只能在控件佈局時在屬性窗口中改變。有些屬性只能在程式代碼中設定。在屬性窗口中設定屬性的方法如下頁圖2.2所示。2023-11-1964圖2.2為文本框設置屬性選定文本框,在屬性窗口中設置其屬性,該屬性有四個預定的值:0,1,2,3。分別表示無滾動條、有水準滾動條、有垂直滾動條和兩者都有。選擇2表示在文本框上添加垂直滾動條。如圖中所示。2023-11-1965為文本框設置MultiLine屬性,使文本框能接受多行文本,這裏選取True。2023-11-1966

在程式中動態(tài)改變對象的屬性的方法可使用下程式語句:

對象名.屬性名=屬性設定值

例如,在窗體上有一個文本框Text1,它的屬性之一是Text,這一屬性決定文本框中顯示的內容。如果在Form_Load()事件中有語句:

Text1.Text="歡迎使用VB6.0"

即設定Text1的Text屬性值為“歡迎使用VB6.0”,在程式運行時,當發(fā)生Form_Load()事件(即當窗體裝入)時,就在文本框Text1中顯示“歡迎使用VB6.0”。結果如下頁圖2.3所示。2023-11-1967圖2.3在程式中改變控件的屬性運行結果

2023-11-1968適用於大部分對象幾個屬性:(1)Name:該屬性用來返回在編寫代碼過程中引用對象(窗體、控件或數(shù)據(jù)訪問)的名稱??梢栽诔淌街羞M行調用,在運行時是只讀的。(2)Appearance:該屬性用來返回或設置一個對象在運行時是否具有三維效果。(3)Font:該屬性用來設置控件上文本所使用的字體、屬性和字型大小。(4)Caption:該屬性用於返回或設置對象的標題欄或圖示下麵的文本。(5)Height,Width:這個屬性返回或設置對象的大小,包括其高度和寬度。(6)Visible:這個屬性返回或設置一個指定對象是否為可見的。當這個屬性值為True時對象是可見的,值為False時對象是隱藏的。2023-11-1969(7)Enabled:這個屬性返回或設置一個值,該值用來確定一個窗體或控件是否具有對用戶產(chǎn)生的事件做出反應。當這個屬性值為True時允許對象對事件做出反應。為False時阻止對象對事件做出反應。(8)Left,Top:Left屬性返回或設置對象內部的左邊緣與容器的左邊緣之間的距離。Top屬性返回或設置對象的頂端和它的容器的頂端之間的距離。(9)BackColor:返回或設置對象中的文本和圖形的背景顏色。(10)ForeColor:返回或設置在對象裏顯示圖片和文本的前景顏色。各種控件還有自己特有的屬性,我們將在以後的實例中具體介紹。

2023-11-19702.1.4常用方法

VB中的對象支持屬性、方法和事件。在VB中,對象本身具有的一些函數(shù)或過程稱為方法。方法和屬性都是對象的一部分,一般說來方法就是對象要執(zhí)行的動作。方法可以影響屬性值,例如在VB的列表框具有List屬性,使用Clear和AddItem方法可改變其List屬性。在VB中使用方法的格式為:

對象名.方法名2023-11-1971例如,Print是VB中的一種方法。如果希望把輸出的結果從窗體上顯示可使用下列格式:

Form1.Print輸出表項如果想把結果從圖片框上輸出,可以使用下列格式:

Picture1.Print輸出表項如果想在窗體上輸出“您好”,可在Form_Click()事件中加入下列語句:

form1.print“您好”則運行程式後每單擊一次窗體就會出現(xiàn)“您好”兩個字。運行結果如下頁圖2.4所示

2023-11-1972圖2.4用Print方法窗體上輸入“您好”的運行結果2023-11-1973對象中最常見幾種方法:1.Clear:

該方法告訴控件要放棄它所擁有的內容。如果是列表框,則Clear方法刪除列表框中的內容。若是文本框,則清除其內容,並將其字串屬性設置為零長度字串。2.AddITem,RemoveITem:

這些方法用於操作列表框和組合框控件中的專案。應用程式不必知道專案在控件中是如何存放的,只要使用方法,控件就會向表中添加、插入新專案或刪除已有的專案。方法就是每個控件不需要編程人員編寫代碼就可以自動完成的操作。2023-11-1974§2.2VB中的基本控件的使用方法

在窗體上用於輸入、輸出資訊的圖形或文字符號稱為控件。如命令按鈕、標籤、文本框等。也有一些為了增強用戶介面,或使用戶介面更漂亮而另外編制的ActiveX控件。2023-11-1975VB中的控件通常分為三種類型:

(1)標準控件:在VB中提供了許多標準控件它們是由VB中的.exe檔提供,常用的標準控件以圖示的形式出現(xiàn)在工具箱中供用戶選擇使用。工具箱一般是放在VB集成環(huán)境中窗口的左邊。用用戶可以直接在工具箱中選擇使用它們。但用戶不能增加和刪標準控件。(2)ActiveX控件:這類控件單獨保存在.ocx類型的檔中,其中包括各種版本VB控件。(3)可插入的對象:用戶可將Excel工作表作為一個對象添加到工具箱中也可根據(jù)需要在編程創(chuàng)建。2023-11-1976

控件是VB編程的基礎,也是VB作為可視化編程的重要工具,第一章中我們對控件的名稱已經(jīng)作了介紹,下麵介紹在窗體上添加基本控件的方法。2.2.1在窗體上添加VB的基本控件的方法

在工具箱中有許多基本控件按鈕,在窗體上添加控件的方法有兩種:2023-11-19771.用滑鼠單擊工具箱中相應的控件按鈕,再把滑鼠移到窗體上,這時滑鼠變成十字形,在合適的位置上按下滑鼠左鍵並拖動,這時窗體上有一個矩形框,當其大小合適時,鬆開滑鼠左鍵,窗體上就會顯示一個相應大小的控件。同時可看到控件周圍出現(xiàn)八個小方框,它們稱為尺寸調節(jié)柄。利用尺寸調節(jié)柄可調節(jié)控件的大小。當控件上有尺寸調節(jié)柄時,說明該控件是“活動的”或“被選中的”。2.雙擊工具箱中要添加的控件按鈕。就可在窗體的中央添加一個控件。然後再把它移到合適的位置。2023-11-19782.2.2VB基本控件的使用

利用上節(jié)的方法可在窗體上添加控件,並且可利用控件周圍的尺寸柄來調節(jié)控件的大小。也可用滑鼠拖動控件放到合適的位置上。除此之外,還可使用網(wǎng)格對控件的位置進行精確調整,VB窗體上的控件默認落在網(wǎng)格上。1.網(wǎng)格屬性的設置。學會使用網(wǎng)格,可使用戶的應用程式更加規(guī)範和正規(guī)。在VB集成環(huán)境中選擇“選項”菜單中的“通用”選項卡可出現(xiàn)如圖2-5所示的對話框,在此對話框中可以對窗體的網(wǎng)格屬性進行設置。2023-11-1979圖2-5設置網(wǎng)格屬性2023-11-1980在出現(xiàn)的對話框中可進行下列內容的設置:(1)顯示網(wǎng)格:它決定是否在窗體上顯示網(wǎng)格。默認為顯示網(wǎng)格。(2)寬度和高度:它們分別決定網(wǎng)格的水準和垂直間距,單位是緹(1/1440英寸)(3)對齊控件到網(wǎng)格;它們決定是否將控件自動放置在網(wǎng)格的網(wǎng)點上。2.使用多個控件。如果用戶希望在同一個窗體上使用多個相同的控件,往往希望它們在尺寸上一樣,且希望能進行位置對齊等操作。這時可使用“格式”菜單中的各種命令來進行調節(jié)。2023-11-1981

方法是先同時選擇多個控件,如果要調節(jié)大小,可選擇“格式”菜單中的“統(tǒng)一尺寸”命令,這時出現(xiàn)三種選擇:“寬度相同”、“高度相同”和“兩者都有相同”。從中選擇一種方法就可使用戶的多個控件按選擇的方法來統(tǒng)一尺寸。如果要對齊窗體中多個控件,也是先選擇多個控件,然後在選擇“格式”菜單中的對齊方式,有7種選項可供選擇。它們是“左對齊”、“居中對齊”、“右對齊”、“頂端對齊”、“中間對齊”、“底端對齊”和“對齊到網(wǎng)格”。從中選擇一種就可按所選方式對齊,如圖2-6所示。2023-11-1982圖2-6使用“格式”菜單來調節(jié)控件2023-11-1983§2.3VB可視化編程

2.3.1VB可視化編程的步驟

VB可視化編程的方法與傳統(tǒng)的方法不同,不再需要編寫大量的代碼去描述介面元素的外觀和位置,而是採用面向對象,事件驅動的方法。這種方法將代碼和數(shù)據(jù)集成到一個獨立的對象中去,當運用這個對象來完成某項任務時,並不需要知道這個對象是怎樣工作的,只需要編寫一段代碼來簡單地傳遞一些消息就可以了。因此,VB可視化編程的一般步驟如下:2023-11-19841.創(chuàng)建工程,設計介面。VB創(chuàng)建工程有兩種方法(1)啟動VB在“新建工程”對話框中選“標準EXE”工程,單擊“打開”按鈕。就出現(xiàn)了窗體設計器,也就創(chuàng)建了第一個窗體,再利用控件工具箱在窗體上創(chuàng)建各種對象。(2)如果已經(jīng)啟動了VB,若需再創(chuàng)建新工程,可從“檔”菜單中選“新建工程”在出現(xiàn)的對話框中選“標準EXE”並單擊“打開”按鈕。也可出現(xiàn)窗體設計器,再利用控件工具箱在窗體上創(chuàng)建各種對象。2023-11-19852.設置屬性。

在屬性窗口上設置窗體或控件等對象的屬性。3.編寫代碼。

在代碼窗口編寫代碼。4.運行程式。

按F5鍵和按工具欄上的執(zhí)行按鈕就可執(zhí)行一個工程。2023-11-19865.保存工程。

第一次保存工程分二步,從“檔”菜單選“保存工程”出現(xiàn)“另存為”對話框,輸入一個檔案名,先保存窗體檔,生成.frm檔;然後又出現(xiàn)一個對話框,需要再輸入檔案名,接著保存工程檔,生成.vbp檔6.編譯程序,生成.EXE檔。從“檔”菜單中選“生成工程名.EXE”就可生成在非VB環(huán)境下運行的可執(zhí)行檔。2023-11-19872.3.2創(chuàng)建第一個工程

【例2-1】設計一個工程,運行時首先出現(xiàn)一個文本框和兩個命令按鈕“歡迎”和“時間”按鈕。並在文本框中顯示“今天是:2003年某月某日”。單擊“歡迎”按鈕在文本框中顯示“歡迎學習VB6.0編程技術”,單擊“時間”按鈕,則顯示當前時間。1.設計用戶介面。首先應創(chuàng)建窗體。然後是在窗體上繪製構成介面的對象,添加相應的控件。2023-11-1988

本例中需要在窗體上添加三個控件,一個文本框,兩個命令按鈕。添加的方法如下:(1)用滑鼠單擊工具箱中的文本框控件,然後把滑鼠(此時滑鼠變成十字形指針)移到窗體上的適當位置拖動滑鼠就可在窗體上添加一個文本框。也可用滑鼠雙擊文本框控件,同樣可在窗體上出現(xiàn)一個文本框。(2)在添加的文本框上出現(xiàn)八個小方框,稱尺寸柄。通過對尺寸柄的操作可調節(jié)控件的大小和位置。如圖2-7所示。(3)同樣可在窗體上添加兩個命令按鈕Command1和Command2。如圖2-8所示。2023-11-1989

圖2-7文本框中四周出現(xiàn)的尺寸柄圖2-8添加一個文本框和兩個命令按鈕

2023-11-19902.設置窗體和控件的屬性

創(chuàng)建工程的下一步是給窗體和控件設置屬性,而設置對象屬性是在屬性窗口中進行的。在“視圖”菜單中選擇“屬性窗口”命令打開屬性窗口,如圖2-9所示。(1)首先設置窗體Form1的屬性,從對象框中選Form1form對象,然後在屬性列表中選定屬性名,如Caption。(2)接著在屬性窗口的右列中輸入屬性值“歡迎學習VB6.0”。則窗體的Caption屬性設置為“歡迎學習VB6.0”。其他控件的屬性設置方法同上所述。各對象的屬性值設定如表2-2。2023-11-1991圖2-9設置屬性窗口

對象框排序選項卡

屬性列表屬性值

2023-11-1992表2-2例1中窗體和控件的屬性值對象屬性設置窗體Caption歡迎學習VB6.0文本框TextMultiline

TrueCommand1Caption

歡迎Command2Caption

時間2023-11-19933.編寫代碼。

打開“代碼編輯器”,單擊“對象列表框”右邊的下拉鈕,從中選擇Form對象,如圖2-10所示。再單擊過程列表框的左邊的下拉鈕選load事件如圖2-11所示。2023-11-1994

圖2-10從對象列表框中選Form圖2-11從過程列表框選load事件

在代碼窗口中從對象列表框中選Form在代碼窗口中從過程列表框中選load事件2023-11-1995在代碼窗口中輸入下列代碼PrivateSubForm_Load()Text1.Text="今天是”&_CStr(Format(Date,"dddddd"))EndSub用同樣的方法,輸入命令按鈕Command1和Command2的Click事件過程為:PrivateSubCommand1_Click()Text1.Text=“歡迎使用VB6.0”EndSub2023-11-1996PrivateSubCommand2_Click()

Text1.Text=“現(xiàn)在是北京時間”&_CStr(Format(Time,"ttttt"))

EndSub4.運行工程。按F5或按運行按鈕就可運行工程。最後運行結果見圖2-12所示。2023-11-1997

圖2-12“歡迎使用VB6.0”工程運行結果

2023-11-19985.保存工程

設計好的工程應及時保存。保存工程的方法是:從“檔”菜單項中選“保存工程”命令,然後在出現(xiàn)的“檔另存為”對話框中填寫保存檔的驅動器、檔夾和文件名(如exam1)。接著按“保存”按鈕。若為第一次存盤時,將先保存窗體檔(exam1.frm)後,系統(tǒng)接著出現(xiàn)“工程另存為”對話框,填寫工程名(exam1)後,則保存工程檔(exam1.vbp),保存的各種類型的檔應放在同一個檔夾中,如d:\VbWork。如果已經(jīng)存放在磁片的檔經(jīng)修改後再存盤時不會出現(xiàn)出“另存為”對話框。2023-11-19996.編譯生成可執(zhí)行的.EXE檔。

工程調試結果正確後,可將其編譯生成可執(zhí)行的.EXE檔。方法是從“檔”菜單中選“生成工程exam1.exe(K)”,接著出現(xiàn)“生成工程”對話框。如圖2-13所示。在“保存在(I)選項”中輸入要保存的檔夾,然後輸入要保存的檔案名,這裏通常會出現(xiàn)一個默認的檔案名是與存放窗體檔相同的檔案名。直接按“確定”按鈕或按回車鍵就開始編譯成生可執(zhí)行的.EXE檔,檔案名為exam1.exe。2023-11-19100圖2-13生成工程對話框2023-11-191012.3.3創(chuàng)建一個簡單的動畫工程【例2-2】下麵我們動手來設計一個有趣的動畫顯示的是一個不斷跳動的小球。首先啟動VB,在新建工程中選“標準EXE”,單擊“打開”按鈕。出現(xiàn)一個灰白色的空白窗體,這就是前面講過的窗體設計器,在此窗體上用戶可以設計工程。2023-11-191021.設計工程介面(1)將滑鼠移到工具箱上,單擊形狀控件,然後在窗體上畫出形狀控件。(2)再用滑鼠單擊工具箱上的Timer控件,然後在窗體上畫出Timer控件。(3)再用同樣方法在窗體上畫出Command1控件。工程介面設計如圖2-14所示。2023-11-19103計時器控件形狀控件圖2-14設計動畫工程介面2023-11-191042.設置窗體和控件的屬性

單擊“屬性窗口”的標題欄,使其成為活動窗口。再單擊窗體,使八個小方框出現(xiàn)在窗體周圍,此時就可設置窗體的屬性。設置完窗體屬性後再分別單擊形狀控件和Timer控件,分別設置形狀控件和Timer控件的屬性。它們的屬性設定值如表2-3所示。屬性設置後顯示如下頁圖中所示。2023-11-19105圖2-15設置窗體及控件的屬性2023-11-19106表2-3動畫工程屬性設置對象名屬性屬性設定值說明Form1Caption彈跳的小球顯示在窗體的標題欄上的標題Timer1Interval300每間隔300毫秒計時器事件發(fā)生Shape1FillColor&H0000FFFF&小球的填充顏色為黃色shape3-Circle圓形FillStyle0-Sold實心的小球Height588小球的大小Width588

Top1000小球的起始的頂部的座標Left2000小球的起始的左邊的座標Command1Caption停止

命令按鈕上顯示的文本表2-3動畫屬性設置表2023-11-191073.編寫代碼如下:

編寫單擊Command1命令按鈕“停止”所執(zhí)行的代碼PrivateSubCommand1_Click()EndEndSub編寫計時器Timer1_Timer()事件過程代碼如下:PrivateSubTimer1_Timer()DoWhileShape1.Top<=Form1.Height2023-11-19108

Shape1.Top=Shape1.Top+5LoopDoWhileShape1.Top>=1200Shape1.Top=Shape1.Top-5LoopEndSub4、按F5運行結果。2023-11-19109§2.4管理VB工程

為了使用VB創(chuàng)建應用程式,應當使用工程來建造應用程式的檔的集合。當創(chuàng)建一個應用程式時,通常要先創(chuàng)建一個窗體;也可以利用或修改以前工程所創(chuàng)建的窗體。對於可以納入工程的其他模組或檔同樣如此。來自其他應用程式的ActiveX控件和對象也可在工程之間共用。在工程的所有部件被彙集在一起並完成代碼編寫之後,便可以編譯工程,創(chuàng)建一個可執(zhí)行檔。下麵簡單介紹如何創(chuàng)建和管理工程。2023-11-191102.4.1VB工程

在開發(fā)應用程式時,要使用工程來管理構成應用程式的所有不同的檔。一個工程可包括:(1)跟蹤所有部件的工程檔(.vbp)。(2)每個窗體的檔(.frm)(3)每個窗體的二進位數(shù)據(jù)檔(.frx),它含有窗體上控件的屬性數(shù)據(jù)。對含有二進位屬性(例如圖片和圖示)的任何檔都是不可編輯的,這些檔都是自動產(chǎn)生的。2023-11-19111(4)每個類模組的一個檔(.cls),該檔是可選項。(5)每個標準模組的一個檔(.bas)該檔是可選項。(6)一個或多個包含ActiveX控件的檔(.ocx),該檔是可選項。(7)單個資源檔(.res),該檔是可選項。

工程檔就是與該工程有關的全部檔和對象的清單,也是所設置的環(huán)境選項方面的資訊。每次保存工程時,這些資訊都要被更新。所有這些檔和對象也可供其他工程共用。2023-11-191122.4.2工程資源管理器

當創(chuàng)建、添加或從工程中刪除可編輯檔時,工程資源管理器中會反映出發(fā)生的變化,該窗口包含此工程的當前檔的列表。圖2-10所示的工程資源管理器窗口中列出可納入VB工程的一些檔類型。2023-11-19113圖2-10工程資源管理器窗口2023-11-191142.4.3VB工程檔

每次保存工程,VB都要更新工程檔(.vbp)。工程檔包含檔列表,它與出現(xiàn)在工程資源管理器窗口的檔列表相同,工程檔還引用工程中所使用的ActiveX控件和可插入對象。通過雙擊一個現(xiàn)存工程的圖示,或從“檔”菜單中選定“打開工程”命令,或拖動該檔並放入工程資源管理器窗口,可以打開這個現(xiàn)存的工程。2023-11-191152.4.4VB工程的結構

下麵介紹可以納入工程的不同類型的檔和對象。1.窗體模組窗體模組(具有.frm檔擴展名)包含窗體及其控件的正文描述及屬性設置。它們也含有窗體級的常量、變數(shù)、外部過程的聲明、事件過程和一般過程。2.類模組類模組(具有.cls檔擴展名)與窗體模組類似,但是沒有可見的用戶介面??梢允褂妙惸=M創(chuàng)建含有方法和屬性代碼的自己的對象。2023-11-191163.標準模組標準模組(具有.bas檔擴展名)可以包含類型、常數(shù)、變數(shù)、外部過程和公共過程的公共的或模組級的聲明。4.資源檔資源檔(具有.res檔擴展名)包含著無需重新編輯代碼便可以改變的位圖、字串和其他數(shù)據(jù)。一個工程最多包含一個資源檔。2023-11-191175.ActiveX文檔

ActiveX文檔(.dob)類似於窗體,但是在互聯(lián)網(wǎng)資源管理器之類的互聯(lián)網(wǎng)流覽器中是可以顯示的。VB的專業(yè)版和企業(yè)版都有能創(chuàng)建ActiveX文檔。6.用戶控件和屬性頁模組用戶控件(.ctl)屬性頁(.pag)模組也類似於窗體,但它們被用於創(chuàng)建ActiveX控件及與其關聯(lián)的用來顯示設計時屬性的屬性頁。VB專業(yè)版和企業(yè)版能夠創(chuàng)建ActiveX控件。2023-11-191187.部件除檔和模組外,還有幾個其他類型的部件可以添加到工程中。(1)ActiveX控件

ActiveX控件(具有.ocx檔擴展名)是可選的控件,它可以被添加到工具箱中並保存在窗體裏使用。當安裝VB時,VB包含的含有控件的那些檔被複製到一個公共目錄(Windows98下麵的子目錄\Windows\System)中。從多種源可以取得附加的ActiveX控件。也可以使用VB專業(yè)版和企業(yè)版創(chuàng)建自己的控件。2023-11-19119(2)可插入的對象可插入的對象,例如Excel的工作表對象,是可以用作建造集成方案時建造塊的部件。一個集成方案可以包含由不同的應用程式創(chuàng)建的不同格式的數(shù)據(jù),例如工作表,位圖和正文。2023-11-19120(3)引用也可以添加能被應用程式使用的外部ActiveX控件的引用。通過訪問“工程”菜單上的“引用”菜單項,使用“引用”對話框可指定引用。(4)ActiveX設計器

ActiveX設計器是類的設計工具,從類出發(fā)可以創(chuàng)建對象。窗體的設計介面是缺省的設計器。從其他的源可取得附加的設計器。121數(shù)據(jù)類型、常量和變數(shù)VB中的基本語句數(shù)據(jù)的輸入語句數(shù)據(jù)的輸出語句本章要點常用內部函數(shù)和運算式122§3.1數(shù)據(jù)類型

數(shù)據(jù)類型是數(shù)據(jù)的表示和存儲形式。VB共有三種數(shù)據(jù)類型?;緮?shù)據(jù)類型用戶自定義數(shù)據(jù)類型枚舉類型

VisualBasic定義的基本數(shù)據(jù)類型如下頁表3.1所示。

123VisualBasic定義的基本數(shù)據(jù)類型圖3-1數(shù)值型的數(shù)據(jù)124一、基本數(shù)據(jù)類型

不同類型的數(shù)據(jù),所占的存儲空間不一樣,選擇使用合適的數(shù)據(jù)類型,可以優(yōu)化程式代碼的編寫。1.整型數(shù)是不帶小數(shù)點和E指數(shù)的數(shù)。例如:123,0,-24,19800等。整型(Integer)整數(shù)分為長整型(Long)

1252.實數(shù)是帶小數(shù)點和E指數(shù)的數(shù)。常用於表示數(shù)值較大或較小的數(shù)字。例如:12.3,-24.,1.98E04,等。單精確度浮點數(shù)(Single)實數(shù)分為雙精度浮點數(shù)(Double)

單精確度浮點數(shù)是用4個位元組存放,其表示數(shù)值的範圍比較小。雙精度浮點數(shù)是用8個位元組來存放。表示數(shù)據(jù)範圍比較大。一、基本數(shù)據(jù)類型1263.貨幣型(Currency)數(shù)據(jù)以8個位元組來存放,它支持小數(shù)點後面4位和小數(shù)點前面15位,是一個精確的定點數(shù)據(jù)類型,適用於貨幣運算。4.位元組型(Byte)的數(shù)據(jù)類型表示(0~255)無符號的數(shù),常用於訪問二進位檔、圖形和聲音檔等。當需要把數(shù)據(jù)存放成位元組且必須訪問各位元組時可採用位元組類型。一、基本數(shù)據(jù)類型127一、基本數(shù)據(jù)類型5.字元型(String)的數(shù)據(jù)類型只存放文本,它是用雙引號括起來的一串字元。其中的西文字元按ASCII編碼表示,占一個位元組。一個漢字或全角字元占兩個位元組。不含任何字元的串稱為空串在VisualBasic中有兩種類型字串:

(1)變長字串最多可包含大約20億個字元。

(2)定長字串可以包含1到大約64K個字元。1286.布爾型(Boolean)數(shù)據(jù)。其值只有兩個:真(True)和假(False),經(jīng)常被用來表示邏輯判斷的結果。任何時候只有兩種狀態(tài)的數(shù)據(jù),如“True/False”、“Yes/No”、“On/Off”等,都可以表示為Boolean型,在VisualBasic中0表示False,非0表示True。7.日期型(Date)數(shù)據(jù)用來表示日期和時間,用8個位元組存放??梢员硎径喾N格式的日期和時間。在程式使用時,日期類型必需用“#”括起來。

1298.對象(Object)型數(shù)據(jù)用來表示應用程式中或其他某些應用程式中的對象??梢杂肧et語句指定一個被聲明為Object的變數(shù)去引用應用程式所識別的任何實際對象。例如:DimobjDbAsObjectSetobjDb=OpenDatabase(“d:\Vb\Biblio.mdb”)

9.Variant類型的數(shù)據(jù)能夠表示所有系統(tǒng)定義的數(shù)據(jù)類型,當把它們賦予Variant型時,不必在這些數(shù)據(jù)的類型間進行轉換,VisualBasic會自動完成任何必要的轉換。Variant數(shù)據(jù)類型還包含三種特定值:Empty、Null、Error。130Empty值用於確定是否已將一個值賦予所創(chuàng)建的變數(shù)。賦值之前,Variant變數(shù)具有空值(Empty)。用IsEmpty函數(shù)可以測定一個變數(shù)建立後是否被賦過值。Null值常用於資料庫應用程式,表示求未知或丟失為空的數(shù)據(jù)。用IsNull函數(shù)可以判斷一個Variant變數(shù)的值是否為Null。Error值是指已發(fā)生過程中的錯誤狀態(tài)。

Variant是最為靈活的數(shù)據(jù)類型可以根據(jù)不同的需要進行各種數(shù)據(jù)類型的轉換。正是由於它的靈活性,又使得它存在著明顯的缺點,Variant數(shù)據(jù)類型比其他類型的數(shù)據(jù)佔有更多的記憶體空間。131二、用戶自定義數(shù)據(jù)類型

可以把不同類型的變數(shù)組合起來創(chuàng)建用戶定義的類型。使用Type語句創(chuàng)建用戶定義類型,它必須放在模組的聲明部分。用戶定義類型可用關鍵字聲明為Private或Public,用Type語句創(chuàng)建用戶定義類型格式如下:

[Private|Public]Type數(shù)據(jù)類型名

數(shù)據(jù)類型元素名As數(shù)據(jù)類型數(shù)據(jù)類型元素名As數(shù)據(jù)類型

……EndType132例如:定義一個地址數(shù)據(jù)

TypeAddressStreetAsStringZipCodeAsStringPhoneAsStringEndType

這個地址數(shù)據(jù)裏包括三個屬性,街區(qū)、郵遞區(qū)號和電話,可把某數(shù)據(jù)定義成為此類型:

DimMyHomeAsAddress

上面語句是將MyHome定義為地址數(shù)據(jù)。

133

要調用或改變“MyHome”的值時,類似於對對象的屬性的操作:變數(shù)名.功能變數(shù)名稱=“……”

為了簡化書寫重複的部分,可以用關鍵字“With”;例如上面的MyHome

數(shù)據(jù):

WithMyHome.Street=“阜成路”

.ZipCode=“100037”.Phone=“12345678”EndWith

134三、枚舉類型

1、枚舉的概念所謂枚舉是指將變數(shù)的值一一列舉出來,變數(shù)的值只限於列舉出來的值的範圍。2、聲明枚舉型的格式如下:

[Private|Public]Enum類型名稱成員名[=常量運算式]

成員名[=常量運算式]……EndEnum3、格式說明

[Private]

可選項。表示該枚舉類型只在說明它的模組中有效。135三、枚舉類型

[Public]

可選項。表示該枚舉類型是公有的,其作用範圍是整個程式。

[類型名稱]

必需的,為該枚舉類型的名稱。

[成員名]

必需的,用來指定該枚舉類型的組成元素。

[=常量運算式]

可選項。指明元素的值。在缺省的情況下,在枚舉中的第一個常數(shù)被初始化為0,其後的常數(shù)為比其前面的常數(shù)加1的數(shù)值。136【例3-1】下麵的枚舉Days中,包含了一個數(shù)值為0的常數(shù)Sun,數(shù)值為1常數(shù)的Mon,數(shù)值為2常數(shù)Tue等。PublicEnumDaysSunMonTueWedThuFriSatEndEnum137

VB提供了內置的枚舉vbDayOfweek,包括了與星期的七天相對應的常數(shù)。如希望查閱預定義的枚舉常數(shù),在代碼窗口中鍵入vbDayOfweek,後跟一個句號,VB將自動顯示該枚舉常數(shù)的內容。如下頁圖3-1所示138圖3-1VB內部常數(shù)自動列出成員139

可以使用賦值語句給枚舉中的常數(shù)賦值??梢再x值為任何長整數(shù),包括負數(shù)。例如,可能希望常數(shù)數(shù)值小於0以便代表出錯條件。在以下的枚舉數(shù)據(jù)中,常數(shù)Invalid被賦值為-1,而常數(shù)Sun被賦值為0。因為Sat是枚舉數(shù)據(jù)中的第一個元素,所以也被賦值為0,Mon的數(shù)值為1(比Sun的數(shù)值大1),Tue的數(shù)值為的數(shù)值為2等。140PublicEnumWorkDaysSatSun=0MonTueWedThuFriInvalid=-1EndEnum141

注意,VB將枚舉中的常量數(shù)值看作長整數(shù)。如果將一個浮點數(shù)值賦值給一個枚舉中的常數(shù),VB將會使該數(shù)值取為最接近的長整數(shù)。當引用單個常數(shù)時,為了避免模糊引用,應在常數(shù)名稱前加上枚舉名。下列代碼引用Days和WorkDays枚舉中Sat常數(shù),並在立即窗口中顯示它們不同的數(shù)值如圖3-2所示。142即:Days.Sat=6,WorkDays.Sat=0。

Debug.Print“Days.Sat=”&Days.SatDebug.Print“WorkDays.Sat=”&_WorkDays.Sat

圖3-2143

當向一個枚舉中的常數(shù)賦值時,也可以使用另一個枚舉中的常數(shù)的數(shù)值。例如,下述WorkDays枚舉的聲明與前述的聲明是等同的。PublicEnumWorkDaysSun=0MonTueWedThuFriSat=Days.Sat–6’Days.Sat的值為6Invalid=-1EndEnum

144

聲明枚舉類型後,就可以聲明該枚舉類型的變數(shù),然後使用該變數(shù)存儲枚舉常數(shù)的數(shù)值。下列代碼使用WorkDays類型的變數(shù)存儲與WorkDays枚舉中的常數(shù)相關聯(lián)的整數(shù)值:

DimMyDayAsWorkDaysMyDay=SatIfMyDay<MonThen‘Mon為1所以VB顯示一個消息框

MsgBox“Saturday是無效的工作日!”EndIf145

注意,當在代碼窗口中鍵入示例中的第二行代碼MyDay=時,VB“自動列出成員”列表中顯示W(wǎng)orkDays枚舉的常數(shù),如圖3-3所示

圖3-3自動列出成員146

因為常數(shù)Sun的數(shù)值也為0,所以如果在示例中的第二行用“星期日”替換“星期六”,VB也將顯示消息框:如圖3-4所示。

MyDay=Sun‘Sun的數(shù)值也為0圖3-4顯示消息框147§3.2常量

常量是指在程式運行過程中,它的值始終保持不變的量。在VB中,有兩種形式的常量:直接常量和符號常量。一、直接常量直接常量分為:字串常量、數(shù)值常量、布爾常量、日期常量。字串常量就是用雙括弧括起來的一串字元。例如:“A”,“123”,“Computer”。數(shù)值常量就是常數(shù),它們是可以:整型常量、長整型常量、單精確度常量、雙精度常量、貨幣型常量和位元組型常量。例如:234,2.89,1.34E05等為數(shù)值常量。148§3.2常量

布爾常量只有兩個值:True(真)和false(假)

溫馨提示

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

評論

0/150

提交評論