學(xué)VB 6.0--
認(rèn)識一下VB 6.0的編程環(huán)境
VB6.0采用可視化的編程環(huán)境,它好學(xué)易用,運(yùn)行VB6.0后,會出現(xiàn)如下圖所示的窗口,呵呵,看起來蠻復(fù)雜的,好多的按鈕、菜單、小窗口,別擔(dān)心,待會兒我們會一起學(xué)習(xí)這些東東都是干什么用的。
先來解決一個小問題,怎么新建一個VB的工程呢?方法是這樣的,在程序啟動時出現(xiàn)的“新建工程”對話框中選擇“標(biāo)準(zhǔn)EXE”并點(diǎn)擊確定,就能直接新建一個工程,如果你跳過了這個對話框則也可從“文件”菜單中選擇“新建工程”重新調(diào)出此對話框。
下面一起來看看VB的編程環(huán)境,雖然看起來復(fù)雜,但可以把它分為幾個部分,每個部分都有自己特定的功能,這樣我們就清楚多了。其實(shí)VB這是通過這樣一個界面把相近或同類的功能組合在一起的,它使我們在設(shè)計程序時能方便的控制程序的方方面面。

窗體的最上層是“VB
6.0的菜單”和“便捷工具按鈕”,菜單中包含了所有的VB提供的功能的選項(xiàng),而其中一些常用的功能或操作選項(xiàng)則被提取出來放在了“便捷工具按鈕”中,通
過點(diǎn)擊這些快捷按鈕可以加快程序開發(fā)的速度,下圖標(biāo)出了常見的工具按鈕的作用,記著使用它們哦。

接著看看“VB的組件面板”和“窗體設(shè)計區(qū)域”,VB提供了方便的窗體設(shè)計區(qū)域,它位于整個編程窗口的中間。我們可以在這個區(qū)域中搭建出美觀實(shí)用的程序
界面,試著從“VB的組件面板”中找到“按鈕CommandButton”,點(diǎn)擊選中后,再到“窗體設(shè)計區(qū)域”的窗體上點(diǎn)一下,這時,窗體上會出現(xiàn)一個按
鈕,這樣我們就把按鈕添加到我們程序的界面中了。嘻嘻,忘了告訴你哪里是“VB的組件面板”了,就是最左邊的那一條包含許多看起來眼熟的小東西的區(qū)域,它
是VB提供給我們的標(biāo)準(zhǔn)的編程組件(控件),它把程序設(shè)計中常常用到的諸如按鈕、圖片框、列表框等等東西作好了放在那里,我們?nèi)绻褂弥豁毺砑拥酱绑w中
即可。
屏幕的右邊有三個從上到下排列的小窗口,它們分別是:
“VB工程管理器”:用來管理開發(fā)一個VB程序所需要的各種類型的窗體和模塊,如左圖是一個工程所包含的東西,窗體是一個程序表現(xiàn)在外面的界面、模塊是程序內(nèi)部使用的代碼。
當(dāng)我們點(diǎn)擊“添加窗體”便捷工具按鈕后,左圖的“VB工程管理器”中就會顯示出新添加的窗體,這也就是“VB工程管理器”的功能,它使我們從總體上把握程序開發(fā)的各個部分。

“組件屬性窗口”:用來顯示組件的屬性,并允許我們修改,設(shè)定這些屬性的值,我們在窗體設(shè)計區(qū)域的窗體上選中一個組件,以按鈕為例,則在“屬性窗口”中
會列出它的屬性,我們可以看到常用的“Name”、“Capition”、“Font”等等屬性,試著把“Capition”屬性改為“這是一個按鈕”,
然后看看“窗體設(shè)計區(qū)域”的按鈕上顯示的文字是不是改變了。

