第三章:VB語言
本章提要:
VB語法與Basic的異同
注釋語句
長語句的分行
條件語句
循環語句
運算操作
數據定義與賦值
函數和過程
--------------------------------------------------------------------------------
一、VB與Basic
VB之所以叫做“VisualBasic”就是因為它使用了Basic語言作為代碼,所以它們之間有著千絲萬縷的關系,如果學過Basic的話,看到VB的程序結構會感到很親切。但VB作為新生物,也超越了Basic的限制,有了許多自己的特點:
VB建立了一種新的變量類型DD貨幣型變量,通過使用僅帶有二位小數的貨幣變量,就能避免因使用實型變量而帶來的數值積累誤差問題。
VB在調用函數(Function)時,必須在函數名后跟一對括號。
VB對白蘭地使用范圍重新做了規范,在Basic里把隱含變量都當作全局變量,而在VB里對隱含變量都當作局部變量。
VB里的說明語句(Declare),僅支持動態鏈結庫(DLL)的子程序和無變量函數。
使用數組,必須事先用Dim或Redim進行定義。
--------------------------------------------------------------------------------
二、注釋語句
在使用注釋語句之前必須先了解注釋的作用,注釋不僅僅是對程序的解釋,有時它對于程序的調試也非常有用,譬如說可以利用注釋屏蔽一條語句以觀察變化,發現問題和錯誤。以后注釋語句將是我們在編程里最經常用到的語句之一。
在VB里,注釋語句有兩種,一種是用“Rem”關鍵字,這跟DOS里的批處理文件的用法一樣,還有一種是利用單引號“'”,例如:
‘DimaAsString與
RemDimaAsString的作用是一致的。
--------------------------------------------------------------------------------
三、長語句的分行
在比較早的版本中,因為沒有象C等語言用“;”隔開語句與語句,VB的語句是必須寫在一行里的,不過后來版本的VB里如許用分行符“_”把一個長語句分成若干行來存放。
四、條件語句
如果你學過任何一種編程的話,都會知道在程序里控制其流程的有兩種語句,條件與循環,VB自然也不例外,其實不管哪種語言,條件和循環的樣子都差不多,只不過各有各的規矩罷了。
條件語句里,我們先來學習“If……Then……”語句。
它的一般語法是:
If<條件>Then
<語句>
<語句>
………
EndIf
與C語言不同,VB的條件語句更符合英語的語法,如果Then后面所跟的語句只有一條,可以寫成:
If<條件>Then<語句>
而不用EndIf。
有時我們還會用到
If<條件>Then
<語句>
Else
<語句>
EndIf
更可以在Else里在嵌套If語句,如:
If<條件>Then
<語句>
ElseIf
<語句>
Else
<語句>
EndIf
所有這些可以用一個表格表示:
條件1
True
False
語
句
1
條件2
True
False
語
句
2
條件3
True
False
…
…
…
………………………
條件N
True
False
語句N
語句N+1
用了過多的Else后你會感到很不方便,而且程序結構也不清晰,所以大多數的語言還有Select語句幫助解決這個問題。
VB里的Select語句的格式是這樣的:
SelectCase<變量名>
Case<情況1>
……
Case<情況2>
……
Case<情況3>
……
……
……
CaseElse
……
EndSelect
例如:
SelectCasea
Case1
PRint“a=1”
Case2
Print“a=2”
CaseElse
Print“adoesnotequalto1or2.”
EndSelect
五、循環語句
循環結構是計算機語言里一種重要的結構,它的應用廣泛,最簡單的例子是累加器的作用,還可以用于窮舉法,更直觀的例子是把某件事重復指定的次數,這樣就不用把要重復的語句輸入多次,而通過循環結構完成,非常方便。
C語言里有一個“for”循環語句,VB里也有“For”關鍵字,作用也差不多,只是VB的“For”語句更容易理解。它的格式是:
For<循環變量>=<初賦值>To<終值>[Step<步長>]
……
……
Next<循環變量>
在默認情況下,Step被設為“1”,可以省略,Step也可以設為負值,例如:
Dima=0
ForI=1To10
a=a I
NextI
這是一個最簡單的累加器的例子,把1到10累加在一起,然后賦值給“a”這樣的效果和上面是一樣的,只不過是倒著加罷了,請看:
Dima=0
ForI=10To1StepC1
a=a I
NextI
While語句也是一個很常用的循環語句,它的形式很多。
DoWhile……Loop語句
While……Wend語句
Do……LoopWhile
While后面都跟邏輯條件判斷,“DoWhile……Loop語句”和“While……Wend語句”作用相似,都是先判斷While后面的條件是否為“真”,如果為“真”則執行里面的語句,如果為“假”,則退出循環,循環直至條件為“假”終止?!癉o……LoopWhile”與前兩者的區別在于,它不管條件的真假,都會先執行“Do”后面的語句,也就是說,它至少執行語句一次。
與While用法相似的還有Until語句,它是直至條件為真則終止循環,句式把While上述三個語句的While換成Until即可,但是因為容易記混,所以我建議只用While即可。Until<條件>可以相當于WhileNot<條件>。
For循環和Whlie循環應當根據適當的環境使用,它們有時也可替換。
六、運算操作
數學運算
+:加法運算,也適合于字符串的之間的合并運算。
-:加法運算。
*:乘法運算。
/:除法運算。
/:整除運算。
Mod:求余運算。例如:aModb表示a被b整除以后的余數。
^:冪運算。A^B表示以A為底的B次方。
關系運算
關系運算也稱比較運算,它表示不等式的真或假,VB共提供六種運算符,分別是=(等于),>(大于),<(小于),>=(大于等于),<=(小于等于)和<>(不等于)。
邏輯運算
邏輯運算是對真或假的運算,我將列表說明:
A
B
NotA
非
And
與
Or
或
Xor
異或
Eqv
相等
Imp
蘊含
T
T
F
T
T
F
T
T
T
F
F
F
T
T
F
F
F
T
T
F
T
T
F
T
F
F
T
F
F
F
T
T
TDDTrueFDDFalse
--------------------------------------------------------------------------------
七、數據與定義
本標題的內容已經在上一章向大家詳述過,在這里就不再重復。
--------------------------------------------------------------------------------
八、函數與過程
函數與過程有許多相似的地方,它們之間最大也是最本質的區別就在于,函數有一個返回值,而過程只是執行一系列動作,所以可以簡單的把函數理解成為一個變量,而VB中的每個事件都是一個過程,比如Command1_Click()就是一個過程。
因為在程序設計中經常會有重復的地方,所以把它做成一個函數或一個過程,在使用時進行調用,可以節省大量的輸入代碼的時間,而且使用函數和過程也便于程序的結構化和修改查看。函數和過程都可以有參數,也可以沒有參數。
關于函數和過程我將在以后的章中配合實例講解,請您繼續留意VB教程。->