VB編程入門課件_第1頁
VB編程入門課件_第2頁
VB編程入門課件_第3頁
VB編程入門課件_第4頁
VB編程入門課件_第5頁
已閱讀5頁,還剩78頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

第2章VB編程入門VisualBasic程序設計教程本章將介紹有關VB程序的構成和數據類型以及變量的定義和使用、表達式以及基本的輸入輸出操作。這些知識是編程的基礎。我們將通過簡單示例的分析,幫助理解如何進行VB編程。2VisualBasic程序設計教程本章主要內容:確定數據的性質:數據類型兩種數據表達:常量和變量算術運算符和表達式VB編程的開始:使用窗體賦值和輸入輸出3VisualBasic程序設計教程1.加法器界面設計2.2一個簡單的加法器程序5VisualBasic程序設計教程2.編寫程序代碼對象列表框過程列表框過程分界線程序員在此編寫代碼光標標題6VisualBasic程序設計教程PrivateSubCmdAdd_Click() ‘計算”按鈕代碼DimTempAsLongTxtNum1.Text=""TxtNum2.Text=""TxtSum.Text=""TxtNum1.Text=InputBox("請輸入第一個數")TxtNum2.Text=InputBox("請輸入第二個數")Temp=Val(TxtNum1)+Val(TxtNum2)TxtSum.Text=TempEndSubPrivateSubCmdExit_Click() “退出”按鈕代碼FrmAdder1.HideMsgBox("加法器程序運行結束,謝謝使用")EndEndSub7VisualBasic程序設計教程整數:整型/長整型字節型浮點型:單/雙精度貨幣型數值型數據類型字符型邏輯型日期型對象型變體型9VisualBasic程序設計教程

使用數值類型1.字節型(Byte)

字節型數可以表示無符號的整數,0~255

2.整型(Integer)和長整型(Long)

不帶小數部分的數,表示正整數、負整數和零

整型數:-32768~3276798、98%

長整型數:

-2147483648~214748364745678、45678&

10VisualBasic程序設計教程

3.單精度型(Single)和雙精度型(Double)

浮點數。表示帶有小數部分的數

表示數的范圍大,但有誤差。

如超出某個表示范圍,則用科學記數法

例如:4.53E8(4.53×108),8.173E-14,3.14D23

Single保留7位十進制有效位,Double保留15位4.貨幣型(Currency)

專門為處理貨幣而設計的數據類型

它可最多保留小數點右邊4位和小數點左邊15位11VisualBasic程序設計教程邏輯型與日期型邏輯型(Boolean)

邏輯型又稱布爾型,其數據只有True(真)和False(假)兩個值邏輯值和數值類型進行轉換的時候,它們是非對稱的:

(1)數值數據轉換為布爾值時,0對應False,非0對應為True

(2)布爾值轉換為數值數據時,False對應0,True對應為-1。13VisualBasic程序設計教程日期型(Date)

表示日期和時間

用兩個“#”符號把日期和時間的值括起來

如:#08/20/2001#、#2001-08-20#

#12/12/200511:35:35PM#14VisualBasic程序設計教程變體型和對象引用型變體型(Variant)

變體型數據是一種可變的數據類型,可以存放任何類型的數據

當指定變量為Variant變量時,VB會自動完成必要的轉換

15VisualBasic程序設計教程自定義數據類型

VB為用戶了提供自定義數據類型,以滿足用戶的需求。實際上自定義數據只是把VB已有的數據類型重新組合或者構造為一個新類型。例如我們要給員工設計一個工資數據類型,這個類型中有姓名、工號和工資數,可以使用以下方法定義:

TypePay

姓名AsString*8

工號

As Long

工資As Single

EndType17VisualBasic程序設計教程類型名稱字節數取值范圍和有效位數整型Integer2精確表示-32768~32767范圍內的整數長整型Long4精確表示-2147483648~2147483647范圍內的整數單精度浮點型Single4-3.402823×1038~-1.401298×10-451.401298×10-45~3.402823×10386位有效位數雙精度浮點型Double8-1.79769313486232×10308~-4.947×10-3244.947×10-324~1.79769313486232×1030815位有效位數字節型Byte10~255變長字符串String每個字符占1個字節,每個字符串最多可存放約20億個字符定長字符串String*sizesize是小于65535的無符號整常數,為字符串長度邏輯型Boolean2True或FalseVisualBasic6.0的常用數據類型2.3確定數據的性質:數據類型18VisualBasic程序設計教程類型名稱字節數取值范圍和有效位數貨幣型Currency8-922337203685477.5808~922337203685477.5807日期型Date8100.1.1~9999.12.31對象型Object4任何對象的引用變體型Variant若存放數值類型數據,占16個字節,最大可達Double的范圍;若存放字符串類型數據,字符串長度與變長字符串相同VisualBasic6.0的其他數據類型19VisualBasic程序設計教程2.4常量與變量2.4.1常量

