第三章:VB语言
本章提要:
VB语法与Basic的异同
注释语句
长语句的分行
条件语句
循环语句
运算操作
数据定义与赋值
函数和过程
--------------------------------------------------------------------------------
一、VB与Basic
VB之所以叫做“Visual Basic”就是因为它使用了Basic语言作为代码,所以它们之间有着千丝万缕的关系,如果学过Basic的话,看到VB的程序结构会感到很亲切。但VB作为新生物,也超越了Basic的限制,有了许多自己的特点:
VB建立了一种新的变量类型 D D货币型变量,通过使用仅带有二位小数的货币变量,就能避免因使用实型变量而带来的数值积累误差问题。
VB在调用函数(Function)时,必须在函数名后跟一对括号。
VB对白兰地使用范围重新做了规范,在Basic里把隐含变量都当作全局变量,而在VB里对隐含变量都当作局部变量。
VB里的说明语句(Declare),仅支持动态链结库(DLL)的子程序和无变量函数。
使用数组,必须事先用Dim或Redim进行定义。
--------------------------------------------------------------------------------
二、注释语句
在使用注释语句之前必须先了解注释的作用,注释不仅仅是对程序的解释,有时它对于程序的调试也非常有用,譬如说可以利用注释屏蔽一条语句以观察变化,发现问题和错误。以后注释语句将是我们在编程里最经常用到的语句之一。
在VB里,注释语句有两种,一种是用“Rem”关键字,这跟DOS里的批处理文件的用法一样,还有一种是利用单引号“'”,例如:
‘Dim a As String 与
Rem Dim a As String 的作用是一致的。
--------------------------------------------------------------------------------
三、长语句的分行
在比较早的版本中,因为没有象C等语言用“;”隔开语句与语句,VB的语句是必须写在一行里的,不过后来版本的VB里如许用分行符“_”把一个长语句分成若干行来存放。
四、条件语句
如果你学过任何一种编程的话,都会知道在程序里控制其流程的有两种语句,条件与循环,VB自然也不例外,其实不管哪种语言,条件和循环的样子都差不多,只不过各有各的规矩罢了。
条件语句里,我们先来学习“If……Then……”语句。
它的一般语法是:
If <条件> Then
<语句>
<语句>
………
End If
与C 语言不同,VB的条件语句更符合英语的语法,如果Then后面所跟的语句只有一条,可以写成:
If <条件> Then <语句>
而不用End If。
有时我们还会用到
If <条件> Then
<语句>
Else
<语句>
End If
更可以在Else里在嵌套If语句,如:
If <条件> Then
<语句>
Else If
<语句>
Else
<语句>
End If
所有这些可以用一个表格表示:
条件1
True
False
语
句
1
条件2
True
False
语
句
2
条件3
True
False
…
…
…
………………………
条件N
True
False
语句N
语句N+1
用了过多的Else后你会感到很不方便,而且程序结构也不清晰,所以大多数的语言还有Select语句帮助解决这个问题。
VB里的Select语句的格式是这样的:
Select Case <变量名>
Case <情况1>
……
Case <情况2>
……
Case <情况3>
……
……
……
Case Else
……
End Select
例如:
Select Case a%
Case 1
Print “a=1”
Case 2
Print “a=2”
Case Else
Print “a does not equal to 1 or 2.”
End Select
五、循环语句
循环结构是计算机语言里一种重要的结构,它的应用广泛,最简单的例子是累加器的作用,还可以用于穷举法,更直观的例子是把某件事重复指定的次数,这样就不用把要重复的语句输入多次,而通过循环结构完成,非常方便。
C语言里有一个“for”循环语句,VB里也有“For”关键字,作用也差不多,只是VB的“For”语句更容易理解。它的格式是:
For <循环变量>=<初赋值> To <终值> [Step <步长>]
……
……
Next <循环变量>
在默认情况下,Step被设为“1”,可以省略,Step也可以设为负值,例如:
Dim a=0
For I=1 To 10
a=a+I
Next I
这是一个最简单的累加器的例子,把1到10累加在一起,然后赋值给“a”这样的效果和上面是一样的,只不过是倒着加罢了,请看:
Dim a=0
For I=10 To 1 Step C1
a=a+I
Next I
While语句也是一个很常用的循环语句,它的形式很多。
Do While …… Loop语句
While …… Wend 语句
Do …… Loop While
While后面都跟逻辑条件判断,“Do While …… Loop语句”和“While …… Wend 语句”作用相似,都是先判断While后面的条件是否为“真”,如果为“真”则执行里面的语句,如果为“假”,则退出循环,循环直至条件为“假”终止。“Do …… Loop While ”与前两者的区别在于,它不管条件的真假,都会先执行“Do”后面的语句,也就是说,它至少执行语句一次。
与While用法相似的还有Until语句,它是直至条件为真则终止循环,句式把While上述三个语句的While换成Until即可,但是因为容易记混,所以我建议只用While即可。Until <条件>可以相当于While Not <条件>。
For循环和Whlie循环应当根据适当的环境使用,它们有时也可替换。
六、运算操作
数学运算
+:加法运算,也适合于字符串的之间的合并运算。
-:加法运算。
*:乘法运算。
/:除法运算。
\:整除运算。
Mod:求余运算。例如:a Mod b表示a被b整除以后的余数。
^:幂运算。A^B表示以A为底的B次方。
关系运算
关系运算也称比较运算,它表示不等式的真或假,VB共提供六种运算符,分别是=(等于),>(大于),<(小于),>=(大于等于),<=(小于等于)和<>(不等于)。
逻辑运算
逻辑运算是对真或假的运算,我将列表说明:
A
B
Not A
非
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
T D DTrue F D DFalse
--------------------------------------------------------------------------------
七、 数据与定义
本标题的内容已经在上一章向大家详述过,在这里就不再重复。
--------------------------------------------------------------------------------
八、函数与过程
函数与过程有许多相似的地方,它们之间最大也是最本质的区别就在于,函数有一个返回值,而过程只是执行一系列动作,所以可以简单的把函数理解成为一个变量,而VB中的每个事件都是一个过程,比如Co mm and1_Click()就是一个过程。
因为在程序设计中经常会有重复的地方,所以把它做成一个函数或一个过程,在使用时进行调用,可以节省大量的输入代码的时间,而且使用函数和过程也便于程序的结构化和修改查看。函数和过程都可以有参数,也可以没有参数。
关于函数和过程我将在以后的章中配合实例讲解,请您继续留意VB教程。