| 在 Visual Basic
中执行应用程序期间,用变量临时存储数值。变量具有名字(用来引用变量所包含的值的词)和数据类型(确定变量能够存储的数据的种类)。可以把变量看作内存中存放未知值的所在处。例如,假定正在为水果铺编一个销售苹果的软件。在销售实际发生之前并不知道苹果的价格和销量。此时,可以设计两个变量来保存未知数,将它们命名为
ApplePrice 和ApplesSold。每次运行程序时,用户就这两个变量提供具体值。为了计算总的销售额,并且将结果显示在名叫
txtSales 的文本框中,代码应该是这样的:txtSales.txt = ApplePrice *
ApplesSold每次根据用户提供的数值,这个表达式返回不同的金额。由于有了变量,就可以设计一个算式,而不必事先知道实际的输入是多少。在这个例子中,ApplePrice
的数据类型是货币,而 ApplesSold 的数据类型是整数。变量还可以表示许多其它数值,比如:文本数值、日期、各种数值类型,甚至对象也在此列。
存储和检索变量中的数据用赋值语句进行计算,并将结果赋予变量:ApplesSold = 10'将值
10'传给变量。ApplesSold = ApplesSold + 1'变量值'增一。注意,例子中的等号是赋值符,并不是等于操作符;它将数值
(10) 赋予变量 (ApplesSold)。声明变量声明变量就是事先将变量通知程序。要用 Dim 语句声明变量,Dim
语句提供了变量名:Dim variablename [As type]在过程内部用 Dim
语句声明的变量,只有在该过程执行时才存在。过程一结束,该变量的值也就消失了。此外,过程中的变量值对过程来说是局部的,也就是说,无法在一个过程中访问另一个过程中的变量。由于这些特点,在不同过程中就可使用相同的变量名,而不必担心有什么冲突和意想不到变故。变量名:
必须以字母开头。?不能包含嵌入的(英文)句号或者嵌入的类型声明字符。不得超过 255
个字符。在同一个范围内必须是唯一的。范围就是可以引用变量的变化域,如一个过程、一个窗体等等。由于 Dim 语句中的可选的 As type
子句,可以定义被声明变量的数据类型或对象类型。数据类型定义了变量所存储信息的类型。String、Integer 和Currency
都是数据类型的例子。变量也可以包含来自Visual Basic或其它应用程序的对象。Object、Form1 和 TextBox 都是
Visual Basic 对象类型或类的实例。详细信息
关于对象的更详细的信息,请参阅第九章“用对象编程”和第十章“用部件编程”。在本章后面的“数据类型”部分将详细讨论数据类型。声明变量的其它方式:?不在过程内部,而在窗体、标准或类模块的声明段声明变量,这将使变量对模块中的所有过程有效。?用
Public 关键字声明变量,这将使变量在整个应用程序中有效。?用 Static
关键字声明一个局部变量,那么,即使过程结束,变量的值也仍然保留着。隐式声明在使用一个变量之前并不必先声明这个变量。 例如,可以书写这样一个函
数,在其中就不必在使用变量 TempVal 之前先声明它:Function SafeSqr
(num)TempVal = Abs (num)SafeSqr = Sqr (TempVal)End FunctionVisual Basic
用这个名字自动创建一个变量,使用这个变量时,可以认为它就是显式声明的。虽然这种方法很方便,但是如果把变量名拼错了的话,会导致一个难以查找的错误。例如,假定写了这样一个函数:Function
SafeSqr (num)TempVal = Abs (num)SafeSqr = Sqr (TemVal)End
Function乍看起来,这两段代码好像是一样的。但是因为在倒数第二行把 TempVal 变量名写错了,所以函数总是返回 0。当 Visual
Basic
遇到新名字,它分辨不出这是意味着隐式声明了一个新变量呢,还是仅仅把一个现有变量名写错了,于是只好用这个名字再创建一个新变量。显式声明为了避免写错变量名引起的麻烦,可以规定,只要遇到一个未经明确声明就当成变量的名字,Visual
Basic 都发出错误警告。 |