你的位置:创意公社- ideaer >> >> 程序开发 >> 详细内容 在线投稿

VB编程基础教程2–变量

排行榜 打印 发给朋友 举报 发布者:hk4061
热度403票  浏览115次 【共0条评论】【我要评论 时间:2010年11月08日 08:57

i'euB/N6PUh1在 visual basic 中执行应用程序期间,用变量临时存储数值。变量有名字(用来引用变量所包含的值的词)和数据类型(确定变量能够存储的数据的种类)。
"N'@z ~T3K$Ar1可以把变量看作内存中存放未知值的所在处。例如,假定正在为水果铺编一个销售苹果的软件。在销售实际发生之前并不知道苹果的价格和销量。此时,可以设计两个变量来保存未知数— 将它们命名为 appleprice 和 applessold。每次运行程序时,用户就这两个变量提供具体值。为了计算总的销售额,并且将结果显示在名叫 txtsales 的文本框中,代码应该是这样的:创意公社- ideaer|_S.T2F
txtsales.txt = appleprice * applessold
n;O0A{/d,Cde1每次根据用户提供的数值,这个表达式返回不同的金额。由于有了变量,就可以设计一个算式,而不必事先知道实际的输入是多少。
kd B NFD"d:S]1在这个例子中,appleprice 的数据类型是货币,而 applessold 的数据类型是整数。变量还可以表示许多其它数值,比如:文本数值、日期、各种数值类型,甚至对象也在此列。创意公社- ideaers3vX#K/U*BBk
存储和检索变量中的数据
!a3gf7CQ9~:P1用赋值语句进行计算,并将结果赋予变量:
b?&u_!Xf3T+@_1applessold = 10      ‘将值 10
#Cf9GP$e X M:O%_1                  ’传给变量。
"I og1^(cX[-g5O1applessold = applessold + 1      ‘变量值
wf+I4HP8s9a1                              ’增一。创意公社- ideaer0\~7p^/Y
注意,例子中的等号是赋值符,并不是等于操作符;它将数值 (10) 赋予变量 (applessold)。
Gcb O:e{ |1声明变量
kE!a8r:r1声明变量就是事先将变量通知程序。要用 dim 语句声明变量,dim 语句提供了变量名:
*J&\uC;^+^r4V1dim variablename [as type]
T~3_8F7Wy1在过程内部用 dim 语句声明的变量,只有在该过程执行时才存在。过程一结束,该变量的值也就消失了。此外,过程中的变量值对过程来说是局部的— 也就是说,无法在一个过程中访问另一个过程中的变量。由于这些特点,在不同过程中就可使用相同的变量名,而不必担心有什么冲突和意想不到变故。
/]8h2I rt#u.K1变量名:
/R%r J)[ @/Vt1必须以字母开头。创意公社- ideaerMIu;_2Ks
创意公社- ideaer&]T9w,?d Fk A
不能包含嵌入的句号或者嵌入的类型声明字符。
G#k{8X9q V{%T1
$[9C a-o vh:M1不得超过 255 个字符。创意公社- ideaer2dg6o9l*s NW&Y(X
创意公社- ideaeri'u"{"?Z H
在同一个范围内必须是唯一的。范围就是可以引用变量的变化域— 一个过程、一个窗体等等。
zo-cjre[+Y+M1由于 dim 语句中的可选的 as type 子句,可以定义被声明变量的数据类型或对象类型。数据类型定义了变量所存储信息的类型。string、integer 和 currency 都是数据类型的例子。变量也可以包含来自 visual basic 或其它应用程序的对象。object、form1 和 textbox 都是 visual basic 对象类型或类的实例。
^ `^k'Gz6RX1详细信息 关于对象的更详细的信息,请参阅“用对象编程”和“用部件编程”。在本章后面的“数据类型”部分将详细讨论数据类型。创意公社- ideaer b_!v&O*Q"b"U*F$l^
声明变量的其它方式: 创意公社- ideaer wFzX&a*T5k U
不在过程内部,而在窗体、标准或类模块的声明段声明变量,这将使变量对模块中的所有过程有效。
iF*Zk&T$t#H8j"?1创意公社- ideaer,|gFfJ _p
用 public 关键字声明变量,这将使变量在整个应用程序中有效。
!uoJui/v2\2}q1
/cA5Q_2mUa7a+oZ1用 static 关键字声明一个局部变量,那么,即使过程结束,变量的值也仍然保留着。 创意公社- ideaer VW|'`)p zY!g
隐式声明创意公社- ideaer*F)Y I+g;tU&[
在使用一个变量之前并不必先声明这个变量。 例如,可以书写这样一个函数,在其中就不必在使用变量 tempval 之前先声明它:
%nwnc4W7O6Li[1function safesqr (num)创意公社- ideaer3P1VUO Y Z'E3bM
   tempval = abs (num)
"k)a:i)EJQQ1   safesqr = sqr (tempval)创意公社- ideaer7X*O9l0y8_"z
end function
e4a[4@a5?1visual basic 用这个名字自动创建一个变量,使用这个变量时,可以认为它就是显式声明的。虽然这种方法很方便,但是如果把变量名拼错了的话,会导致一个难以查找的错误。例如,假定写了这样一个函数:
7v%B~ad3|8w1function safesqr (num)
6L#O7|9hvcTT"K w9CQ7J1   tempval = abs (num)
u5U$k8Wg1   safesqr = sqr (temval)创意公社- ideaer t@(nj WN*~7Pq
end function
[JeBjm$A_-`1乍看起来,这两段代码好象是一样的。但是因为在倒数第二行把 tempval 变量名写错了,所以函数总是返回 0。当 visual basic 遇到新名字,它分辨不出这是意味着隐式声明了一个新变量呢,还是仅仅把一个现有变量名写错了,于是只好用这个名字再创建一个新变量。创意公社- ideaer4g q}(te
显式声明创意公社- ideaer'H]F8HU3@8Nu
为了避免写错变量名引起的麻烦,可以规定,只要遇到一个未经明确声明就当成变量的名字,visual basic 都发出错误警告。创意公社- ideaer"Ek7o+VO
要显式声明变量,请
s3Sug(x8J1在类模块、窗体模块或标准模块的声明段中加入这个语句: 创意公社- ideaerJ'WTMU-t4H
option explicit创意公社- ideaerjg.c.AaU'}:ws
—或—创意公社- ideaerq)OM9N:f4ujG} s
在“工具”菜单中选取“选项”,单击“编辑器”选项卡,再复选“要求变量声明”选项。这样就在任何新模块中自动插入 option explicit 语句,但不会在已经建立起来的模块中自动插入;所以在工程内部,只能用手工方法向现有模块添加 option explicit。
/D_#Ia7qB,sk1如果对包含 safesqr 函数的窗体或标准模块执行该语句,那么 visual basic 将认定 tempval 和 temval 都是未经声明变量,并为两者都发出错误信息。随后就可以显式声明 tempval。
Lo~SX:Iah1function safesqr (num)创意公社- ideaer:rv k@8D"I3E]
   dim tempval创意公社- ideaer Y1d \CLQtst
   tempval = abs (num)
T3k5I EYDG1   safesqr = sqr (temval)创意公社- ideaermU C| px9{.lS8G nu
end function创意公社- ideaer1k!`eK.v k
因为 visual basic 对拼错了的 temval 显示错误信息,所以能够立刻明白是什么问题。由于 option explicit 语句有助于抓住这些类型的错误,所以最好在所有代码中使用它。创意公社- ideaerh9NN.VqW W
注意 option explicit 语句的作用范围仅限于语句所在模块,所以,对每个需要 visual basic 强制显式变量声明的窗体模块、标准模块及类模块,必须将 option explicit 语句放在这些模块的声明段中。如果选择“要求变量声明”,visual basic 会在后续的窗体模块、标准模块及类模块中自动插入 option explicit,但是不会将它加入到现有代码中。必须在工程中通过手工将 option explicit 语句加到任何现有模块中。

l9x W|F3KG"W^$Kt1
顶:18 踩:25
对本文中的事件或人物打分:
当前平均分:-0.87 (129次打分)
对本篇资讯内容的质量打分:
当前平均分:-0.33 (97次打分)
【已经有134人表态】
22票
感动
19票
路过
11票
高兴
11票
难过
30票
搞笑
12票
愤怒
15票
无聊
14票
同情
上一篇 下一篇
发表评论
换一张

网友评论仅供网友表达个人看法,并不表明本网同意其观点或证实其描述。

查看全部回复【已有0位网友发表了看法】