“窗體布局窗口”:調(diào)整程序運(yùn)行時,程序窗體在屏幕中的初始位置,把鼠標(biāo)移到左圖屏幕中的窗體上,這時鼠標(biāo)會變成移動形狀,拖動窗體,就設(shè)置好了運(yùn)行時此窗體的位置。
好了說了這么多,還差一個區(qū)域沒講,那就是“代碼編輯區(qū)域”,當(dāng)我們在“窗體設(shè)計區(qū)域”雙擊鼠標(biāo),就能彈出這個區(qū)域,可以看到一行行的VB程序顯示在其
中,我們可以修改,寫入程序代碼,來讓程序?qū)崿F(xiàn)一定的功能,它是整個程序設(shè)計的關(guān)鍵,如果你對VB語言的語法還不是十分了解,可以繼續(xù)下一節(jié)專門對“VB
語法”的講解,別著急,慢慢來,很快就能入門的。
VB語言的語法和QBASIC基本一致,可以說如果你能讀懂QBASIC程序,那你讀VB的程序是沒有問題的,這一節(jié)中我們只是簡單的講一講VB的語法,因?yàn)樵诮窈蟮母鱾€實(shí)例中我們會不斷接觸到新的語法知識,這也是一個積累的過程。
如果你還記得上節(jié)中的內(nèi)容,我們提到過如果在“窗體設(shè)計區(qū)域”的某個組件(控件)上雙擊鼠標(biāo),會出現(xiàn)“代碼編輯窗口”,也就是如下圖的窗口,我們可以在
其中輸入或是修改程序的代碼。在我們雙擊控件到寫入代碼的這個過程中,我們涉及到了一個很重要的概念,這是VB與QBASIC的主要差別之一,大家知道在
QBASIC包括Tubro
C,TubroPascal等語言中程序從一開始就需要我們一點(diǎn)點(diǎn)的寫代碼來實(shí)現(xiàn)所有的功能,比如程序運(yùn)行的界面,輸入輸出,鍵盤控制等,它們在程序中體
現(xiàn)為一個個的過程或者是函數(shù)及子程序,它們都是完全面向過程的編程語言;但是現(xiàn)在的VB、VC、DELPHI等編程語言,都提供了可視化的編程環(huán)境,備有
一整套常見的組件(控件)供我們使用,這些控件可以看作是對象(VB嚴(yán)格的說不是完全面向?qū)ο蟮木幊陶Z言),我們寫程序時會直接與這些對象打交道,而不象
原來。所以在VB中大部分的代碼是與這些相關(guān)的,例如下圖所示的一段代碼,它是我們在一個按鈕(Command)上雙擊鼠標(biāo)而由VB自動產(chǎn)生的一個子過
程,Private Sub Command1_Click()是子過程的開始,End
Sub表示子過程的結(jié)束。然后我們可以在子過程中添加程序代碼,也就是由我們自己來寫當(dāng)按鈕被點(diǎn)擊時,程序所做出的響應(yīng)。