在程序運行期間其值始終保持不變的量

兩種形式的常量:文字常量和符號常量

文字常量又分為數值常量、字符串、邏輯值和日期等

1.數值常量

例如2,35.567,它們直接出現在程序中。

21VisualBasic程序設計教程

2.字符串常量

它是用雙引號括起來的各種有效字符串組成的,如“123“,“AbcD“,“程序設計“等。字符串可以為空。

字符串常量的長度為兩個引號之間所有的字符數,包括空格。VB規定定長字符串最大長度為32767。

22VisualBasic程序設計教程3.邏輯常量

就是邏輯值,True和False。

4.日期常量

表示日期和時間的常量,例如:#12-12-2005# 23VisualBasic程序設計教程2.4.3變量和聲明變量

1.變量是什么

變量是在程序運行期間其值可以發生變化的量。

在程序運行時,數據是存放在內存中的。因此變量就是指示程序將到哪個內存單元去存取數據,即變量與內存單元有關。使用變量名標識不同的變量,同時要給出變量數據的類型。因此,VB變量由數據類型和變量名組成。

程序中選擇使用常量還是變量,是根據它們是否需要變化而決定的。25VisualBasic程序設計教程2.VB變量的特點

(1)可變性。向變量存數據,會改變變量原來的值。

(2)從變量中取數據,變量中原來的值不會改變,因此在程序中,一個變量的值可以被反復取用而不會導致數據的改變,“取之不盡”。這是變量的可復制性。

(3)變量的取值和它的類型有關,但VB能夠進行自動轉換。26VisualBasic程序設計教程4.變量的聲明變量的聲明就是向程序說明要使用的變量。有以下2種方法(顯式聲明與隱式聲明)(1)聲明變量(顯式聲明)

用Dim、Public、Private或Static語句來聲明變量例如:DimsumAsInteger′把sum定義為整型變量

29VisualBasic程序設計教程(2)隱式聲明

不加說明就直接使用變量,此時默認的變量類型為變體類型(Variant)也允許使用類型符來聲明變量的類型,如Num%,Sum!(3)定義多個變量30VisualBasic程序設計教程2.4.4強制要求必須聲明變量:OptionExplicit

OptionExplicit一般情況下,該語句放置在程序模塊的外部開始部分,強制要求所有變量必須顯式聲明后才能使用。

OptionExplicitPrivateSubCmdAdd_Click()……EndSub31VisualBasic程序設計教程2.4.5VB的關鍵字VB有許多關鍵字,也叫做保留字,它們為VB系統本身所用,具有特定的含義。這些已經被VB使用了的單詞或者縮寫就是“關鍵字”。關鍵字不能被使用作為用戶定義的變量名,也不能被編程者重新定義使用。如我們已知的:As,Dim,Private,Sub,End,Integer,Long,String,OptionExplicit,Date,Const,……等等。32VisualBasic程序設計教程VB有五類表達式:算術表達式、字符串表達式、日期表達式、關系表達式和邏輯表達式運算符說明運算符說明+加法\整數除法-減法^冪*乘法Mod求模/浮點數除法-取負2.5算術運算符和表達式算術運算符

33VisualBasic程序設計教程1.除法計算機使用“/”和“\”代表數學中的除號?!?”用于浮點數除,它將產生一個有小數部分的商。而“\”則是整數除法,它在進行除之前先將運算數四舍五入,結果為丟掉小數部分取其整數部分。注意下面的幾個例子: 3/2 結果為1.5 3\2 結果為1 3.5\2 結果為234VisualBasic程序設計教程2.取模運算Mod取模運算是取整除后余數的整數部分。VB支持整數和帶小數的數的取模運算。如果是帶小數的,則在運算前進行四舍五入操作。注意下面的例子:

13Mod3結果為1,即余數為1 3.5Mod2結果為0。先將3.5四舍五入為4,除2的余數為0 7Mod2.6結果為1 5Mod0.49 除數為0錯誤(如果你把0.49改為0.5和0.51,試試看會發生什么?)35VisualBasic程序設計教程2.5.2

