Vb6.0运算符1、& 运算符用来强制两个表达式作字符串连接。
语法result=expression1& expression2&运算符的语法具有以下几个部分:说明如果expression不是字符串,则将其转换成String 变体。
如果两个表达式都是字符串表达式,则result的数据类型是String;否则result 是String 变体。
如果两个表达式都是Null,则result 也是Null。
但是,只要有一个expression 是Null,那么在与其它表达式连接时,都将其作为长度为零的字符串("") 处理。
任何Empty类型表达式也作为长度为零的字符串处理。
& 运算符示例本示例使用&运算符将字符串串接起来。
Dim MyStrMyStr = "Hello" & " World" ' 返回 "Hello World"。
MyStr = "Check " & 123 & " Check" ' 返回 "Check 123 Check"。
2、* 运算符用来将两数相乘。
语法number2result=number1*运算符的语法具有以下几个部分:*说明result 的数据类型通常与最精确的表达式的数据类型相同。
精确度由最低到最高的顺序是Byte、Integer、Long、Single、Currency、Double和Decimal。
下列情况是例外:如果有一个或两个表达式是Null表达式,则result 为Null。
如果一个表达式是Empty,则作为 0 处理。
注意乘法用到的精确度等级与加法和减法用到的精确度等级不一样。
* 运算符示例本示例使用*运算符来计算两数的乘积。
Dim MyValueMyValue = 2 * 2 ' 返回 4。
MyValue = 459.35 * 334.90 ' 返回 153836.315。
3、+ 运算符用来求两数之和。
语法result=expression1+expression2+运算符的语法具有以下几个部分:说明在使用+运算符时有可能无法确定是做加法还是做字符串连接。
为避免混淆,请使用&运算符进行连接,并且改进程序代码的可读性。
如果至少有一个表达式不是Variant,则可运用以下法则:如果两个表达式都是Variant 表达式,则可运用下列规则:对于只有数值数据类型表达式的单纯加法,result 的数据类型通常与其中最精确的表达式的数据类型相同。
精确度由最低到最高的顺序是Byte、Integer、Long、Single、Double、Currency 和Decimal。
但下列情况例外:如果有一个或两个表达式是Null 表达式,则result 为Null。
如果两个表达式都是Empty,则result 是Integer。
但是,如果只有一个表达式是Empty,则另一个表达式原封不动地作为result 返回。
注意加法和减法用到的精确度等级与乘法用到的精确度等级不一样。
+ 运算符示例本示例使用+运算符来计算数值的和。
+运算符也可以用来做字符串的串接操作。
不过,最好还是使用&运算符来做字符串的串接操作。
如果+运算符两边的表达式中混着字符串及数值的话,其结果会是数值的求和。
如果都是字符串作“相加”,则返回串接起来的字符串。
Dim MyNumber, Var1, Var2MyNumber = 2 + 2 ' 返回 4。
MyNumber = 4257.04 + 98112 ' 返回 102369.04。
Var1 = "34": Var2 = 6 ' 初始化混合变量的值。
MyNumber = Var1 + Var2 ' 返回 40。
Var1 = "34": Var2 = "6" ' 用字符串初始化混合变量的值。
MyNumber = Var1 + Var2 ' 返回 "346"(字符串被串接起来)。
4、–运算符用来求两数之差或表示数值表达式的负值。
语法 1result=number1 - number2语法 2- n umber–运算符的语法具有以下几个部分:说明在语法 1 中,–运算符是求两数之差的算术减法运算符。
在语法 2 中,–运算符为一元负运算符,说明表达式的值为负值。
result 的数据类型通常与最精确的表达式的数据类型相同。
精确度由最低到最高的顺序是Byte、Integer、Long、Single、Double、Currency和Decimal。
下列情况例外:如果有一个或两个表达式是Null表达式,则result 为Null。
如果一个表达式是Empty,则作为 0 处理。
注意加法和减法用到的精确度等级与乘法用到的精确度等级不一样。
- 运算符示例本示例使用-运算符来计算两数值的差。
Dim MyResultMyResult = 4 - 2 ' 返回 2。
MyResult = 459.35 - 334.90 ' 返回 124.45。
5、/ 运算符用来进行两个数的除法运算并返回一个浮点数。
语法result=number1/number2/运算符的语法具有以下几个部分:说明result 的数据类型通常是Double或Double 变体。
下列情况是例外:如果有一个或是两个表达式是Null表达式,则result 为Null。
如果一个表达式是Empty则作为 0 处理。
/ 运算符示例本示例使用 /运算符来计算浮点数除法。
Dim MyValueMyValue = 10 / 4 ' 返回 2.5。
MyValue = 10 / 3 ' 返回 3.333333。
6、\ 运算符用来对两个数作除法并返回一个整数。
语法result=number1\number2\运算符的语法具有以下几个部分:说明在进行除法运算之前,数值表达式通过舍去小数部分转换成Byte、Integer或Long表达式。
通常,无论result 是不是整数,result的数据类型都是Byte、Byte 变体、Integer、Integer 变体、Long或Long 变体。
任何小数部分都被删除。
但是,如果任何一个表达式是Null,则result 为Null。
如果一个表达式是Empty,则作为0 处理。
\ 运算符示例本示例使用\运算符来计算整型除法。
Dim MyValueMyValue = 11 \ 4 ' 返回 2。
MyValue = 9 \ 3 ' 返回 3。
MyValue = 100 \ 3 ' 返回 33。
7、^运算符用来求一个数字的某次方,次方数为exponent值。
语法result=number^exponent^运算符的语法具有以下几个部分:说明只有当exponent 为整数值时,number 才可以为负数。
在表达式中执行多个指数运算时,^运算符的计算顺序从左到右。
result 的数据类型通常是Double或包含Double 的 Variant。
但是,如果number 或exponent 中有一个是Null表达式,则result 也是Null。
^ 运算符示例本示例使用^运算符来表示某数的乘方的指数值。
Dim MyValueMyValue = 2 ^ 2 ' 返回 4。
MyValue = 3 ^ 3 ^ 3 ' 返回 19683。
MyValue = (-5) ^ 3 ' 返回 -125。
8、= 操作符描述用于对一个变量或属性赋值。
语法variable=value=操作符语法有如下几部分:说明等号左边的名字可以是一个简单的标量变量或一个数组的元素。
等号左边的属性只能是运行时可写的属性。
9、AddressOf 运算符一个一元运算符,它将其后面的过程的地址传递给一个 API 过程,该 API 过程在参数表对应位置中需要一个函数指针。
语法AddressOf procedurename必需的procedurename指定要传递的地址是哪一个过程的地址。
这个过程必须是发出调用命令的工程中的一个标准模块模块里的一个过程。
说明当一个过程的名称出现在一个参数列表中时,通常该过程已经被计算,并且该过程返回值的地址也会被传递。
AddressOf允许该过程的地址被传递给动态链接库(DLL)中的一个 Windows API 函数,而不是传递该过程的返回值。
API 函数然后就可以使用这个地址来调用相应的 Basic 过程,这个过程就是我们所知道的回调。
AddressOf运算符只出现在对 API 过程的调用中。
尽管可以使用AddressOf运算符在Basic 过程之间传递过程指针,却不能通过这样的一个指针从Basic 内部调用一个函数。
这就是说,例如,一个使用Basic 编写的类不能使用这样的一个指针来回调自己的控制器。
当使用AddressOf运算符在Basic 内的过程之间传递一个过程的指针时,被调用过程的参数类型必须定义为As Long。
警告如果不能完全理解函数回调的概念,则使用AddressOf运算符可能会导致意想不到的结果。
必须理解回调的Basic 部份是如何工作的,以及接受所传递的函数地址的DLL 的代码是如何工作的。
调试这样的交互操作是非常困难的,因为该程序和开发环境运行在相同的进程中。
在某些情况下,系统的调试也许是不可能的。
注意可以使用 Microsoft Visual C++ (或者类似的工具)编译的 DLLs 来创建自己的回调函数原型。
要使用AddressOf运算符来工作,您的原型必需使用__stdcall 调用约定。
缺省的调用约定(__cdecl) 不能与AddressOf运算符一起工作。
因为一个回调的调用程序不在用户自己的程序中,所以很重要的一点是要保证回调过程中的错误不被回传到调用者。
可以通过把On Error Resume Next 语句放置于回调过程的起始处来达到这个要求。
Ad dressOf 运算符示例下面的示例创建一个带有一个列表框的窗体,该列表框包含您的系统中的字体的按字母顺序排序的列表。
要运行该示例,请创建一个带有一个列表框的窗体。
窗体部分的代码如下:Option ExplicitPrivate Sub Form_Load()Module1.FillListWithFonts List1End Sub把下面的代码放置到一个模块中。