下面我們便來分析一下這段代碼。
VB中聲明一個變量使用“Dim 變量名 As 變量類型”的方法,一般在程序中使用的到的變量都應(yīng)該有變量聲明,如上例中的a、b、i分別被定義為整型和字符串型變量,VB中的變量類型有以下幾種:
數(shù)據(jù)類型 說明
Byte 二進(jìn)制數(shù)
Boolean
真假值
Integer 整數(shù)
Long 長整型
Single 實(shí)數(shù)
Double 雙精度型
Currency 貨幣
Date 日期和時間
Object 對象
String 字符串
Variant 可變類型
控制結(jié)構(gòu)和循環(huán)結(jié)構(gòu)是程序設(shè)計中常見的兩種結(jié)構(gòu)。
計算機(jī)在運(yùn)行程序的時候,執(zhí)行語句的順序是從上向下的。
有些簡單程序可以只用單向流程來編寫,但稍微復(fù)雜的程序就要靠控制語句來控制程序執(zhí)行的流程??刂平Y(jié)構(gòu)主要有兩種,分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。
分支結(jié)構(gòu):分支結(jié)構(gòu)事實(shí)上是一種選擇,在不同的條件下選擇執(zhí)行不同的程序段。實(shí)現(xiàn)分支結(jié)構(gòu)的語句有很多,最常用的是if……then……else……。例如:
……
if 條件 then
{程序段一}
else
{程序段二}
end if
……
如果條件滿足了,電腦將執(zhí)行程序段一中的語句,然后跳過程序段二,執(zhí)行下面的語句。如果條件不滿足,電腦將跳過程序段一種的語句,執(zhí)行程序段二,然后繼續(xù)執(zhí)行下面的語句。
循環(huán)結(jié)構(gòu):循環(huán)結(jié)構(gòu)就是讓電腦反復(fù)的執(zhí)行某一程序段落干次。
用Do……Loop可以循環(huán)重復(fù)執(zhí)行一語句塊,且重復(fù)次數(shù)不定。 在已知循環(huán)次數(shù)的條件下,用For……next可以反復(fù)執(zhí)行統(tǒng)一語句塊。
以上兩種結(jié)構(gòu)你可以參照圖中所示的代碼,仔細(xì)體會一下,今天就講這么多了,下節(jié)我們就要進(jìn)入實(shí)例式的控件學(xué)習(xí)。
文本框控件(TextBox)是VB中最常用的控件。它是顯示和輸入文本的容器,相當(dāng)于一個文字編輯器,提供了所有基本的文字處理功能,例如文本的編輯等。在下面這個小程序中,我們能看到文本框控件(TextBox)的最基本的屬性。
為了學(xué)習(xí)方便,提供的源碼已經(jīng)作了詳細(xì)的中文注釋,看看源碼框中的代碼:
Option Explicit
'--------------------------------------
' TextBox的常用屬性的例子
'--------------------------------------
' 洪恩在線 求知無限
'--------------------------------------
'------名稱-------------作用------------
' CmdClear 清除文本框內(nèi)容按鈕
' TextAll 文本框
' CmdOK 給窗體FormBack的TextAll文本框賦值
' FormTextBox 主窗體
'--------------------------------------
'--------------------------------------
'————文本框名稱————屬性設(shè)置———
'
' TextPassWord PassWordChar為 *
' TextResume Multiline為Ture, ScrollBars為2 -Vertical
' TextAll Multiline為Ture, ScrollBars為2 -Vertical
' Appearance為0 - Flat
'--------------------------------------
Private Sub CmdClear_Click()
'清除所有文本框中的內(nèi)容
TextID.Text = ""
TextPassWord.Text = ""
TextName.Text = ""
TextMail.Text = ""
TextResume.Text = ""
End Sub
Private Sub CmdOK_Click()
'把FormTextBox文本框的Text及標(biāo)簽的Caption賦給
'窗體FormBack中TextAll文本框的Text屬性
FormBack.TextAll.Text = LblID.Caption & " " & TextID.Text _
& vbNewLine & _
LblPassWord.Caption & " " & TextPassWord.Text _
& vbNewLine & _
LblName.Caption & " " & TextName.Text _
& vbNewLine & _
LblMail.Caption & " " & TextMail.Text _
& vbNewLine & _
LblResume.Caption & " " _
& vbNewLine & TextResume.Text
'其中vbNewline是使TextAll.Text換行顯示
Load FormBack '載入窗體Formback
FormBack.Show '顯示窗體Formback
FormTxtBox.Visible = False '設(shè)置窗體FormtextBox不可見
End Sub
這個例子的兩個窗體界面如下:
|
 |
 |
主窗體(FormTxtBox)
|
窗體(FormBack)
|
|
我們首先新建一個標(biāo)準(zhǔn)的EXE工程。添加兩個窗體,并把TextBox、Button、Label控件放置在窗體上。各文本框的名稱如下表:
|
文本框名稱
|
名稱屬性
|
文本框名稱
|
名稱屬性
|
會員編號文本框
|
TextID
|
電子郵件文本框
|
TextMail
|
密碼文本框
|
TextPassWord
|
個人介紹文本框
|
TextResume
|
姓名文本框
|
TextName
|
會員信息文本框
|
TextAll
|
|
在屬性窗口中將TextPassWord的PassWordChar屬性設(shè)為*;TextResume的Multiline屬性設(shè)為Ture,ScrollBars屬性設(shè)為2
-Vertical;TextAll文本框的Multiline屬性設(shè)為為Ture, ScrollBars屬性設(shè)為2 -Vertical,Appearance屬性設(shè)為為0
- Flat。
下一步我們?yōu)镕ormTxtBox窗體中“確定”(CmdOK)和“清除”(CmdClear)按鈕的Click事件中添加相應(yīng)的程序。
其中:
TextID.Text
= "" 是把會員編號文本框中的內(nèi)容清空,其它語句與此類似。
FormBack.TextAll.Text
= LblID.Caption & " " & TextID.Text _ & vbNewLine &
該語句設(shè)置FormBack窗體中TextAll文本框的文本。vbNewLine是換行顯示標(biāo)志。“
_”是續(xù)行標(biāo)志,當(dāng)語句一行寫不下時使用此標(biāo)志,但要注意:前面要加空格。
代碼寫好之后,我們就可以保存工程,然后按“Ctrl+F5”鍵,測試檢驗(yàn)一下我們的程序了。
|