算術表達式算術表達式也稱數值表達式,是用算術運算符把數值型常量、變量、函數連接起來的式子。表達式的運算結果是一個數值例如:(A1+B1/3-X\0.5)*Sin(X) 36VisualBasic程序設計教程2.5.3算術運算符的優先規則運算符優先級

^(乘方)→-(求負)→*/→\→Mod→+-

同級左到右37VisualBasic程序設計教程說明:(1)/和\的區別:1/2=0.5,1\2=0

(2)Mod用來求整型數除法的余數。例如:9Mod7結果為2

(3)在表達式中乘號不能省略,如a*b不能寫成ab(或a·b)

(4)括號不分大、中、小,一律采用圓括號??梢郧短资褂?/p>

例如,x[x(x+1)+1]→x*(x*(x+1)+1)38VisualBasic程序設計教程窗體是我們進入VB編程所遇到的第一個對象,它是進行程序界面設計的基礎平臺。在程序運行時它就是程序的實際窗口。使用窗體的“屬性”定義窗體的外觀使用窗體的“方法”定義窗體的行為使用窗體的“事件”定義與用戶之間的交互因此了解窗體(包括后續的控件等對象),就是圍繞它的屬性、方法和事件展開。這也是學習VB對象編程的主要思路。2.6VB編程的開始:使用窗體39VisualBasic程序設計教程‘程序入口:開始裝載窗體‘設置窗體顯示功能‘設置窗體的背景色為綠色‘設置窗體的前景色為紅色‘設置窗體上對象的字體為黑‘使用字號為15磅‘換行‘顯示WelcomeToTheVisualBasic‘顯示ThisisaDemoProgram‘結束裝載過程PrivateSubForm_Load() ShowForm1.BackColor=vbGreenForm1.ForeColor=vbRedForm1.FontName="黑體"Form1.FontSize=15PrintPrint"WelcomeToTheVisualBasic"Print"ThisisaDemoProgram"EndSub2.6.1一個使用窗體顯示文本的例子40VisualBasic程序設計教程窗體的絕大多數屬性可以在屬性窗口中設置,也可以在程序代碼中設置,在程序中輸入窗體對象名稱和“.”分割后會自動跳出窗體的屬性和方法,在這里可以區分屬性和方法。2.6.2窗體的屬性41VisualBasic程序設計教程窗體的常用屬性

自動重畫窗體。如需要直接在窗體上顯示文本,選擇TrueAutoRedraw3設置窗體顯示3D效果,默認值為1為3DAppearace2窗體名稱(中文版使用(名稱))??稍诔绦蛑惺褂茫荒茉O置Name1功能描述屬性名編號42VisualBasic程序設計教程決定窗體是否響應用戶事件(如單擊窗體)。屬性值為True或FalseEnabled8決定窗體的左上角設置控制菜單按鈕,選擇True或FalseControlBox7標題。也是程序運行后在標題欄所顯示的內容Caption6窗體邊框樣式。有六種選擇,只能在屬性窗口選擇BorderStyle5背景色。在屬性窗口選擇或者程序代碼設置BackColor443VisualBasic程序設計教程這四個屬性決定窗體的大小和位置。程序可進行設置。Height、Width設置窗體的高度和寬度。Top為窗體到屏幕頂部的距離,Left為窗體到屏幕左邊的距離HeightWidthTopLeft11前景色。在屬性窗口選擇或者程序代碼設置ForeColor10設置窗體上對象的字體、字型、大小等??稍诔绦蛑性O置Font944VisualBasic程序設計教程設置窗體運行時的狀態,0為正常,1為最小化,2為最大化WindowState16可見性。默認為True。False使窗體及窗體上的對象都不可見Visible15給窗體加載一個圖像或圖形Picture14確定窗體右上角最大化按鈕是否有效。確定窗體右上角最小化按鈕是否有效MaxButtonMinButton13指定圖標??梢赃x擇窗體最小化時的圖標。選擇圖標文件。Icon1245VisualBasic程序設計教程2.6.3窗體的方法窗體方法就是對窗體的操作行為。方法使用格式為:Object.方法名[可選參數]Object為窗體對象的名稱(Name),如果在當前活動窗體,可省略Object或者用關鍵字Me。46VisualBasic程序設計教程1.顯示窗體方法(Show)功能:顯示窗體對象。Show方法的使用格式為:Object.Show[Style]使用Show方法如果沒有指定窗體名稱,則默認當前活動窗體。參數Style是一個整數,決定窗體的模式,取值0為無模式,1為有模式47VisualBasic程序設計教程2.隱藏窗體方法(Hide)功能:隱藏窗體。注意這只是不顯示窗體而不是卸載。要再次顯示窗體,使用Show方法即可。Hide方法的格式為:Object.Hide如果Object沒有被指定,則當前活動窗體被隱藏。48VisualBasic程序設計教程3.移動窗體方法(Move)Move方法可以移動或者改變窗體的大小。使用格式為:[Object].MoveLeft,[Top],[Width],[Height]其中,Left是必選參數,Top是可選參數,分別代表窗體的x,y方向的坐標。Width和Height為窗體移動到新位置后的高度和寬度。坐標參數的單位默認為緹(Twip,1/1440英寸)。可在窗體屬性ScaleMode中選擇參數單位。49VisualBasic程序設計教程4.清除窗體方法(Cls) Cls(ClearScreen)是清除窗體上的顯示的文本和圖形。如Me.Cls為清除當前窗體的顯示。5.打印方法(Print) Print是在窗體上輸出文本。6.打印窗體方法(PrintForm)把整個窗體作為位圖圖像輸出到打印機。該方法使用的格式為:Object.PrintForm。50VisualBasic程序設計教程2.6.4

