变量是用来存储值的所在处;它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在声明变量时也可指定它的数据类型。所有变量都具有数据类型,以决定能够存储哪种数据。
根据缺省规定,如果在声明中没有说明数据类型,则令变量的数据类型为 variant。variant 数据类型很象一条变色龙— 它可在不同场合代表不同数据类型。当指定变量为 variant 变量时,不必在数据类型之间进行转换,visual basic 会自动完成各种必要的转换。
但是,如果知道变量确实总是存储特定类型的数据,并且还声明了这种特定类型的变量,则 visual basic 会以更高的效率处理这个数据。例如,存储人名的变量最好表示成 string 数据类型,因为名字总是由字符组成。
除变量外,数据类型也用于其它场合。在给属性赋值时,这个值就有数据类型;函数的参数也有数据类型。事实上,在 visual basic 中,凡是与数据有关的东西就与数据类型有关。
也可声明任何基本类型的数组。
详细信息 关于更详细信息,请参阅本章后面的“数组”部分。在“性能和兼容性的设计”中还将讨论通过选择数据类型来提高应用程序的性能。
声明带数据类型的变量
VB编程基础教程8-高级变量主题
数值在变量中的内部表示
variant 变量维护它们所存储的数值的内部表示。这个表示将决定 visual basic 在执行比较操作和其它操作时如何处理这些值。将值赋予 variant 变量时,visual basic 会用最紧凑的表示正确记录这个值。以后的操作可能使 visual basic 改变这个用于特定变量的表示。(variant 变量不是无类型变量,而是能够随意改变类型的变量。)这些内部表示与本章前面在“数据类型”中讨论的数据类型相一致。
注意 variant 总保持 16 位,无论其中存储了什么数据。对象、字符串和数组,在物理上并非存于 variant 之中;在这些情况下,用四个字节的 variant 来保持对象引用、或者字符串或数组的指针。而真正的数据存在其它地方。
很多时候,不必了解 visual basic 为特殊变量使用哪一种变量类型;visual basic 会自动转换类型。若想了解 visual basic 正在使用哪种变量类型,可使用 vartype 函数。
例如,如果在 variant 变量中存储二进制值,visual basic 就会用 double 内部表示。如果知道应用程序并不需要 double 值提供的高精度(以及由此而来的低速度),那么将此值转换成 single 甚至转换成 currency 就可以加快计算速度:
if vartype (x) = 5 then x = csng (x) ‘转换成单精度。
对 array 变量,vartype 的值等于数组元素与数据类型返回值之和。例如,这个数组包含 double 值:
VB编程基础教程7-数据类型
VB编程基础教程6-常数
经常会发现代码包含一些常数值,它们一次又一次地反复出现。还可发现,代码要用到很难记住的数字— 而那些数字没有明确意义。
在这些情况下,可用常数大幅度地改进代码的可读性和可维护性。常数是有意义的名字,取代永远不变的数值或字符串。尽管常数有点象变量,但不能象对变量那样修改常数,也不能对常数赋以新值。常数有两种来源:
内部的或系统定义的常数是应用程序和控件提供的。在“对象浏览器”中的 visual basic ( vb ) 、和 visual basic for applications ( vba ) 对象库中列举了 visual basic 的常数。其它提供对象库的应用程序,如 microsoft excel 和 microsoft project,也提供了常数列表,这些常数可与应用程序的对象、方法和属性一起使用。在每个 activex 控件的对象库中也定义了常数 关于使用“对象浏览器”的详细信息,请参阅“用对象编程”。
符号的或用户定义的常数是用 const 语句来声明的。下节“创建属于自己的常数”中将说明用户定义的常数。
在 visual basic 中,常数名采用大小写混合的格式,其前缀表示定义常数的对象库名。来自 visual basic 和 visual basic for applications 对象库的常数以 "vb" 开头— 例如vbtilehorizontal。
设计前缀时应尽力防止发生意外冲突,不能出现常数名称相同但表示不同数值的情况。即使使用了前缀,两个对象库也仍可能包含表示不同值的相同常数。在这种情况下,引用哪个常数取决于哪个对象库具有更高的优先级。关于改变对象库优先级的信息,请参阅 “引用对话框”部分。
VB编程基础教程5-静态变量
除范围之外,变量还有存活期,在这一期间变量能够保持它们的值。在应用程序的存活期内一直保持模块级变量和公用变量的值。但是,对于 dim 声明的局部变量以及声明局部变量的过程,仅当过程在执行时这些局部变量才存在。通常,当一个过程执行完毕,它的局部变量的值就已经不存在,而且变量所占据的内存也被释放。当下一次执行该过程时,它的所有局部变量将重新初始化。
但可将局部变量定义成静态的,从而保留变量的值。在过程内部用 static 关键字声明一个或多个变量,其用法和 dim 语句完全一样:
static depth
例如,下面的函数将存储在静态变量 accumulate 中的以前的运营总值与一个新值相加,以计算运营总值。
function runningtotal (num)
static applessold
applessold = applessold + num
VB编程基础教程4-高级变量主题
使用多个同名的变量
如果不同模块中的公用变量使用同一名字,则通过同时引用模块名和变量名就可以在代码中区分它们。例如,如果有一个在 form1 和 module1 中都声明了的公用 integer 变量 intx,则把它们作为 module1.intx 和 form1.intx 来引用便得到正确值。
为了看清这是如何工作的,在一个新工程中插入两个标准模块,并在窗体上画上三个命令按钮。
在第一个标准模块 module1 之中声明一个变量 intx。test 过程设置它的值:
public intx as integer ‘声明 module1 的 intx。
sub test ()
’设置 module1 的 intx 变量的值。
VB编程基础教程3-理解变量的范围
变量的范围确定了能够知晓该变量存在的那部分代码。在一个过程内部声明变量时,只有过程内部的代码才能访问或改变那个变量的值;它有一个范围,对该过程来说是局部的。但是,有时需要使用具有更大范围的变量,例如这样一个变量,其值对于同一模块内的所有过程都有效,甚至对于整个应用程序的所有过程都有效。visual basic 允许在声明变量时指定它的范围。
指定变量的有效范围
一个变量在划定范围时被看作是过程级(局部)变量,还是模块级变量,这取决于声明该变量时采用的方式。
范围 专用 公用
过程级 变量对于这种过程是专用的,在该过程中出现了这些变量。 不可使用。不能在一个过程中声明公用变量。
模块级 变量对于这种过程是专用的,在该过程中出现了这些变量。 变量可用于所有模块。
VB编程基础教程1-编码基础
这一部分介绍代码编写机制,包括如何中断和合并代码行、如何添加注释、如何使用数字以及 visual basic 命名约定。
将单行语句分成多行
可以在“代码”窗口中用续行符(一个空格后面跟一个下划线)将长语句分成多行。由于使用续行符,无论在计算机上还是打印出来的代码都变得易读。下面用续行符 ( _) 将代码分成若干行:
data1.recordsource = _
"select * from titles, publishers" _
& "where publishers.pubid = titles.pubid" _
& "and publishers.state = ‘ca’"
杂谈┊仙剑电视剧超经典台词总汇
阿七:十四弟少侠 粒粒皆辛苦
啊七跟十四:厉害 厉害``` 失礼 失礼````` 佩服佩服 那里那里
啊奴:你这个坏女人 欺负我的男人 又欺负我的女人 抢我女人的男人 还呼喝我女人的男人的男人 你找死啊你
灵儿:逍遥哥哥 我支持你 后面一群人:我支持你
VB创建不规则窗体经验总汇
很多人都很热衷于创建形状奇怪的窗体。而且不断的有热心的家伙们将他们的发现放到我们这里与大家分享。今天我将我所知道的方法总结一下。希望对大家有所帮助。
一般来说,要创建一个不规则的窗体。我们需要使用一个Win32 API: SetwindowRgn。这个API您可以在Api浏览器中找到。这个Api的作用就是将窗体的“剪”成一个指定的形状。下面是这个Api声明于解释:
Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long,ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
它有三个参数。
第一个(hWnd)是用来指定被剪切的对象的句柄,比如Picture图形框等, 我们一般就是用窗体的hWnd属性;
第二个(hRgb)指明剪切的形状, 即指定的几何图形特征, 此参数也必须由相应的API 函数提供说明。用那些APi可以创建一个您想要的区域(窗体的形状)。然后这些Api会返回一个数值。这个数值就是这个形状在Windows中的句柄(可以理解为身份证号码)。SetWindowsRgn可以通过这个数值来找到我们创建的那个区域;
第三个(bRedraw)是一个布尔变量, 一般可设置为真(True)。
网络文摘┊永远的月如!!!论仙剑电视剧林月如之死
(转贴自中国仙剑联盟bbs)作者:一缕月影
吃到老,玩到老,原来我已经这么老了……
这是月如临死前说的最后一句话,就这么一句淡淡的话,我的泪便终于控制不住,流了下来……
而我对于仙剧的所有记忆,永远都只停留在31集……
对于我来说,没有月如的世界,就已经是结束……
我早已经知道,会有这样的结局。
批处理手把手编写教程
介绍如何写win下的批处理程序
批处理的介绍
扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件。
首先批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。