基本概念
Visual Basic是微軟公司推出的Basic語言編程工具,它比標(biāo)準(zhǔn)Basic語言增加了許多功能,。它支持面對對象的編程,,由于它是為Window這樣的圖形用戶界面的操作系統(tǒng)開發(fā)的,,所以它使用事件驅(qū)動的方式控制程序流程。
VisualBasic新概念:
一,、 VisualBasic術(shù)語
·設(shè)計時:設(shè)計時是指在VB環(huán)境中建立應(yīng)用程序時的時間,。
·運行時:運行時是指在應(yīng)用程序運行期間,用戶與應(yīng)用程序進(jìn)行交互的時間,。通常我們在設(shè)計時初始化窗體和控件的屬性,,在運行時響應(yīng)窗體和控件的事件修改它們的屬性或調(diào)用它們的方法。
·對象:將數(shù)據(jù)和處理該數(shù)據(jù)的過程(函數(shù)和子程序)打包在一起而生成的新的數(shù)據(jù)類型稱之為對象,。在VisualBasic中,,所有窗體和控件都是對象。要訪問對象的屬性和方法,,必須在對象和屬性方法之間加入一個句點,。
[例]
Label1.Caption="VB學(xué)習(xí)系統(tǒng)"
Text1.SetFocus
·屬性:對象中的數(shù)據(jù)。 方法:對象中的過程,。
·窗體:窗體是可用作定制應(yīng)用程序界面的窗口,,或用作從用戶處收集信息的對話框。你可向窗體增加控件,、圖形或圖片來創(chuàng)建你的應(yīng)用程序界面,。窗體可單獨存在,也可是多文檔界(MDI)中的一個文檔,,即一個子窗體,。
·控件:控件是用戶操作對象的圖形表示,以便向應(yīng)用程序提供信息,。例如:按鈕,、列表框或編輯框等。有的控件沒有圖形表示,。
如:計時器、WinSocket等,。
·事件(Event):事件是指窗體或控件識別的活動,。事件發(fā)生在用戶與應(yīng)用程序交互時。
如:單擊控件,、鍵盤輸入,、移動鼠標(biāo)等。
也有部分事件由系統(tǒng)產(chǎn)生,,不需要用戶輸入,。如:計時器事件。
·事件驅(qū)動程序設(shè)計:當(dāng)程序是事件驅(qū)動的時,,應(yīng)編寫執(zhí)行來響應(yīng)由用戶或系統(tǒng)激活的事件的代碼,。與過程程序設(shè)計不同,,后者的程序起始于代碼的第一行,并遵循定義好的路徑調(diào)用所需的過程,。事件驅(qū)動設(shè)計是圖形用戶界面的本質(zhì),,即:由用戶控制而代碼做出響應(yīng)。
二,、 VB項目文件
包括在VisualBasic應(yīng)用程序開發(fā)中包括的所有的窗體,、代碼模塊和定制控件的一個文件列表,以及在開發(fā)中選擇的環(huán)境選項,。 頂點
項目由下列文件組成:
文件類型 擴展名
項目文件 *.vbp
窗體文件 *.frm
模塊文件 *.bas
定制控件 *.ocx
類模塊 *.cls
資源文件 *.res
變量與常量
一,、VisualBasic數(shù)據(jù)類型
數(shù)據(jù)類型 舉例
字節(jié)型 56
布爾型 True False
整型 5367
長整型 4364574
單精度型 4362.34
雙精度型 4652.65735745
貨幣型 $234.34
日期型 4/7/2000
對象型 Label1
字符串型 "My homepage"
變體型 任意值
二、變量的聲明
Dim var As Type
Public var As Type
Private var As Type
其中:
Public 定義公有變量
Dim,、Private 定義私有變量
三,、Option Explicit 關(guān)鍵字
在VisualBasic中用戶可以不聲明而直接使用變量,但容易產(chǎn)生錯誤,??梢允褂肙ption Explicit關(guān)鍵字強制聲明變量,必需先聲明再引用,。Option Explicit關(guān)鍵字放在窗體或模塊的通用聲明(GenneralDeclarations)處,。也可以通過設(shè)置將Option Explicit自動加到每個模塊中。
四,、變量的作用域
局部(Local):在過程級定義的變量,,僅在聲明它的過程中可見。
模塊/窗體(Modudule/Form):在模塊或窗體級聲明的變量,,在聲明它的模塊或窗體中的所有過程中可見,。
公有(Public):在模塊或窗體級聲明的變量,在所有項目的任何過程中都可見,。
五,、Static 關(guān)鍵字
普通的局部變量在過程結(jié)束后被釋放,在下次執(zhí)行過程時從新初始化為0,。用Static聲明的局部變量在過程結(jié)束后不被釋放,,仍保留變量的值。
?。劾荩?br> Sub P()
Static I As Integer
I=I+1
MsgBox "A=" & I
End Sub
六,、常量
常量是程序中不發(fā)生變化的值。它和變量一樣有三種作用域,。它的定義語法如下:
[Public]Const con[As Type]=expression
[Private]Const con[As Type]=expression
[]內(nèi)為可以缺省項
七,、數(shù)據(jù)類型轉(zhuǎn)換
VisualBasic自動完成某些數(shù)據(jù)轉(zhuǎn)換,為提高運行速度,,我們通常使用CType() 函數(shù)顯示地轉(zhuǎn)換,。 VisualBasic轉(zhuǎn)換函數(shù)包括:
CBool: 轉(zhuǎn)換為Boolean類型
CByte: 轉(zhuǎn)換為Byte類型
CCur : 轉(zhuǎn)換為Currency類型
CDate: 轉(zhuǎn)換為Date類型
CDbl : 轉(zhuǎn)換為Double類型
CInt : 轉(zhuǎn)換為Integer類型
CLng : 轉(zhuǎn)換為Long類型
CSng : 轉(zhuǎn)換為Single類型
CStr : 轉(zhuǎn)換為String類型
CVar : 轉(zhuǎn)換為Variant類型
CVErr: 轉(zhuǎn)換為Error類型
基本語句
一,、賦值語句
在VB中賦值語句有兩種:
1:對普通變量的賦值。
變量=表達(dá)式
[例]
Dim a As Integer
a=100*20
2:對對象變量的賦值,。
Set 變量=表達(dá)式
[例]
Dim ex As DataBase
Set ex=OpenDataBase("File.mdb")
二,、If 語句
If語句用于測試條件,根據(jù)測試結(jié)果執(zhí)行不同的操作,。格式如下:
If 表達(dá)式 Then
...
Else
...
End If
或:
If 表達(dá)式 Then 語句1:語句2: ..
?。劾?br> If Password="123456" Then
OK=True
Else
Ok=False
End if
三、Select Case 語句
Select Case 語句用于對某一表達(dá)式的值進(jìn)行多種處理,。
格式如下:
Select Case 表達(dá)式
Case 值1:
...
Case 值2:
...
Case Else
...
End Select
四,、For 循環(huán)語句
For...Next用于指定次數(shù)的循環(huán)。
格式有兩種:
1,、普通的數(shù)字變量:
For var=start To end[Step step]
...
Next var
2,、集合中的對象:
For Each obj In objs
...
Next obj
其中:obj 是對象變量。 Objs 是集合變量,。
五,、Do 循環(huán)語句
根據(jù)某一條件來決定是否循環(huán)時我們使用Do循環(huán)。
Do 循環(huán)有兩種:
1,、當(dāng)型循環(huán)(先判斷后執(zhí)行)
Do While|Until 條件
...
Loop
2,、直按型循環(huán)(先執(zhí)行后判斷)
Do
...
Loop While|Until 條件
[注]:While 當(dāng)條件為 True 時循環(huán)。 Until 當(dāng)條件為 True 時退出,。
六,、With 語句
當(dāng)我們經(jīng)常使用某一對象的屬性、方法時,,就可以使用,。With語句。With語句可以使代碼更簡捷,,并能提高運行速度,。
格式如下:
With 對象變量
...
End With
[例]
With Text1
.SelStart=0
.SeiLength=Len(.Text)
.SetFocus
End With
相當(dāng)于:
Text1.SelStart=0
Text1.SeiLength=Len(Text1.Text)
Text1.SetFocus
子程序與函數(shù)
一,、子程序
執(zhí)行單一活動的代碼塊,。
事件是特殊的子程序。
定義方法如下:
[Public]Sub 子程序名(參數(shù)表)
...
End Sub
[Private]Sub 子程序名(參數(shù)表)
...
End Sub
參數(shù)表格式如下:
var1 As Type1,var2 As Type2,...
二,、函數(shù)
與子程序的區(qū)別是它通過函數(shù)名返回值。
定義方法如下:
[Public]Function 函數(shù)名(參數(shù)表)As 類型
...
函數(shù)名=值
End Function
[Private]Function 函數(shù)名(參數(shù)表)As 類型
...
函數(shù)名=值
End Function
[注]:在VB中一條語句在一行中寫不完,,使用下劃線加空格連接,。
三、屬性過程
在ActiveX中詳細(xì)介紹,。