窗體識別的動作:事件在窗體中使用某種事件觸發一個過程,以便完成某個任務,因此我們也叫它為事件過程。例如:PrivateSubForm_Load()……EndSub

51VisualBasic程序設計教程這里程序就是窗體的裝載事件過程,稱為Load過程,Load就是窗體的一個事件。窗體事件過程的一般格式為:PrivateSubForm_事件名(參數表)…… ‘我們在這里編寫處理事件的程序代碼EndSub52VisualBasic程序設計教程窗體常用事件:1.裝載事件(Load)程序運行時,通過Load事件把窗體裝載到內存。2.卸載事件(Unload)窗體卸載時觸發Unload事件,使窗體從內存中退出并從屏幕上消失。PrivateSubForm_Unload(CancelAsInteger)53VisualBasic程序設計教程3.活動/非活動事件(Activate/Deactivate)PrivateSubForm_Activate()PrivateSubForm_Deactivate()使用Show可觸發這個活動過程,使用Hide觸發非活動過程。54VisualBasic程序設計教程4.重繪窗體事件(Paint/Resize)當窗體被移動或者改變大小時,觸發Paint事件。如果在窗體上有圖形輸出,則可以使用Paint事件過程重繪圖形。窗體改變了大小,原來窗體上的控件的布局比例發生了改變,為此可以進入Resize事件過程重新調整控件的布局,使之適合新的窗體大小。55VisualBasic程序設計教程2.6.6Tab鍵和焦點焦點——對象的活動狀態。改變對象焦點的方法:1.使用鼠標點擊或者使用Tab鍵使用Tab鍵焦點的移動次序與對象的Tabindex屬性有關。56VisualBasic程序設計教程2.程序中改變對象. SetFocus對象.LostFocus一個對象能否得到焦點還與對象本身、對象的其他屬性(Enabled)有關。57VisualBasic程序設計教程計算機的工作原理:數據輸入→處理機(程序)→信息輸出在構造一個程序時必須考慮:如何給變量賦值,如何輸入數據并如何把有關計算結果輸出。賦值就是把一個合適的值(數或字符)存入指定的變量中,而值的來源可以是程序直接產生,也可以是從鍵盤輸入,也可以來自其他程序的傳送或來自于文件。2.7賦值和輸入輸出58VisualBasic程序設計教程2.7.1如何進行賦值操作賦值語句的格式如下: [Let]變量名=表達式或者: 變量名=表達式例如:Sum=100 x=x+1CmdAdd.Caption=“計算”59VisualBasic程序設計教程使用賦值語句要注意以下問題:1.“=”不是數學中的等號的意思,是一個賦值的運算符,叫做賦值號。2.對變量的賦值后,以新值代替了原來的值。3.在表達式中的變量應先賦值。如果是首次直接被用在表達式中,則VB自動賦初值:(1)如果是數值型變量,則自動賦初值為0。(2)字符型變量的初值為空。60VisualBasic程序設計教程4.同一個變量出現在賦值號的兩邊的意義不同。在右邊的變量是取出變量的值參與運算,在左邊則是保存右邊表達式結果值。5.一般要求變量的數據類型和表達式的結果值的類型一致,或者說表達式的值能夠被所賦值的變量的類型所接納。61VisualBasic程序設計教程【例2-3】計算半徑為5的圓面積和圓周長。PrivateSubForm_Click() ConstPI=3.141526 '定義常量π DimRAsinteger,AreaAsSingle,PerimeterAsSingle'定義變量 R=5 '給半徑變量賦值 Area=PI*R*R '計算后的面積值賦給變量Area Perimeter=2*PI*R '周長值賦給變量ParimeterPrint“半徑=”;R,”面積”;Area,”周長”;Perimeter '輸出半徑、面積。周長EndSub

