版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
VB的基本數(shù)據(jù)類型
*
“數(shù)據(jù)”是資訊在電腦內(nèi)的表現(xiàn)形式,也是程式的處理對象。不同類型的數(shù)據(jù)有不同的操作方式和不同的取值範(fàn)圍。
VB具有系統(tǒng)定義的基本數(shù)據(jù)類型,而且允許用戶根據(jù)需要定義自己的數(shù)據(jù)類型。
VB提供的基本數(shù)據(jù)類型主要有: 字串型、數(shù)值型、邏輯型和日期型。*例2.1A+B與
A*B。設(shè)計一個窗體,在窗體上添加一個命令按鈕。運(yùn)行程式時,單擊“開始”,程式將要求輸入A和B,並在窗體顯示計算結(jié)果。(結(jié)果為什麼存在問題)
字串型
*字串(String)是一個字元序列,由放在一對雙引號中的ASCII字元(除雙引號和回車符之外)、漢字及其它可列印字元組成。例如:以下是合法的VB字串,“Hello”“Wearestudents.”“中華人民共和國”“2+3=?”“2000”“#####”“¥25,000.00”“”(空字元串)字串型
*值得注意的是:字串中包含的字元個數(shù)稱為字串長度。在VB6.0中,把漢字作為一個字元處理。字串分為變長字串和定長字串。長度為0(即不含任何字元的字串)稱為空字元串。雙引號在程式代碼中起字串的界定作用。在字串中,字母的大小寫是有區(qū)別的。例如,字串“ABC”與“abc”是兩個不相等的字串。數(shù)值型
*VB的數(shù)值型數(shù)據(jù)分為整型數(shù)和實型數(shù)兩大類。整型
*整型數(shù)是不帶小數(shù)點和指數(shù)符號的數(shù)。十進(jìn)位整型數(shù)由0~9的數(shù)字序列組成,可以帶正號或負(fù)號。例如:147589565,-3145,327009等都是十進(jìn)位整數(shù)。整型
*整型數(shù)按示數(shù)範(fàn)圍的不同分為整數(shù)、長整數(shù)和位元組型整數(shù)。整型數(shù)和長整數(shù)還可以有三種表示形式,即十進(jìn)位、八進(jìn)制和十六進(jìn)制。整型
*實型
*
實型數(shù)是帶有小數(shù)部分的數(shù),分為浮點數(shù)和定點數(shù)。
浮點數(shù)由三部分組成:符號、指數(shù)及尾數(shù)。邏輯型*邏輯型數(shù)據(jù)(Boolean)以2個位元組(16位)存儲。邏輯值邏輯真邏輯假True(-1)False(0)日期型*日期型(Date)數(shù)據(jù)存儲為8個位元組(64位)浮點數(shù)值形式??梢员硎镜娜掌诠?fàn)圍從100年1月1日到9999年12月31日,時間可以從0:00:00到23:59:59。*VB常量與變數(shù)
內(nèi)部常量
用戶自定義常量根據(jù)VB數(shù)據(jù)類型,一般常量有整型常量、長整型常量、單精確度型常量、雙精度型常量、位元組型常量、字串型常量、邏輯型常量和日期型常量。用戶自定義常量分一般常量和符號常量兩種形式。
*Const語句的一般格式:Const常量名[As類型名]=運(yùn)算式
下麵是正確的符號常量定義語句。Constpi=3.14159'定義pi是單精確度符號常量,其值為3.14159ConstmaxAsInteger=70'定義max是整型符號常量,其值為70*變數(shù)在程式中,其值可以改變的稱為變數(shù)。變數(shù)名是變數(shù)的標(biāo)識。變數(shù)名的命名規(guī)則同常量名。變數(shù)具有名稱、類型和值三個屬性。VB有兩種類型變數(shù):屬性變數(shù)和一般變數(shù)。
一般變數(shù)是由用戶自己定義的。定義變數(shù)常用Dim語句,格式如下:Dim變數(shù)名1[AS類型1][,變數(shù)名2[As類型2]]
例如:Dimchr1AsString*算術(shù)運(yùn)算符和算術(shù)運(yùn)算式在VB中,算術(shù)運(yùn)算符有:乘方號(^)、取負(fù)號(-)、乘號(*)、除號(/)、整除號(\)、求餘運(yùn)算符(Mod)、加號(+)和減號(-)。
PrivateSubCommand1_Click()Print25\5*5EndSub輸出結(jié)果為1。因為先計算乘法,再完成整除25\25的運(yùn)算。
*字串運(yùn)算符和字串運(yùn)算式在VB中,字串運(yùn)算符有:加號(+)和字串連接運(yùn)算符號(&)。兩個運(yùn)算符的作用相同,都是將兩個字串連接成一個字串。例如:“面向?qū)ο蟆?“程式設(shè)計”結(jié)果仍是一個字串:"面向?qū)ο蟪淌皆O(shè)計"“面向?qū)ο蟆?“程式設(shè)計”結(jié)果仍是一個字串:"面向?qū)ο蟪淌皆O(shè)計
*關(guān)係運(yùn)算符和關(guān)係運(yùn)算式在VB中,關(guān)係運(yùn)算符有:大於號(>)、小於號(<)、大於等於號(>=)、小於等於號(<=)、等於號(=)和不等於號(<>或><)。
關(guān)係運(yùn)算式的一般格式:運(yùn)算式
關(guān)係運(yùn)算符
運(yùn)算式
*邏輯運(yùn)算符和邏輯運(yùn)算式在VB中,常用的邏輯運(yùn)算符有:非(Not)、與(And)、或(Or)、異或(Xor)、等價(Eqv)和蘊(yùn)含(Imp)。邏輯運(yùn)算符,用來對兩個邏輯量進(jìn)行運(yùn)算,運(yùn)算的結(jié)果是邏輯型的,結(jié)果值True表示真,F(xiàn)alse表示假。邏輯運(yùn)算式的一般格式:運(yùn)算式邏輯運(yùn)算符運(yùn)算式例如:A+B=CAndX=Y是邏輯運(yùn)算式,在求解該運(yùn)算式時,先完成算數(shù)運(yùn)算,再解決關(guān)係運(yùn)算,最後進(jìn)行邏輯運(yùn)算。整個運(yùn)算式的含義是,當(dāng)A+B等於C並且X等於Y時,該運(yùn)算式的結(jié)果為真。
*VB常用內(nèi)部函數(shù)
例2.2
飛機(jī)高度。設(shè)計一個窗體,在窗體上添加一個名為“計算”的命令按鈕。運(yùn)行程式時,單擊“計算”輸出雷達(dá)搜索到飛機(jī)的高度。設(shè)雷達(dá)在仰角300時發(fā)出電波,在B點碰到飛機(jī),經(jīng)過1/3000秒收到來自飛機(jī)的回波。電波的速度為3×108米/秒,問飛機(jī)的高度。
*常用數(shù)學(xué)函數(shù)常用數(shù)學(xué)函數(shù)主要包括三角函數(shù)、指數(shù)函數(shù)、對數(shù)函數(shù)、平方根函數(shù)、絕對值函數(shù)等,它們與數(shù)學(xué)上的定義一致。注意:?
所有數(shù)學(xué)函數(shù)的引數(shù)是數(shù)值型,計算結(jié)果也是數(shù)值型。?
引數(shù)可以是常數(shù)、變數(shù)或運(yùn)算式,還可以是函數(shù)。?
表中的三角函數(shù)引數(shù)的單位為弧度。?
Sgn(n)函數(shù),當(dāng)n<0返回-1,當(dāng)n=0返回0,當(dāng)n>0返回1。Rnd(n)函數(shù)產(chǎn)生一個0~1之間的隨機(jī)雙精度數(shù),包括0,但並不包括1。
*常用轉(zhuǎn)換函數(shù)常用轉(zhuǎn)換函數(shù)主要包括數(shù)值型數(shù)據(jù)與字元型數(shù)據(jù)之間的轉(zhuǎn)換,以及數(shù)值型數(shù)據(jù)之間的轉(zhuǎn)換。
常用Val函數(shù)把輸入的數(shù)字字串轉(zhuǎn)換成數(shù)值,用Str函數(shù)把要輸出的數(shù)值轉(zhuǎn)換成字串。運(yùn)行下麵程式,和例2.2結(jié)果相同。OptionExplicitPrivateSubCommand1_Click()ConstVg=300000000#ConstPi=3.1415DimOB,ABOB=Vg/3000/2AB=OB*Sin(30*Pi/180)Print"飛機(jī)的高度是:"+Str(AB)+"米"EndSub*
Asc和Chr是一對互逆函數(shù),Chr只能計算一個字串首字元的ASCII編碼,控制字元可以使用Chr函數(shù)輸入。運(yùn)行下麵程式,觀察結(jié)果(見圖2.6轉(zhuǎn)換函數(shù))。PrivateSubCommand1_Click()PrintChr(Asc("A")),Chr(Asc("ABC"))PrintAsc("A"),Asc("ABC")PrintTrim(Asc("A")),Trim(Asc("ABC"))Print"顯示在上一行"+Chr(13)+Chr(10)+"顯示在下一行"EndSub*常用字符串函數(shù)VB6.0在字元存儲和處理中,採用了Unicode編碼。Unicode編碼將一個漢字和一個西文字元都視為一個字元,佔用兩個位元組存儲。
PrivateSubCommand1_Click()str1="字串函數(shù)與運(yùn)算"
str2=Mid(str1,4,2)Printstr2N=InStr(str1,str2)PrintN,InStr(str1,"字元子串")
Printstr1+"的長度是"+Str(Len(str1))PrintLCase("abCDef")+Space(3)+UCase("abCDef")PrintString(10,"─")Print"茶好吃",StrReverse("茶好吃")EndSub*InputBox函數(shù)InputBox函數(shù)的返回一個字串。在調(diào)用InputBox函數(shù)時,系統(tǒng)將彈出一個對話框,該對話框能接收用戶輸入數(shù)據(jù)。InputBox函數(shù)一般格式如下:
InputBox(提示資訊[,標(biāo)題][,確省值])PrivateSubCommand1_Click()DimLL=Val(InputBox("長度(釐米)","輸入"))
Print"長度(釐米):";LPrint"長度(Twip):";567*LEndSub窗體*
窗體是程式員的“工作臺”,用以可視化地建立應(yīng)用程式。窗體是VB
中一個重要的對象,它除了具有自己的屬性、方法外,還可放置除了窗體之外的其他控件。
VB的窗體和控件是具有自己的屬性、方法和事件的對象。屬性就是對象的性質(zhì),方法就是對象的動作,事件就是對象的回應(yīng)。窗體屬性*
窗體的屬性:決定了窗體的外觀和操作。設(shè)置方法:通過屬性窗口設(shè)置和通過程式代碼設(shè)置。窗體主要屬性*Name(名稱)識別字,是程式代碼中使用的對象名。Caption(標(biāo)題)字元型,設(shè)定或返回窗體標(biāo)題欄中顯示的文本。BackColor(背景顏色)返回或設(shè)置背景顏色。ForeColor(前景顏色)返回或設(shè)定前景顏色。Height、Width(高、寬)數(shù)值型,返回或指定窗體的高度和寬度。Left、Top(左邊、頂邊位置)數(shù)值型,返回或確定窗體左上角的位置。用不同的字體、字型和字型大小時在窗體顯示“航空英雄楊立偉”。*例2.4航空英雄楊立偉。設(shè)計一個窗體,窗體的標(biāo)題為“航空英雄楊立偉”,並為窗體加載一幅圖片。運(yùn)行程式時,單擊窗體,用不同的字體、字型和字型大小時在窗體顯示“航空英雄楊立偉”。窗體事件*
MicrosoftWindows操作系統(tǒng)連續(xù)地監(jiān)視每一個窗口的活動或事件的信號。事件可通過單擊滑鼠或按下按鍵等操作產(chǎn)生,也可通過程式控制產(chǎn)生,還可由另一個窗口的操作產(chǎn)生。窗體主要事件*Click事件用滑鼠單擊某個對象就觸發(fā)了Click事件,調(diào)用相應(yīng)的事件過程。DblClick事件用滑鼠雙擊某個對象就觸發(fā)了DblClick事件,調(diào)用相應(yīng)的事件過程。Load事件Load是把窗體裝入記憶體工作區(qū)時發(fā)生的事件。在缺省情況(AutoReDraw=False)下,Load事件過程是不能在窗體中顯示輸出的。窗體主要事件*Activate事件Load事件發(fā)生後,系統(tǒng)還會自動產(chǎn)生一個Activate事件。Activate事件過程處理完成後,程式進(jìn)入“等待事件”狀態(tài),當(dāng)某一事件發(fā)生,就對其過程進(jìn)行處理,之後再等待下一事件發(fā)生。UnLoad事件當(dāng)用戶關(guān)閉窗體時,會發(fā)生一個Unload事件。Resize事件Resize事件是當(dāng)程式運(yùn)行後,窗體的大小被改變時觸發(fā)的事件。窗體主要方法*Print方法格式:[對象名.]Print[運(yùn)算式[,|;[運(yùn)算式]…]]說明:(1)對象名可以是窗體、立即窗口、圖片框、印表機(jī)。(2)運(yùn)算式可以是數(shù)值或字串運(yùn)算式。(3)當(dāng)輸出多個運(yùn)算式時用分隔符號隔開。逗號:分區(qū)格式輸出,以14個字元為一區(qū);分號或空格:緊湊格式輸出。(4)執(zhí)行Print方法時,命令行的末尾有逗號或分號,則下一次Print方法在同一行接著列印,否則下次Print方法另起一行。窗體主要方法*Cls方法格式:[<對象名>.]ClsCls用於清除由Print方法顯示的文本或在圖片框中顯示的圖形,並把游標(biāo)移到對象的左上角(0,0)。窗體主要方法*Move方法格式:[對象名.]Move左邊距[,上邊距[,寬度[,高度]]]
Move方法可在程式中移動窗體和控件,並可以改變其大小。綜合運(yùn)用
*
例2.5可擴(kuò)大的窗體。設(shè)計一個窗體,窗體的標(biāo)題為“可擴(kuò)大的窗體”,在介面設(shè)計時為窗體加載一幅任意圖形。運(yùn)行程式時,單擊窗體使窗體的長和寬都擴(kuò)大原來的1.1倍,並使窗體居中顯示。
例2.6變色窗體。設(shè)計一個窗體,窗體的標(biāo)題為“變色窗體”。運(yùn)行程式時,單擊窗體,使窗體變成綠色,並使窗體向下和向右都移動100Twip,同時在窗體輸出窗體的位置。單擊窗體的關(guān)閉按鈕,使窗體變成紅色,同時在窗體的標(biāo)題輸出系統(tǒng)時間。Internet與DHTML概述
*
MicrosoftVisualBasic為創(chuàng)建Internet應(yīng)用程式或團(tuán)體intranet應(yīng)用程式提供了多種不同的方式。通過VisualBasic中新的Internet編程特性,VisualBasic程式員利用他的技能只需要很少的努力就可以製作出動態(tài)的、功能強(qiáng)大的Internet應(yīng)用程式。程式員可以製作運(yùn)行在客戶端或伺服器端的應(yīng)用程式,在基於窗體的應(yīng)用程式內(nèi)部顯示HTML頁面,或者可以在Web上使用ActiveX組件。另外,為了下載和開發(fā)Internet組件而設(shè)置應(yīng)用程式也變得快捷和簡便了。
考慮Internet開發(fā)時的一種普遍方式是基於客戶/伺服器關(guān)係。在這種情況中,客戶是流覽器,而伺服器就是Web伺服器。在Internet或intranet上的大多數(shù)交互都可以被考慮成請求和回應(yīng)。流覽器向Web伺服器發(fā)出請求(一般是要求顯示一個用戶想要看的頁面),而Web伺服器則向流覽器返回回應(yīng)(一般是一個HTML頁面、元素或圖像)。*VisualBasic的Internet應(yīng)用程式VisualBasic的Internet技術(shù)在處理上更進(jìn)了一步,它允許將標(biāo)準(zhǔn)的VisualBasic代碼連接到HTML頁面形式的用戶介面上。這就提供了一種極其強(qiáng)大的機(jī)制將編程功能和Web頁面聯(lián)繫起來,從而能夠創(chuàng)建動態(tài)的互動式的內(nèi)容。利用VisualBasic的Internet技術(shù),可以執(zhí)行複雜的業(yè)務(wù)操作而不必進(jìn)行錯綜複雜的網(wǎng)關(guān)編程或者腳本編寫工作。同時還可以享受到在VisualBasic中工作的所有方便之處,如使用類模組、控件、設(shè)計器以及調(diào)試代碼等。VisualBasicInternet應(yīng)用程式主要有兩種類型:IIS應(yīng)用程式和DHTML應(yīng)用程式。*l
IIS應(yīng)用程式,是根據(jù)MicrosoftInternetInformationServer命名的,它駐留在Web伺服器上,用來處理從流覽器來的輸入請求。IIS應(yīng)用程式對請求進(jìn)行處理、運(yùn)行相關(guān)的VisualBasic代碼並向用戶返回回應(yīng)資訊。IIS應(yīng)用程式的所有處理都在伺服器上進(jìn)行。DHTML應(yīng)用程式,是為動態(tài)HTML命名的,它允許編寫代碼來處理HTML頁面上任何元素的事件。DHTML應(yīng)用程式中的大多數(shù)處理都在流覽器所在的電腦上進(jìn)行,同時應(yīng)用程式也可以在需要時向伺服器發(fā)出請求。
*比較
基於窗體的應(yīng)用程式 基於Web的應(yīng)用程式用戶介面 VisualBasic窗體HTML頁面UI元素如按鈕控件 元素檔格式 .frm檔 .htm或.html檔創(chuàng)建者 開發(fā)者 Web設(shè)計者或開發(fā)者運(yùn)行時 DLL Web流覽器*DHTML應(yīng)用程式由下列幾部分組成:l
一個或多個HTML頁面。l
VisualBasic代碼,它處理HTML頁面產(chǎn)生的事件。l
一個運(yùn)行時部件,它存在於Web流覽器或Web流覽器控件中的頁面上。一個工程DLL,它包含VisualBasic代碼並且被運(yùn)行時部件訪問,當(dāng)調(diào)試或編譯工程時它自動產(chǎn)生。
*在應(yīng)用程式中流覽Web基於窗體的應(yīng)用程式流覽Web(使用WebBrowser控件)在部件對話框中選擇MicrosoftInternetControls便可在工具箱中添加WebBrowser控件。*下麵程式在窗體上添加了:Label1Combo1WebBrowser1並編寫了如下代碼PrivateSubCombo1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)IfKeyCode=13ThenWebBrowser1.NavigateCombo1.TextEndIfEndSub運(yùn)行上面程式,在Combo1中輸入URL並按回車鍵便可流覽相應(yīng)網(wǎng)頁**DHTML應(yīng)用程式
新建工程,選擇DHTML應(yīng)用程式;在“工程資源管理器”窗口中,打開設(shè)計器檔夾,然後雙擊DHTMLPage1;進(jìn)行頁面設(shè)計,並編寫代碼;保存程式。*例12.1ActiveX文檔示例。創(chuàng)建一個具有兩個ActiveX文檔的工程,使其具有流覽Web頁的功能,並可以在兩個ActiveX文檔之間切換。
*例12.2流覽器示例。設(shè)計一個窗體使其具有流覽器的後退、前進(jìn)、停止、刷新、主頁流覽功能。
*順序結(jié)構(gòu)程式設(shè)計
*
在事件驅(qū)動機(jī)制中,由用戶激發(fā)的某個事件去執(zhí)行相應(yīng)的事件過程。這些事件處理過程之間並無特定的執(zhí)行順序,但每個事件過程內(nèi)部卻包含著三種結(jié)構(gòu)。在順序結(jié)構(gòu)中,語句將按照出現(xiàn)的順序逐條執(zhí)行。
*例3.1
簡單電路。R1=10歐,R2=20歐,R3=30歐,電源電壓恒定不變,若開關(guān)S1閉合,S2斷開時,電流錶的讀數(shù)是0.3A,求(1)電源電壓多大?(2)當(dāng)S1和S2都斷開時,電流錶的讀數(shù)多大?(3)當(dāng)S1、S2都閉合時,電流錶的讀數(shù)是多大?
*變數(shù)名=運(yùn)算式或:[對象名.]屬性名=運(yùn)算式賦值語句的含義是:(1)計算賦值號右邊運(yùn)算式的值;(2)將此值賦給賦值號左邊的識別字代表的變數(shù)或控件屬性,作為它的當(dāng)前值;(3)該值一直保存到下一次再對它賦值為止。賦值語句基本含義*賦值相容
賦值語句中的識別字代表一個存儲單元。執(zhí)行賦值語句時,如果這個存儲單元的結(jié)構(gòu)和大小能夠正確地表示賦值號右邊的運(yùn)算式的值,那麼,就稱該賦值語句是賦值相容的。*數(shù)值型與字串型
1.如果字串的形式表示數(shù)值,則可將字串賦予數(shù)值變數(shù)。也可將數(shù)值賦予字串變數(shù)。2.如果把非數(shù)值形式的字串賦給數(shù)值變數(shù),則會出現(xiàn)運(yùn)行錯誤。3.把一個整數(shù)賦給一個實變數(shù),將不會出什麼錯;4.當(dāng)把一個長整數(shù)賦給一個單精確度變數(shù),就可能會受示數(shù)精度的影響。*注釋語句格式:‘注釋內(nèi)容
撇號說明:
1.此語句僅起注釋作用,不被解釋和編譯。2.任何字元(包括漢字)都可以作為注釋內(nèi)容。3.此語句可放在過程、模組的開頭,也可放在執(zhí)行語句的後面,但必須是一行中的最後一個語句。*暫停語句格式:Stop說明:1.可放在過程中的任何地方,用來暫停程式執(zhí)行,相當(dāng)於設(shè)置中斷點。2.類似於Run菜單中的Break命令,系統(tǒng)將自動打開立即窗口(Debug),方便程式員調(diào)試跟蹤程式。3.調(diào)試完畢,生成可執(zhí)行檔之前,應(yīng)刪去所有的Stop語句。*結(jié)束語句格式:End說明:1.通常用來結(jié)束程式的執(zhí)行。2.程式?jīng)]有End語句,或雖然有,但沒執(zhí)行,運(yùn)行沒有影響,但不能正常結(jié)束。3.為了保持完整性,程式應(yīng)該通過End語句結(jié)束執(zhí)行。4.其他用途:EndSub結(jié)束一個Sub過程EndFunction結(jié)束一個Function過程EndIf結(jié)束一個If語句塊EndType結(jié)束記錄類型定義EndSelect結(jié)束情況語句*命令按鈕(CommandButton)控件
命令按鈕是最常使用的控件之一。命令按鈕最多設(shè)置的屬性是Caption,一般使用屬性窗口設(shè)置該屬性,以便修改命令按鈕的標(biāo)題。命令按鈕最常使用的事件是Click。
*命令按鈕屬性(1)(名稱)在程式中它是識別命令按鈕的識別字。窗體中第一個建立的命令缺省名稱是Command1,後續(xù)的命令按鈕缺省名稱分別是Command2、Command3等。名稱屬性為只讀屬性。只讀屬性的含義是,這樣的屬性只允許在介面設(shè)計時修改,在程式中不能修改這樣的屬性。(2)Caption屬性Caption屬性是字串類型,是顯示在命令按鈕上的標(biāo)題。即可以在介面設(shè)計時通過屬性窗口修改,也可以使用代碼設(shè)置。
*(3)Default屬性Default屬性是布爾類型,當(dāng)命令按鈕的Default屬性設(shè)置為True時,按回車鍵等效於用滑鼠單擊該按鈕。一個窗體只能有一個命令按鈕的Default屬性設(shè)置為True。命令按鈕的Default屬性缺省值為False。(4)Cancel屬性Cancel屬性是布爾類型,當(dāng)命令按鈕的Cancel屬性設(shè)置為True時,按Esc鍵等效於用滑鼠單擊該按鈕。一個窗體只能有一個命令按鈕的Cancel屬性設(shè)置為True。命令按鈕的Cancel屬性缺省值為False。
*(5)Style屬性和Picture屬性Style屬性決定命令按鈕的外觀,只能取0或1。當(dāng)此屬性設(shè)置為0時,表示標(biāo)準(zhǔn)命令按鈕,該按鈕只能顯示文字,並且不能改變背景顏色和前景顏色,更不能顯示圖示。當(dāng)此屬性設(shè)置為1時,表示圖形命令按鈕,圖形即能顯示文字,能改變背景顏色和前景顏色,也能顯示圖示。命令按鈕的Picture屬性同窗體的Picture屬性,用來顯示圖形。(6)ToolTipText屬性ToolTipText屬性是字串類型,用於設(shè)置命令按鈕的提示資訊,運(yùn)行程式過程中,若滑鼠指向命令按鈕並停留時,顯示命令按鈕ToolTipText的字串。*(8)Enabled屬性Enabled屬性是布爾類型,用於設(shè)置命令按鈕是否可以操作,運(yùn)行程式時,若命令按鈕的Enabled屬性設(shè)置為False,命令按鈕呈灰色,此時命令按鈕禁止操作。當(dāng)命令按鈕的Enabled屬性設(shè)置為True時,允許用戶操作命令按鈕。(9)Visible屬性Visible屬性是布爾類型,用於設(shè)置命令按鈕是否可見。(10)其他屬性命令按鈕也有和大小、位置有關(guān)的屬性,有Height、Left、Top和Width。不同的是,窗體的Left和Top是相對於螢?zāi)?,命令按鈕的Left和Top是相對於窗體。另外,命令按鈕能夠輸出文字,因此有與Font相關(guān)的屬性。
*例3.2老師和學(xué)生。設(shè)計一個窗體,在窗體上添加兩個命令按鈕。運(yùn)行程式時,“老師”可以操作,“學(xué)生”不能操作,單擊“老師”按鈕後“老師”不能操作,“學(xué)生”可以操作。單擊“學(xué)生”後,命令按鈕狀態(tài)恢復(fù)成原始狀態(tài)。用滑鼠指向命令按鈕並停留時,顯示提示資訊。*命令按鈕事件命令按鈕它是用戶與程式交互的最簡便的方法。命令按鈕除最常使用的Click事件。命令按鈕常用到的事件有:MouseDown事件、MouseUp事件、MouseMove
事件等。MouseDown事件*例3.3事件順序。設(shè)計一個窗體,在窗體上添加一個命令按鈕。並編寫命令按鈕被壓下、單擊和抬起的事件過程,在事件過程中輸出命令按鈕的狀態(tài)。要求命令按鈕被壓下和正常狀態(tài)分別顯示不同圖形。*標(biāo)籤控件標(biāo)籤控件(Label)也稱標(biāo)籤或標(biāo)籤框,是最常使用的控件之一,常用於輸出文本,顯示提示資訊,用標(biāo)籤控件輸出的文本、提示資訊不能編輯、修改。所以標(biāo)籤控件常用來輸出標(biāo)題、顯示處理結(jié)果或標(biāo)識那些不帶Caption屬性的控件,如下面講的TextBox控件。*標(biāo)籤控件屬性(1)(名稱)屬性在介面設(shè)計時,用Name屬性設(shè)置標(biāo)籤控件的名稱。隨著標(biāo)籤控件的建立,系統(tǒng)賦給標(biāo)籤控件的隱含名稱為Label1、Label2等,在隱含名稱中Label永遠(yuǎn)保持不變,變化的是後邊的序號,能表示出是第幾個添加的標(biāo)籤控件。在程式中對控件的操作,都是通過名稱來識別對象。(2)Caption屬性Caption屬性是字串類型,用於設(shè)置該標(biāo)籤控件的標(biāo)題。該屬性值就是標(biāo)籤控件要顯示的內(nèi)容,它既可以在屬性窗口中設(shè)定,也可用代碼改變控件顯示的內(nèi)容。*(3)Alignment屬性數(shù)值型,用於設(shè)置標(biāo)題的對齊方式,可設(shè)置為0、1和2,其作用分別是:左對齊、右對齊和中間對齊。(4)AutoSize屬性AutoSize屬性是布爾類型,標(biāo)籤的大小是否隨標(biāo)題內(nèi)容的大小自動調(diào)整。當(dāng)該屬性設(shè)置為True時,標(biāo)籤的大小隨標(biāo)題內(nèi)容自動調(diào)整,使標(biāo)籤的大小正好適應(yīng)標(biāo)題,且不換行。當(dāng)該屬性設(shè)置為False時,標(biāo)籤的大小不隨標(biāo)題內(nèi)容自動調(diào)整,標(biāo)題超過標(biāo)籤尺寸的部分不能顯示。確省值為False。*(5)BorderStyle屬性數(shù)值型,用於設(shè)置邊框的樣式,只能取0或1,其作用如下:0-標(biāo)籤無邊界線,確省值。1-標(biāo)籤有邊界線。(6)BackStyle屬性數(shù)值型,用於設(shè)置背景的樣式,只能取0或1,其作用如下:0-透明顯示,確省值。1-不透明顯示。*文本框(TextBox)控件
文本框?qū)傩裕?)Text屬性Text屬性是字串類型,用於設(shè)置文本框中顯示的文字。該屬性值是文本框要顯示的內(nèi)容,它既可以在屬性窗口中設(shè)定,也可用代碼改變控件顯示的內(nèi)容。(2)PasswordChar屬性PasswordChar屬性是字串類型,用於設(shè)置文本框中顯示的字元,常用於口令輸入。
*(3)Multiline屬性Multiline屬性是布爾類型,用於設(shè)置文本框中是否可以輸入多行文本。缺省值是False,此時文本框中只能輸入一行文本。當(dāng)設(shè)置該屬性為True時,文本框可以輸入多行文本。當(dāng)該屬性設(shè)置為False時,PasswordChar屬性才能發(fā)揮作用。(4)ScrollBars屬性ScrollBars屬性是數(shù)值型,用於設(shè)置文本框中是否有滾動條,什麼樣的滾動條??扇≈?、1、2、3,缺省值是0。
*文本框事件和方法文本框支持Click和DblClick事件,常用的事件還有:(1)Change事件在文本框中輸入資訊或在程式中改變Text屬性值時,都會觸發(fā)該事件。(2)LostFocus事件按下Tab鍵或用滑鼠單擊其他對象使焦點離開該文本框時,觸發(fā)該事件。(3)KeyPree事件當(dāng)文本框具有焦點時,按下任意鍵,都會觸發(fā)該事件。通??捎迷撌录z查輸入的字元。
*TextBox控件常用的方法有:SetFocus方法,其作用是把焦點設(shè)置到指定的對象,如:Text1.SetFocus將使當(dāng)前窗體中的文本框text1能夠接收鍵盤輸入的字元。*綜合運(yùn)用
例3.6字元和ASCII例3.7相對運(yùn)動一平板車,品質(zhì)M=100千克,停在水準(zhǔn)路面上。車身的平板離地面的高度h=1.25米,一品質(zhì)m=50千克的小物塊置於車的平板上,它到車尾端的距離b=1.00米,與車板間的滑動摩擦係數(shù)u=0.20,如圖所示。今對平板車施一水準(zhǔn)方向的恒力,使車向前行駛,結(jié)果物塊從車板上滑落。物塊剛離開車板的時刻,車向前行駛的距離S0=2.0米。求物塊落地時,落地點到車尾的水準(zhǔn)距離S。不計路面與平板車間以及輪軸之間的摩擦,取g=9.8米/秒2。基本概念
*
VisualBasic是通過microsoftjet資料庫引擎工具來支持對數(shù)據(jù)庫的數(shù)據(jù)訪問能力。VisualBasic6.0提供了兩種主要的與資料庫引擎介面的方法:Data控件和數(shù)據(jù)訪問對象(DAO)。Data控件是比較簡單直接的方法,只給出有限的不需編程而能訪問現(xiàn)存資料庫的功能,而DAO模型是全面控制資料庫的完整編程介面。
資料庫的概念資料庫的功能包括:l
數(shù)據(jù)定義(Datadefinition)。定義什麼數(shù)據(jù)可以存儲在資料庫中(例如,特性的數(shù)目)以及數(shù)據(jù)如何被格式化和檢驗。l
數(shù)據(jù)操作(Datamanipulation)。可以用許多方式對數(shù)據(jù)進(jìn)行操作,可以選擇需要的數(shù)據(jù)字段、過濾數(shù)據(jù)及對數(shù)據(jù)進(jìn)行分類,可以把數(shù)據(jù)與其他相關(guān)資訊相聯(lián)接,以及求數(shù)據(jù)的和。數(shù)據(jù)控制(Datacontrol)。可以定義數(shù)據(jù)可以讀取、修改或插入,在許多情況下,還可以定義數(shù)據(jù)怎樣被多個用戶分享。*在一個資料庫檔中,可以包含許多數(shù)據(jù)字段(Tabledef)。表的列代表了數(shù)據(jù)的類別,每組數(shù)據(jù)的類別名稱稱為域(Fields)。域中的所有數(shù)據(jù)構(gòu)成域字段。域字段內(nèi)的元素就是最基本的數(shù)據(jù)。表的行是多組格式相同的數(shù)據(jù)集合,稱為數(shù)據(jù)記錄(Record)。
*VisualBasic6.0採用的資料庫管理方法如下*程式介面資料庫引擎資料庫主體
資料庫的創(chuàng)建
利用可視化數(shù)據(jù)管理器打開、編輯已存在資料庫
*利用ADO數(shù)據(jù)控件與資料庫連接
在工具箱單擊右鍵選擇“部件”,顯示“部件”對話框。在“部件”對話框中,選擇MicrosoftADODataControl。(2)添加“ADOData控件”後按F4鍵顯示“屬性”窗口。(3)創(chuàng)建一個連接字串,請選擇“使用ConnectionString”,單擊“生成”按鈕,然後使用“資料鏈接屬性”對話框創(chuàng)建一個連接字串。(4)設(shè)置“記錄源”屬性。*設(shè)置綁定控件(1)在窗體上再放置一個“文本框”控件,用來顯示資料庫資訊。(2)在其“屬性”窗口中,將Text1的“數(shù)據(jù)源”屬性設(shè)為ADOData控件的名稱(ADODC1)。這樣就將這個文本框和ADOData控件綁定在一起。(3)在其“屬性”窗口中,單擊“數(shù)據(jù)字段”,將下拉得到一個可用的字段列表。單擊所要顯示的字段的名稱。*綁定到ADOData控件
l
複選框(CheckBox)l
組合框(ComboBox)l
圖像(Image)l
標(biāo)籤(Label)l
列表框(ListBox)l
圖片框(PictureBox)l
文本框(TextBox)*數(shù)據(jù)表格(DataGrid)控件
*數(shù)據(jù)表格(DataGrid)控件添加數(shù)據(jù)表格
更改DataSource*例10.1ADO數(shù)據(jù)控件示例。設(shè)計一個窗體,在其中對數(shù)據(jù)庫表進(jìn)行添加、刪除、更新操作,要求用ADO數(shù)據(jù)控件與資料庫相連。
*綜合舉例
例10.2綜合示例。設(shè)計窗體,可對數(shù)據(jù)庫表進(jìn)行增加、刪除、更新、流覽。
*結(jié)構(gòu)化查詢語言SQL
*結(jié)構(gòu)化查詢語言(SQL)是MicrosoftJet資料庫引擎所使用的一種行業(yè)標(biāo)準(zhǔn)資料庫語言。SQL用於創(chuàng)建QueryDef對象時,作為OpenRecordset方法的源參數(shù)和數(shù)據(jù)控件的RecordSource屬性。
VisualBasic6.0提供的命令類型包括:l
SELECT,用來在資料庫中查找滿足特定條件的記錄;l
CREATE,用來創(chuàng)建新的表、字段和索引;l
DROP,用來刪除資料庫中的表和索引;l
ALTER,通過添加字段或改變字段定義來修改表。注意:SELECT命令是VisualBasic6.0中使用語句時最常用和最重要的語句。*子句是用來修改條件的,下麵列出了可用的子句。l
FROM:用來為從其中選定記錄的表命名;l
WHERE:用來指定所選記錄必須滿足的條件;l
ORDERBY:用來按特定的次序?qū)⒂涗浥判颍籊ROUPBY:用來將選定的記錄分成特定的組。
*運(yùn)算符
運(yùn)算符 描述運(yùn)算符 描述< 小於= 等於<= 小於等於 <>不等於> 大於>= 大於等於 Between和In用來指定值的範(fàn)圍Like 在模式匹配中使用*函數(shù)
l
AVG:用來獲取特定字段的值的平均數(shù);l
COUNT:用來返回選定記錄的個數(shù);l
SUM:用來返回特定字段的所有值之和;l
MAX:用來返回指定字段中的最大值;l
MIN:用來返回指定字段中的最小值。*例如:Select*fromMyStudentWhereAge>20andsex='Male'OrderByAge*1.Between和InBetween和In運(yùn)算符的格式如下:(功能變數(shù)名稱稱)Between(值1)and(值2)該語句表示只返回值1和值2之間的記錄。(功能變數(shù)名稱稱)In(值1,值2,…)該語句表示只返回域為括弧中的數(shù)值之一的記錄,可以在括弧中指定多個元素。*2.日期表示方法日期是採用#date#格式表示的。date指定為美國日期格式(月/日/年)。*Like運(yùn)算符Like是最強(qiáng)大也是最複雜的SQL運(yùn)算符之一,它可以用樣式字串選擇行。
* 任何字元集?任一字元# 任一數(shù)字[.] 方括號中的一個字元[!] 不在方括號中的一個字元*例11.1綜合示例。設(shè)計一個窗體,可在其中進(jìn)行複雜查詢,即可以選擇字段和查詢條件。
*認(rèn)識計時器和數(shù)組
*例6.1輸入日期計算天數(shù)。設(shè)計一個窗體,在窗體上添加一個標(biāo)籤框、一個計時器和兩個命令按鈕。運(yùn)行程式並單擊“開始”,彈出輸入對話框,要求按照固定格式輸入日期,程式計算輸入日期是該年中的第幾天。
控件屬性數(shù)組
例6.2列表項操作。設(shè)計一個窗體,在窗體上添加一個列表框、一個框架、一個文本框、一個複選按鈕和五個命令按鈕。運(yùn)行程式並單擊“增加元素”,給列表框增加10個列表項。單擊“交換元素”,交換相鄰的兩個列表項。在查找中輸入要查找的文本,單擊“開始”,將找到所有含該文本的列表項並使之處於選擇狀態(tài),選擇嚴(yán)格查找,只有列表項的內(nèi)容和要查找的文本完全一致時,才算找到。單擊“反向選擇”,使選擇的列表項變成未被選擇的列表項,而未被選擇的列表項變成選擇的列表項。單擊“刪除元素”,將刪除所有選擇的列表項。*控件數(shù)組
控件數(shù)組由一組相同類型的控件組成。這些控件具有相同的名稱,具有很多相同的屬性。數(shù)組中的每個控件都有唯一的索引號,即下標(biāo),下標(biāo)值由Index屬性指定,第1個控件數(shù)組元素的下標(biāo)為0,第2個控件數(shù)組元素的下標(biāo)為1等等。它是創(chuàng)建控件數(shù)組時系統(tǒng)自動按順序賦給每個控件數(shù)組元素的,程式通過索引值來區(qū)別控件數(shù)組中的元素。由於控件數(shù)組是由一組相同類型的控件組成,這些控件共用一個相同的名字。數(shù)組中的每個控件都有唯一的索引號(下標(biāo)),所以它們非常方便的共用同一事件過程。在若干控件執(zhí)行的操作相似的場合最適於使用控件數(shù)組。
**例6.3計算器。設(shè)計一個窗體,在窗體上設(shè)計由十個數(shù)字按鈕、四個運(yùn)算符、四個函數(shù)按鈕、一個“C”按鈕、一個“=”按鈕和一個標(biāo)籤,模擬計算器能完成一步整數(shù)計算功能。
自定義數(shù)組
在本章介紹列表框的List和Selected屬性時,談到這樣的屬性是數(shù)組。它們分別存放列表框中所有列表項的內(nèi)容和每個列表項是否被選擇的狀態(tài)。在實際應(yīng)用中,也經(jīng)常需要處理成批數(shù)據(jù),為此高級語言都提供了數(shù)組。它是一種非常有用的數(shù)據(jù)結(jié)構(gòu)。一般來講,數(shù)組是由一系列元素構(gòu)成,每個元素的類型相同。
**在電腦中數(shù)組佔據(jù)一塊記憶體區(qū)域,數(shù)組名是這個區(qū)域的名稱,下標(biāo)可標(biāo)識數(shù)組元素在該區(qū)域的位置。數(shù)組應(yīng)遵循先定義後使用的原則。定義數(shù)組的目的是為其留出所需空間。這一點和控件屬性中使用到的數(shù)組不同,控件屬性中用到的數(shù)組是系統(tǒng)定義的。定義數(shù)組的一般格式:Dim數(shù)組名(第一維說明[,第二維說明]…..)[As類型]*除使用Dim語句指定下界,還可以使用OptionBase語句指定下界。OptionBase語句格式為:OptionBase下界值
*例6.4試驗數(shù)據(jù)。設(shè)計一個窗體,在窗體上添加一個文本框、一個圖片框、一個列表框和三個命令按鈕。運(yùn)行程式時,單擊“模擬數(shù)據(jù)”按鈕,用隨機(jī)函數(shù)產(chǎn)生30個兩位模擬試驗隨機(jī)整數(shù),並且顯示在文本框中。單擊“數(shù)據(jù)分佈”按鈕,統(tǒng)計試驗數(shù)據(jù)的分佈,按10到19、20到29……90到99分段,統(tǒng)計每段模擬試驗數(shù)據(jù)的個數(shù),並在圖片框中顯示。單擊“計算平均”按鈕,計算模擬試驗數(shù)據(jù)的平均值和低於平均值數(shù)據(jù)的個數(shù),並且顯示在列表框中。
*例6.5楊輝三角形。設(shè)計一個窗體,在窗體上添加一個文本框和三個命令按鈕。運(yùn)行程式時,單擊“輸出”,彈出輸入對話框,用於輸入要輸出楊輝三角形的行數(shù),假定要輸入的數(shù)小於11,程式將計算並在文本框中輸出楊輝三角形。
可調(diào)數(shù)組
定義數(shù)組的目的是為了預(yù)留連續(xù)的存儲空間,但有時數(shù)組的大小只有運(yùn)行程式時才能確定,定義“足夠大”的數(shù)組雖然可以解決這個問題,但浪費(fèi)了很多存儲空間。在例8.5中處理gz數(shù)組VB的編譯程序?qū)㈩A(yù)留了100個存儲空間,但實際可能只使用其中一部分。為此,VB6.0提供了可調(diào)數(shù)組用來解決這個問題,可調(diào)數(shù)組也稱動態(tài)數(shù)組??烧{(diào)數(shù)組的長度可以在運(yùn)行程式時改變。定義可調(diào)數(shù)組的方法是(1)用Dim語句(或Private和Public),但不要指定維數(shù)。(2)再用ReDim語句指定數(shù)組的準(zhǔn)確尺寸。
**例6.6計算前三名學(xué)生成績。設(shè)計一個窗體,在窗體上添加兩個命令按鈕。運(yùn)行程式時,單擊【計算】,彈出輸入對話框,要求輸入學(xué)生人數(shù)。以後要求輸入每個學(xué)生的成績,輸入結(jié)束後計算並輸出學(xué)生人數(shù)和平均成績,然後再輸出成績最高的前三名學(xué)生的成績。
*可變類型數(shù)組當(dāng)一個數(shù)組被說明成變體類型的數(shù)組,它的每個元素也是變體類型的,因此,可以存放各種類型的數(shù)據(jù)。OptionBase1PrivateSubForm_Click()Diman(6)Fori=1To3an(i)="Name"+Str(i)NextiFori=4To6an(i)=Int(Rnd*10000)/100NextiFori=1To3Printan(i),an(i+3)NextiEndSub*變體變數(shù)可以擴(kuò)充為數(shù)組,用Array函數(shù)可以給變體變數(shù)賦一組數(shù),這組數(shù)的數(shù)據(jù)類型可以不同,賦值以後變體變數(shù)擴(kuò)充為數(shù)組,要訪問其中的元素。例如:OptionBase1PrivateSubForm_Click()Dimanan=Array("Name1","Name2","Name3",Int(Rnd*10000)/100,Int(Rnd*10000)/100,Int(Rnd*10000)/100)Fori=1To3Printan(i),an(i+3)NextiEndSub計時器控件(Timer)
計時器控件也稱定時器或時鐘,他是按一定時間間隔自動觸發(fā)事件的控件,使用計時器可定時重複執(zhí)行時鐘中斷過程。在程式運(yùn)行時,計時器是不可見的。
**計時器的屬性(1)Interval屬性設(shè)定計時器觸發(fā)Timer事件的時間間隔,即兩個計時器事件之間的時間間隔,其值以毫秒(0.001秒)為單位,允許範(fàn)圍是0到65,535。該控件會自動檢查系統(tǒng)時間是否又到Interval屬性值,到了便產(chǎn)生Timer事件,執(zhí)行時鐘中斷過程。當(dāng)Interval屬性值為0時遮罩計時器,使計時器不再產(chǎn)生Timer事件。(2)名稱和其他屬性
*計時器的事件計時器控件的常用事件是Timer事件,是計時器在間隔了一個Interval時間後所觸發(fā)的事件。例6.7倒計數(shù)。設(shè)計一個窗體,在窗體上添加兩個標(biāo)籤和一個計時器。運(yùn)行程式時,自動開始倒計數(shù),從10到0每隔一秒倒計數(shù)一次,計數(shù)時在兩個標(biāo)籤中分別顯示系統(tǒng)當(dāng)前時間和倒計數(shù)的值。
滾動條控件
滾動條控件用於輸入數(shù)據(jù),也用於與那些不支持滾動的控件配合使用,給它們提供滾動觀察的功能。
**滾動條的屬性(1)Value屬性Value屬性標(biāo)誌滾動條的當(dāng)前值(滾動滑塊的位置),當(dāng)滾動滑塊的位置移動時,Value屬性值也隨之改變。在程式中也可以用代碼設(shè)置,設(shè)置時滾動滑塊的位置隨之移動。其值為整型,範(fàn)圍應(yīng)在Min和Max之間。(2)Min屬性滾動滑塊在最小位置的值,其值為整型,範(fàn)圍應(yīng)在-32768和32767之間。水準(zhǔn)滾動條滾動滑塊在最左邊,垂直滾動條滾動滑塊在最上邊,是滾動滑塊在最小位置的值。(3)Max屬性滾動滑塊在最大位置的值,其值為整型,範(fàn)圍應(yīng)在-32768和32767之間。水準(zhǔn)滾動條滾動滑塊在最右邊,垂直滾動條滾動滑塊在最下邊,是滾動滑塊在最大位置的值。
*(4)SmallChange屬性當(dāng)單擊滾動條兩端箭頭時,Value的改變量,其值為整型。(5)LargeChange屬性當(dāng)單擊滾動條的空白位置時,Value的改變量,其值為整型。(6)名稱和其他屬性
*滾動條的事件滾動條控件常用的事件有Scroll和Change。當(dāng)拖動滾動條滑塊時觸發(fā)Scroll事件,當(dāng)單擊滾動條兩端箭頭時或單擊滾動條的空白位置時,觸發(fā)Change事件。拖動滾動條滑塊結(jié)束時,也觸發(fā)Change事件。
例6.8比較Scroll和Change事件。設(shè)計一個窗體,在窗體上添加兩個文本框和兩個水準(zhǔn)滾動條。運(yùn)行程式時,單擊左邊滾動條兩端箭頭時或單擊滾動條的空白位置時,改變文本框1的寬度和文本框1中字的大小,拖動右邊滾動條滑塊時,改變文本框2的寬度和文本框2中字的大小。
*綜合運(yùn)用
例6.9入網(wǎng)登記。設(shè)計一個窗體,在窗體上添加三個標(biāo)籤、一個文本框、一個列表框和兩個命令按鈕。運(yùn)行程式時,輸入入網(wǎng)人員姓名,單擊【入網(wǎng)登記】按鈕,在列表框中增加一位線民,若在列表框中單擊線民的姓名,將顯示該線民入網(wǎng)時間,單擊【退出】命令按鈕,結(jié)束程式運(yùn)行。
例6.10慶祝中國載人航太的成功。設(shè)計一個窗體,在窗體上添加兩個標(biāo)籤、一個文本框和一個水準(zhǔn)滾動條。運(yùn)行程式時,文本框中的漢字隨時間而改變顏色,改變水準(zhǔn)滾動條滑塊位置會改變顏色變化的頻率,顏色取紅、綠和藍(lán)三色。
*例6.11奔跑的馬。設(shè)計一個窗體,在窗體上添加一個圖像框。運(yùn)行程式後,在窗體上顯示馬奔跑的動畫。
例6.12運(yùn)行中的載人飛船。設(shè)計一個窗體,在窗體上添加一個圖片框和一個形狀控件。運(yùn)行程式後,模擬飛船繞地球運(yùn)動。
通用對話框
*
CommonDialog控件提供諸如打開和保存檔、設(shè)置列印選項、選擇顏色和字體等操作的一組標(biāo)準(zhǔn)對話框。運(yùn)行Windows幫助引擎時,控件還能夠顯示幫助。通用對話框ommonDialog控件可以顯示如下常用對話框:l
打開l
另存為l
顏色l
字體l
列印*通用對話框添加到工具箱
(1)右單擊工具箱空白位置,選擇彈出菜單中的“部件”命令,彈出“部件”對話框;(2)在對話框的“控件”列表框中選擇“MicorSoftCommonDialogControl6.0”選項(使該選項前的複選框中出現(xiàn)對鉤);(3)單擊“確定”按鈕。通用對話框在工具箱中的圖示是:*CommonDialog控件的方法
方法顯示的對話框ShowOpen打開ShowSave另存為ShowColor顏色ShowFont字體ShowPrinter列印ShowHelp調(diào)用Windows“幫助”*顯示“打開”和“另存為”對話框
有了“打開”對話框就可指定驅(qū)動器、目錄、檔擴(kuò)展名和文件名。“另存為”對話框在外觀上與“打開”對話框相同,只是對話框的標(biāo)題和文件名是暗淡的。運(yùn)行時選定檔並關(guān)閉對話框後,可用FileName屬性獲取選定的檔案名。
*PrivateSubmnuFileOpen_Click()'CancelError為TrueOnErrorGoToErrHandlerCommonDialog1.Filter="AllFiles(*.*)|*.*|TextFiles(*.txt)|*.txt|BatchFiles(*.bat)|*.bat“'設(shè)置篩檢程式CommonDialog1.FilterIndex=2'指定默認(rèn)篩檢程式CommonDialog1.ShowOpen'顯示“打開”對話框OpenFile(CommonDialog1.FileName)'調(diào)用打開檔的過程ExitSubErrHandler:'用戶單擊“取消”按鈕ExitSubEndSub*
使用“顏色”對話框
可用“顏色”對話框在調(diào)色板中選擇顏色,或者創(chuàng)建並選定自定義顏色.*PrivateSubCommand1_Click()'將Cancel設(shè)置成TrueCommonDialog1.CancelError=TrueOnErrorGoToErrHandler'設(shè)置Flags屬性CommonDialog1.Flags=cdlCCRGBInit'顯示“顏色”對話框CommonDialog1.ShowColor'將窗體的背景顏色設(shè)置成選定的顏色Form1.BackColor=CommonDialog1.ColorExitSubErrHandler:'用戶單擊了“取消”按鈕ExitSubEndSub*使用“字體”對話框
Color選定的顏色。為使用此屬性,必須先將Flags屬性設(shè)置為cdlCFEffectsFontBold是否選定“粗體”FontItalic是否選定“斜體”FontStrikethru是否選定刪除線FontUnderline是否選定下劃線FontName選定的字體名稱FontSize選定的字體大小*(2)用ShowFont方法顯示對話框
PrivateSubCommand1_Click()'顯示“字體”對話框CommonDialog1.ShowFontText1.Font.Name=CommonDialog1.FontNameText1.Font.Size=CommonDialog1.FontSizeText1.Font.Bold=CommonDialog1.FontBoldText1.Font.Italic=CommonDialog1.FontItalicText1.Font.Underline=CommonDialog1.FontUnderlineText1.FontStrikethru=CommonDialog1.FontStrikethruText1.ForeColor=CommonDialog1.ColorExitSub'用戶單擊了“取消”按鈕ExitSubEndSub*檔操作
檔處理都是通過使用Open語句以及其他一些相關(guān)的語句和函數(shù)來實現(xiàn)的。
l
順序型:適用於讀寫連續(xù)塊中的文本檔。l
隨機(jī)型:適用於讀寫有固定長度記錄結(jié)構(gòu)的文本檔或者二進(jìn)位檔。l
二進(jìn)位型:適用於讀寫有任意結(jié)構(gòu)的檔。*檔操作三種檔的基本操作均分為三階段: 1.打開檔。 2.讀(磁片→記憶體)/寫(記憶體→磁片)檔。
3.關(guān)閉檔。*檔操作打開檔主要功能:
1.為檔在內(nèi)存建立輸入/輸出緩衝區(qū)。
2.建立檔號與磁片檔的鏈接。注意:在使用任何檔之前,都必須先用Open語句*檔操作關(guān)閉檔CloseClose的任務(wù):
1.檔緩衝區(qū)中的剩餘資訊全部寫入磁片。2.釋放該檔緩衝區(qū)所佔用的記憶體。3.釋放該檔號,斷開與磁片檔的鏈接。*順序檔
要檢索文本檔的內(nèi)容,應(yīng)以順序Input方式打開該檔。然後使用LineInput#,Input(),或者Input#語句將檔拷貝到程式變數(shù)中。
*例8.1順序檔應(yīng)用示例。設(shè)計一個窗體演示順序檔的保存和讀取過程。
*隨機(jī)檔
隨機(jī)型訪問檔中的位元組構(gòu)成相同的一些記錄,每個記錄包含一個或多個字段。具有一個字段的記錄對應(yīng)於任一標(biāo)準(zhǔn)類型,比如整數(shù)或者定長字串。TypeWorkerLastNameAsString*10TitleAsString*7RankAsString*2EndType
*例8.2隨機(jī)檔應(yīng)用示例。用一個檔存儲學(xué)生的學(xué)號、姓名、年齡。設(shè)計一個窗體演示對檔中記錄的增加和刪除讀取操作。
*其他有關(guān)檔的操作
驅(qū)動器列表框、目錄列表框和文件列表框
*例8.3檔系統(tǒng)控件示例。設(shè)計一個窗體說明文件系統(tǒng)控件的基本應(yīng)用方法。*Shell函數(shù)例8.4Shell函數(shù)應(yīng)用示例。設(shè)計一個窗體,用Shell函數(shù)調(diào)用應(yīng)用程式。
*綜合舉例
例8.5簡單的文本編輯器。設(shè)計一個簡單的文本編輯器,使其具有新建、保存、打開文本檔的功能。
*認(rèn)識圖片框和迴圈程式設(shè)計
*
“例5.1正弦曲線。設(shè)計一個窗體,在窗體上添加一個圖片框和四個命令按鈕。運(yùn)行程式時,單擊繪製曲線、繪製座標(biāo)、輸出標(biāo)記,可分別在圖片框中繪製正弦曲線、坐標(biāo)系和標(biāo)記。繪圖方法
坐標(biāo)系在VB中,窗體和圖片框都有確省的坐標(biāo)系。確省的坐標(biāo)系規(guī)定座標(biāo)的原點在窗體和圖片框可用空間的左上角,向下為Y方向,向右為X方向,單位是Twip。1440個Twip為1英寸。使用這樣的坐標(biāo)系繪圖非常困難,用戶可用Scale方法設(shè)置自己的坐標(biāo)系。Scale方法的一般格式:[對象名.]Scale(x1,y1)-(x2,y2)
**PSet方法畫點用PSet方法可以在窗體或圖片框上繪製一個點。PSet方法的一般格式:
[對象名.]PSet(x,y)[,顏色]
*Line方法用Line方法可以在窗體或圖片框上繪製一條直線或繪製一個矩形。Line方法的一般格式:[對象名.]Line[(x1,y1)]-(x2,y2)[,顏色][,B[F]]其中,(x1,y1)為始點座標(biāo);(x2,y2)為終點座標(biāo);顏色可以使用RGB函數(shù),規(guī)定畫線或畫矩形的顏色。關(guān)鍵字B表示畫矩形或填充矩形。當(dāng)FillStyle屬性為1時,表示畫空心矩形。FillStyle屬性可取值0到7,除FillStyle屬性為1外,都為畫填充矩形,此時由FillStyle屬性決定填充圖案,由FillColor屬性決定填充顏色。
*
Circle方法用Line方法可以在窗體或圖片框上繪製一條直線或繪製一個矩形。用Circle方法可以在窗體或圖片框上繪製圓、圓弧、扇形或橢圓。Circle方法的一般格式是:[對象名.]Circle(x,y),半徑[,顏色][,起始角][,終止角][,長短軸比率]其中,(x,y)為圓心座標(biāo);顏色可以使用RGB函數(shù);起始角和終止角應(yīng)使用弧度,值在0~2π時繪製圓弧,取負(fù)值時繪製扇形;使用長短軸比率可用繪製橢圓。
迴圈結(jié)構(gòu)
迴圈結(jié)構(gòu)用來描述有規(guī)律地重複執(zhí)行某一程式段。VB6.0支持迴圈結(jié)構(gòu)的語句有for、和do等語句,使用迴圈控制結(jié)構(gòu)編程可以簡化程式,提高效率。
For…Next結(jié)構(gòu)For…Next結(jié)構(gòu)在程式中可以實現(xiàn)固定次數(shù)的迴圈。For…Next結(jié)構(gòu)的格式如下:For迴圈變數(shù)=初值To終值[Step步長]循環(huán)體[ExitFor]Next迴圈變數(shù)
**例5.2連乘之積。設(shè)計一個窗體,在窗體上添加兩個命令按鈕。運(yùn)行程式時,單擊“計算”,程式將彈出輸入對話框,要求輸入數(shù)據(jù),輸入5個數(shù)之後,將在窗體輸出5個數(shù)之積。
Do…Loop結(jié)構(gòu)
DoWhile…Loop形式
DoWhile邏輯運(yùn)算式循環(huán)體[ExitDo]Loop
DoUntil…Loop形式
DoUntil邏輯運(yùn)算式循環(huán)體[ExitDo]Loop*Do…LoopWhile形式
Do
循環(huán)體[ExitDo]LoopWhile邏輯運(yùn)算式
Do…LoopUntil形式
Do
循環(huán)體[ExitDo]LoopUntil邏輯運(yùn)算式
**迴圈的嵌套在一個迴圈結(jié)構(gòu)的循環(huán)體內(nèi)含有另一個迴圈結(jié)構(gòu),這就形成了嵌套迴圈,又叫做多重迴圈。判斷正誤DoWhileb1Forj=k1Tok2……LoopNextjDoForj=k1Tok2……NextjLoopWhileb1DoForj=k1Tok2……NextjLoopWhileb1圖片框和圖像框
圖片框和圖像框都能加載圖像檔。圖片框功能更強(qiáng),它不僅可以顯示圖像,還可以用繪圖方法繪製圖形、用Print方法顯示文本,圖片框也能作為其他控件的容器??杉虞d到這兩個控件上的圖像檔擴(kuò)展名是:.Bmp、.Dib、Ico、.Cur、.Emf、.Wmf或.Gif。**圖片框和圖像框的屬性(1)Picture屬性設(shè)置圖片框和圖像框要顯示的圖形??稍谠O(shè)計階段加載圖像檔,也可以在程式運(yùn)行時加載圖像檔。(2)AutoSize屬性設(shè)置圖片框是否能自動改變大小以適應(yīng)圖形,該屬性是邏輯型。當(dāng)取值True時,圖片框隨著圖形實際大小自動調(diào)整尺寸以適應(yīng)圖形的尺寸;若取值False時,圖片框不能改變大小,此時若圖片框小於圖形尺寸,圖形被裁剪。圖片框的AutoSize屬性缺省為False。
*(3)Stretch屬性設(shè)置能否自動改變圖形的大小以適應(yīng)圖像框,該屬性是邏輯型。若取值True時,圖像框不能改變大小,此時圖形被壓縮或拉伸以適應(yīng)圖像框;當(dāng)取值False時,圖像框隨著圖形實際大小自動調(diào)整尺寸以適應(yīng)圖形的尺寸。圖像框的Stretch屬性缺省為False。(4)名稱和其他屬性*在代碼中加載圖形要使用LoadPicture函數(shù)。把LoadPicture函數(shù)值賦給圖片框或圖像框的Picture屬性,便可實現(xiàn)在圖片框或圖像框中顯示圖形。一般使用的格式為:[對象名.]Picture=LoadPicture("圖形檔案名")*例隨手畫。'本程式演示MouseMove事件過程的用法,在Picture1中隨手畫'在Picture1中壓下滑鼠左鍵並拖動滑鼠可繪製圖形*圖片框和圖像框事件和方法圖片框和圖像框都支持Click和DblClick事件,但很少對它們編程。另外圖片框和窗體一樣支持MouseMove、MouseDown、MouseUp等事件。圖片框常用方法在本章第2節(jié)介紹了PSet方法、Line方法、Circle方法。這裏主要介紹Cls方法和Print方法Cls方法用於清除圖片框中顯示的文字資訊或用繪圖方法繪製的圖形。Print方法用於在圖片框中顯示的文字資訊。和在窗體使用這兩個方法完全相同。Cls方法的一般格式是:[對象名.]Cls*其他圖形控件在VB除圖像框和圖片框控件是專門處理圖形的控件外,還有畫線控件和形狀控件,使用這兩個控件可以非常方便地構(gòu)造幾何圖形,一般不需要編程。1、Line畫線控件Line控件可以用來畫線。畫線操作的步驟如下:2、Shape形狀控件Shape控件可以用來畫矩形、正方形、橢圓、圓、圓角矩形和圓角正方形。通過Shape屬性可確定所需要的幾何形狀。Shape控件的Shape屬性取值0到5,其形狀分別對應(yīng)矩形、正方形、橢圓、圓、圓角矩形和圓角正方形。*綜合運(yùn)用
例5.5繪製方程線。設(shè)計一個窗體,在窗體上添加一個圖片框、兩個框架、五個標(biāo)籤框、五個文本框和四個按鈕。運(yùn)行程式時,單擊“繪製曲線”和“繪製直線”
根據(jù)函數(shù)中給定的數(shù)值在圖片框內(nèi)繪製函數(shù)的圖形。單擊“輸出座標(biāo)”和“結(jié)束程式”也能完成相應(yīng)的功能。
例5.6水仙花數(shù)。尋找[100,999]之間的所有水仙花數(shù),所謂水仙花數(shù)指一個三位數(shù),其中各位數(shù)字的立方和等於該數(shù)本身。在窗體上添加一個標(biāo)籤框、一個列表框和兩個命令按鈕。用戶介面請參見圖5.21。
*例5.7整錢化成毛票。把一圓以上的鈔票換成一角,兩角,五角的毛票(每種至少一張),求每種換法各種毛票的張數(shù)。在窗體上添加一個列表框和兩個命令按鈕。
例5.8最大公約數(shù)和最小公倍數(shù)。設(shè)計一個窗體,在窗體上添加一個圖片框和兩個命令按鈕。運(yùn)行程式時,單擊“開始”按鈕,彈出輸入對話框,要求輸入兩個數(shù),程式將計算兩個自然數(shù)M和N的最大公約數(shù)和最小公倍數(shù)。
認(rèn)識選擇控件和分支程式設(shè)計
*例4.1設(shè)置字體。
運(yùn)行程式時,先選擇字體、字形、字體顏色和效果,再單擊“確定”,程式將按照選擇設(shè)置標(biāo)題為“程式設(shè)計”的標(biāo)籤框。分支程式設(shè)計
行If結(jié)構(gòu)行If結(jié)構(gòu)要求把判斷結(jié)構(gòu)寫在一行。行If結(jié)構(gòu)有如下兩種形式:單分支的行If結(jié)構(gòu),格式如下:If邏輯運(yùn)算式Then語句組1雙分支的行If結(jié)構(gòu),格式如下:
If邏輯運(yùn)算式Then語句組1Else語句組2
*演示*邏輯運(yùn)算式語句組1語句組2邏輯運(yùn)算式語句組1演示*例4.2找最小數(shù)。設(shè)計一個窗體,在窗體上添加四個標(biāo)籤、四個文本框和兩個命令按鈕。運(yùn)行程式時,先在輸入要比較的三個數(shù),再單擊“確定”,程式將找出三個數(shù)中最小的數(shù),並把計算結(jié)果顯示在最小數(shù)文本框中。
塊If結(jié)構(gòu)
單分支的塊If結(jié)構(gòu),格式如下:If邏輯運(yùn)算式Then
語句序列EndIf雙分支的塊IF結(jié)構(gòu),格式如下:If邏輯運(yùn)算式Then
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 黑龍江省-2024年-網(wǎng)格員-下半年筆試真題卷
- 物聯(lián)網(wǎng)安全導(dǎo)論
- 固態(tài)電池制造技術(shù)及應(yīng)用前景考核試卷
- 體育場滑冰場冰面平整度控制考核試卷
- 工業(yè)互聯(lián)網(wǎng)安全 課件 項目7 工業(yè)互聯(lián)網(wǎng)安全應(yīng)急處置
- 道路水電設(shè)施施工合同
- 鐘表店租賃協(xié)議范本
- 教育基建招投標(biāo)實施辦法
- 鋁扣板音樂廳安裝協(xié)議
- 糖尿病聯(lián)絡(luò)護(hù)士培訓(xùn)
- 附表四計劃開、竣工日期和施工進(jìn)度網(wǎng)絡(luò)圖
- 小腸疾病教案
- 100 米運(yùn)動員的專項體能訓(xùn)練內(nèi)容和計劃
- 青少年科技創(chuàng)新活動和創(chuàng)新大賽項目指導(dǎo)
- 國開管理英語1學(xué)習(xí)行為表現(xiàn)的心得
- 糖尿病中醫(yī)藥知識健康講座
- 鋼結(jié)構(gòu)框架廠房工程施工方法及技術(shù)措施
- 《欣賞哪吒再生》教學(xué)設(shè)計(遼寧省市級優(yōu)課)x-四年級音樂教案
- 全國高中青年數(shù)學(xué)教師優(yōu)質(zhì)課大賽一等獎《離散型隨機(jī)變量的分布列》課件
- 《肉牛養(yǎng)殖項目商業(yè)計劃書》
- 新概念英語二冊超詳教案講義筆記Lesson 51 Reward for Virtue 對美德的獎賞
評論
0/150
提交評論