62VisualBasic程序設計教程2.7.2使用輸入對話框InputBox函數【例2-4】計算半徑為R的圓面積和周長,半徑值由鍵盤輸入。PrivateSubForm_Click()ConstPI=3.141526DimRAsInteger,AreaAsSingle,PerimeterAsSingleR=Val(InputBox("請輸入圓的半徑:","輸入"))Area=PI*R*RPerimeter=2*PI*RPrint"半徑=";R,"面積";Area,"周長";PerimeterEndSub

這個例子中使用了InputBox函數產生輸入對話框。63VisualBasic程序設計教程1.輸入對話框的使用InputBox函數的使用格式如下:InputBox(提示[,標題][,默認值][,xpos][,ypox])它們的含義如下:(1)提示信息。這是InputBox對話框所必須的信息,也可以使用空文本,即“”。(2)標題。這是在對話框窗口標題欄顯示的內容??稍O置,也可以沒有標題。64VisualBasic程序設計教程(3)默認值。在輸入框中的默認輸入。系統默認為空,可選。(4)xpos和ypos為對話框的左側與屏幕左邊的距離和上邊與屏幕頂部的距離值??蛇x。65VisualBasic程序設計教程2.在提示中使用多行文本如果提示信息比較多,可以使用ASCII控制符回車Chr(13)和換行符Chr(10)產生另起一行。例如:提示信息為“請輸入圓的半徑”+Chr(13)+Chr(10)+“使用正整數”,產生如圖效果66VisualBasic程序設計教程3.使用轉換函數InputBox函數接受的是文本,也就是字符型數據,在程序中根據變量類型不同,可以使用轉換函數。如:R=Val(InputBox("請輸入圓的半徑:","輸入"))這里的Val就是轉換函數,將文本類型的數據轉換為整型數以便參加運算。VB提供了在不同類型數據之間的轉換。67VisualBasic程序設計教程2.7.3使用Print方法輸出數據使用Print在對象中顯示(打?。┹敵鑫谋尽J褂酶袷饺缦拢?/p>

[對象名].Print[表達式][,表達式]……1.對象名一般情況下,Print輸出到窗體或者圖片框。在本窗體中輸出,可以缺省對象名。68VisualBasic程序設計教程2.表達式Print方法支持多個表達式的輸出,可輸出數字、文字字符、日期、邏輯值等。如果Print后面沒有任何表達式,則輸出空行(在顯示效果上相當于回車換行)。69VisualBasic程序設計教程3.輸出格式多個表達式輸出,可以使用分號和逗號分隔。(1)逗號分隔(標準格式輸出)。逗號后的下一個表達式按照14個字符的空間分開顯示。實際分隔位置還與所在輸出行的寬度和分隔的數目有關。(2)分號分隔(緊湊格式輸出)。后一個表達式的值接著前一個表達式的輸出。70VisualBasic程序設計教程(3)在Print語句最后使用逗號或分號結束,不換行,下一個Print接著按格式輸出。(4)使用Spc()和Tab()函數,前者控制插入空格,后者確定列位置71VisualBasic程序設計教程例:PrivateSubForm_click()Me.FontSize=16Print'空行Print"A=";1,"B=";2Print1,2;3,4Print"A";Spc(4);"B"PrintTab(10);"B"Print"1234567890"EndSub72VisualBasic程序設計教程

2.7.4使用消息對話框MsgBox函數MsgBox函數提供了一個顯示應用程序運行信息的標準途徑,如圖所示:MsgBox的格式如下:變量名=MsgBox(提示[,對話框類型][,對話框標題])73VisualBasic程序設計教程(1)使用形式:MsgBox有兩種使用形式,注意區分,如:A=MsgBox("您確定要退出嗎?",vbOKCancel+vbDefaultButton2,"退出")和MsgBox"您確定要退出嗎?",vbOKCancel+vbDefaultButton2,"退出“

格式1是具有返回值的使用,程序根據

溫馨提示

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

評論

0/150

提交評論