精华内容
下载资源
问答
  • vb6存在几个虚幻值:Null、Missing、Empty、Nothing、vbNullString。除了最后一个之外,每一个值都不能直接用“a=值”来判断。下面分别解释一下这几个值含义。 1、Null。 Null指一个不合法的数据,判断一个...

    vb6中存在几个虚幻的值:Null、Missing、Empty、Nothing、vbNullString。除了最后一个之外,每一个值都不能直接用“a=值”来判断。下面分别解释一下这几个值的含义。

    1、Null。

    Null指一个不合法的数据,判断一个变量是否为Null使用isNull函数。

    这种数据通常出现在三种情况下:

    (1)最简单的,函数直接返回Null给调用方。譬如

    Function DivideEx(ByVal A as Double, ByVal B as Double) as Double

    If B=0 Then DivideEx=Null Else DivideEx=A/B

    End Function这个函数在B=0时返回Null指不合法数据。

    (2)数据库中,当一个字段设为“允许空值”时,VB读取到空值就会用Null表示。譬如

    Function GetCity(rst as ADODB.Recordset) as String

    If isNull(rst.Field(“City”)) GetCity=rst.Field(“Province”) Else GetCity=rst.Field(“City”)

    End Function在这个函数中,当City字段为空时(表示所在地区为一直辖市)返回Province字段,否则返回City字段。

    (3)在调用库函数时,如果遇到传送变量类型与定义类型不一样时有时会出现Null值。

    Null值在计算时有点奇怪,譬如Null-Null=Null,Null+10=10,Null+""=""等

    2、Missing

    Missing指传递进入Variant变量的缺少,判断Missing使用isMissing函数。譬如

    Function test(Optional a)

    If isMissing(a) Then test=“You don’t give this the varible a.” Else test=“You’ve given this the varible a.”

    End

    Sub Main()

    Debug.Print test '->You don’t give this the varible a.

    Debug.Print test(123) '->You’ve given this the varible a.

    End Sub注意,Missing只会在Varient中出现,如果给入的数据类型是Byte,Integer,Long,Single,Double等缺少时为0;String缺少时为"";Object缺少时为Nothing。

    3、Enpty

    Empty指一个Variant变量未初始化,判断Empty使用isEmpty函数。譬如

    Function test(a)

    If isEmpty(a) Then test=“a is Empty” Else test=“a isn’t Empty”

    End Function

    Sub Main()

    Dim a as Variant

    test(a) '->a is Empty

    a=""

    test(a) '->a isn’t Empty

    a=0

    test(a) '->a isn’t Empty

    End Sub4、Nothing

    Nothing相当于Object变量中的空值。指指向于空对象的引用。

    未初始化的Object变量为Nothing;未传入函数的Object为Nothing。判断一个变量是否为Nothing使用 is Nothing表达式。

    同时,Nothing还有另外一个用途,就是把所有指向某一个对象的Object变量赋值为Nothing可以销毁此对象节省内存空间。

    5、vbNullString

    vbNullString是一个String类型的常量,通常用于传递一个Null给库函数。不过很奇怪的是vbNullString=""这个表达式为True.

    FROM:http://gerhut.net/blogger/2006/08/vb6nullmissingemptynothingvbnullstring.html

    展开全文
  • VB.NET中的面向对象编程

    千次阅读 2017-12-02 16:28:20
    任何合法的标识符都可以作为对象名 创建对象。对象声明语句并未实际创建对象,而只是声明用来引用对象名称。 创建一个对象语法为: new 类名 (参数列表) 消息传送(调用方法或读取或设置属

    为了在程序中使用对象,首先要声明和创建一个对象,然后给它发送信息。

    1. 声明对象(对象变量)。程序中使用每个对象都必须声明,声明对象时指定对象的名称及其所属的类。其语法为:
      Dim 对象名 AS 类名
      任何合法的标识符都可以作为对象名
    2. 创建对象。对象的声明语句并未实际创建对象,而只是声明用来引用对象的名称。
      创建一个对象的语法为:
      new 类名 (参数列表)
    3. 消息传送(调用方法或读取或设置属性的值)

    获取String类的对象中位于指定位置的字符:
    ch=inputString.Chars(i)
    获取String类的对象中字符个数
    inputString.Length
    查找Stirng类对象中的指定字符或子字符串
    IndexOf()
    LastIndexOf( )返回字符在字符串中最后一个匹配项的位置
    Substring()截取字符串
    Trim() 该方法返回字符串的首尾空白字符移除后形成的字符串。

    就写这些吧。 跟java太像了,以后接触到别的东西再做补充。

    展开全文
  • Null:Null是一个象Integer或者String一样的变量类型,它表示一个没有合法数据的变量。这有别于zero、Nothing、Empty或者vbNullString。可以使用IsNull语句来判断表达式是否为Null:If IsNull(my_variable) Then ......

    Null

    :Null是一个象Integer或者String一样的变量类型,它表示一个没有合法数据的变量。这有别于zero、Nothing、Empty或者vbNullString。

    可以使用IsNull语句来判断表达式是否为Null:

    If IsNull(my_variable) Then ...

    Empty:这也是一个象Integer或者String一样的变量类型,它表示了一个还没有进行初始化的变量。它与Null的意义不同,Null表示没有合法数据。

    一个没有初始化的变量的数值是Empty。你可以使用IsEmpty语句来判断是否变量进行了初始化:

    Dim a As Variant '注意:IsEmpty only returns meaningful information for variants. 'a = 10 If IsEmpty(a) Then MsgBox "YES" Else MsgBox "NO" End If

    Nothing:这是一个指向空对象的对象引用。将对象引用设置为Nothing,就释放了那个对象。如果没有其他的引用指向对象,Visual Basic就将销毁这个对象。

    Dim obj As Form1 : Set obj = Nothing 注释: Free the object reference.

    使用Is Nothing语句来判断是否一个引用为Nothing:

    If obj Is Nothing Then ...

    vbNullString:这是个常量,表示一个empty字符串。它与空白字符串""不同,表示什么也没有的字符串(nothing string)。对于许多场合,它被当作一个empty字符串""处理,真正使用它的目的是传递null参数给库函数。

    引用一些其他对vbNullString的理解

    字符串是由两部分组成:一个指针和一个Unicode字符数组 vbNullString就是一个只有第一部分而没有第二部分的字符串

    vbnullstring是一个4字节的空值,传输进api中一般要这样0&

    相关文章

    总结

    如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

    如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

    展开全文
  • 3.3 下列符号哪一个是VB中的合法变量名? (1)x23 (2)8xy (3)END (4)X8[B] 答:(1)x23 为合法变量名。 3.8 表达式2*3^2+2*8/4+3^2的值为: (1)64 (2)31 (3)49 (4)22 答:(2)31 P48、 3.14 函数...
  •   vb6存在几个虚幻值:Null、Missing、Empty、Nothing、vbNullString。除了最后一个之外,每一个值都不能直接用“a=值”来判断。下面分别解释一下这几个值含义。 1、Null Null指一个不合法的数据,判断一...

      vb6中存在几个虚幻的值:Null、Missing、Empty、Nothing、vbNullString。除了最后一个之外,每一个值都不能直接用“a=值”来判断。下面分别解释一下这几个值的含义。

    1、Null


    Null(空值)指一个不合法的数据,判断一个变量是否为Null使用SQL中的isNull函数。



    1.1 ISNull函数


    ISNULL函数:使用指定的替换值替换 NULL。

    语法:ISNULL ( check_expression , replacement_value )

    isnull(a,0)  '如果a字段有空值返回0 没有空值就返回a的本身
    isnull(a,1)=2 '字段a有空值返回1,判断isnull(a,1)是否等于2
    
    '从TbStudent里查找stuAdress为空值的学生姓名和学号,并把空值替换成未知'
    'stuAdress是int类型的,未知是varchar类型的,不允许添到同一列上'
    select stuName,stuNumber,ISNULL(stuAdress,'未知') from TbStudent
    

      check_expression:将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。

      replacement_value:代替值,在 check_expression 为 NULL时将返回的表达式。

    注释:
      replacement_value 必须与 check_expresssion 具有相同的类型。
      如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value。



    1.2 使用Null的三种情况


    (1)最简单的,函数直接返回Null给调用方。譬如

    Function DivideEx(ByVal A as Double, ByVal B as Double) as Double
    
    	If B=0 Then		'当B=0时返回Null,表示为不合法数据'
    		DivideEx=Null
    	Else
    		DivideEx=A/B
    	End if
    End Function
    

    (2)数据库中,当一个字段设为“允许空值”时,VB读取到空值就会用Null表示,例如

    Function GetCity(rst as ADODB.Recordset) as String
    
    	If isNull(rst.Field("City")) Then	'当City字段为空时返回Province字段,否则返回City字段'
    	   GetCity=rst.Field("Province") 
    	Else 
    		GetCity=rst.Field("City")
    	End if
    End Function
    

    (3)在调用库函数时,如果遇到传送变量类型与定义类型不一样时有时会出现Null值。

    Null值在计算时有点奇怪,譬如Null-Null=Null,Null+10=10,Null+""=""


    2、Missing


    Missing指传递进入Variant变量的缺少,判断Missing使用isMissing函数。
    Missing只会在Varient中出现,如果给入的数据类型是Byte,Integer,Long,Single,Double等缺少时为0;String缺少时为"";Object缺少时为Nothing。**

    data value;
       input var1 var2 @@;
       if missing(var2) then delete;	'如果var2的的对象丢失,就删除'
       datalines;
    127 988 195 .
    122 .n								'就这里吧n(nothing)删除了'
    ;
    run;
    proc print ;run;
    

    if var2=. then delete这样的结果只会删除缺失的值,不能删除缺少的对象。

    Obs var1 var2
    1 127 988
    2 122 n

    用missing()函数的结果是:

    Obs var1 var2
    1 127 988



    2.1 IsMissing函数


    IsMissing是一个VB函数,它返回一个布尔值,表示一个可选参数是否未被传递给一个函数。


    语法:IsMissing (ArgName) As Boolean

    ArgName参数:必需,一个Variant类型的可选参数名。

    备注
      使用 IsMissing 函数可检测调用过程时是否提供了可选 Variant 参数。 如果未为指定参数传递任何值,则 IsMissing 将返回 True;否则将返回 False。
      如果 IsMissing 针对某参数返回 True,则在其他代码中使用缺少参数可能导致用户定义的错误。
      如果对 ParamArray (可变参数)参数使用 IsMissing,则将始终返回 False。
      IsMissing 对简单数据类型(如 Integer 或 Double)无效,因为与 Variants 不同,它们没有针对“丢失”标志位的设置。

    示例
      下例使用 IsMissing 函数检查是否已将可选参数传递到用户定义的过程。 请注意, Optional 参数现在可具有默认值和 Variant 之外的类型。

    Dim ReturnValue		'下面的语句调用用户定义的函数过程'
    	ReturnValue = ReturnTwice()    ' Return是Null'
    	ReturnValue = ReturnTwice(2)    ' Returns是4'
    
    Function ReturnTwice(Optional A)	'函数过程定义'
        If IsMissing(A) Then			'如果缺少参数A,则返回Null'
            ReturnTwice = Null
        Else							'如果存在参数A,则返回值的两倍'
            ReturnTwice = A * 2
        End If
    End Function
    



    3、Empty


      VB特有的一种数据类型叫Variant 可变类型,理论上可以接受任何其他数据类型,如果变量未定义,VB自动将其作为可变类型对待。它的默认值就是 Empty,值 Empty 是异于0、零长度字符串 ("") 或 Null 值的特定值。判断Empty使用isEmpty函数,例如:

    If IsEmpty (Z) Then Z = 0
    

      当 Variant 变量包含 Empty 值时,可在表达式中使用它;将其作为 0 或零长度字符串来处理,这要根据表达式来定。

      只要将任何值(包括 0、零长度字符串或 Null)赋予 Variant 变量,Empty 值就会消失。而将关键字 Empty 赋予 Variant 变量,就可将 Variant 变量恢复为 Empty。



    3.1 ISEmpty函数


    IsEmpty返回一个指示是否已初始化变量的布尔值。


    语法:IsEmpty(expression)

      expression:必需的,参数是一个包含数值或字符串表达式的Variant 。 但是, 由于IsEmpty用于确定是否初始化了各个变量, 因此_表达式_参数通常是单个变量名称。

    备注
      IsEmpty 在变量未初始化或显式设置为 Empty 时返回 True;否则,返回 False。 如果 expression 包含多个变量,则始终返回 False。 IsEmpty 仅返回变量的有用信息。此示例使用 IsEmpty 函数确定是否已初始化变量。

    Dim MyVar, MyCheck
    	MyCheck = IsEmpty(MyVar)    ' 返回值为True'
    	MyVar = Null    			' 给MyVar赋值为空值'
    	MyCheck = IsEmpty(MyVar)    ' 初始变化量已发生变化,返回值为False'
    
    	MyVar = Empty    			' 将关键字 Empty 赋予 MyVar 变量'
    	MyCheck = IsEmpty(MyVar)    ' 返回值为True'
    



    4、Nothing


    Nothing相当于Object变量中的空值,指向于空对象的引用,用于取消对象变量与实际对象的关联。 使用Set 语句可将Nothing分配给对象变量。 例如:

    Set MyObject = Nothing 
    

      多个对象变量可引用相同的实际对象。 在将 Nothing 分配给一个对象变量后,该变量将不再引用实际对象。

      未初始化的Object变量为Nothing;未传入函数的Object为Nothing。判断一个变量是否为Nothing使用 is Nothing表达式。

      同时,Nothing还有另外一个用途,就是把所有指向某一个对象的Object变量赋值为Nothing可以销毁此对象节省内存空间



    4.1 IsNothing 与 Is Nothing的区别


    IsNothing语法:IsNothing(Object)
    Is Nothing语法:Object Is Nothing


    A. IsNothing能给任何类型值的对象赋值nothing,但这可能出现Bug

       IsNothing(Object)表示所有类型(括值类型)的对象都赋值为nothing,但是值类型不能为nothing,只能是0

    Dim i As Integer
    If IsNothing(i) Then	'使用IsNothing,代码可以编译和运行 额。。。'
       ' Do something 
    End If
    
    Dim i As Integer		'使用Is Nothing,代码不能运行,编译器会提出错误'
    If i Is Nothing Then	'Is不接受类型为Integer的操作,必须是引用类型或可空类型'
        '  Do something 	
    End If
    

    B. 可读性来说Is Nothing更胜一筹

       IsNothing的否定语句是:Not IsNothing(object)
       Is Nothing的否定语句是:Not object Is Nothing


    C. IsNothing(Object)实际上就是是Microsoft.VisualBasic.dll的一部分。(这句话代表什么意思呢)


    5、vbNullString


      vbNullString是一个String类型的常量,表示一个empty字符串。它与空白字符串"“不同,表示什么也没有的字符串(nothing string)。
      对于许多场合,它被当作一个empty字符串”"处理,真正使用它的目的是传递null参数给库函数,主要是用于调用外部的动态链接库程序时使用(也就是API函数)。

    字符串是由两部分组成:一个指针和一个Unicode字符数组
    vbNullString就是一个只有第一部分而没有第二部分的字符串

    Dim temp As String
    '这个时候temp还没有附值,只是定义了类型,就是说还没有真正占用内存,地址就是0'
    '这时候temp就等于vbNullString'
    
    temp=""	
    '把""赋值给temp,尽管等于空字符串,但是已经占用了内存,地址就发生了变化'
    



    6、 零长度字符、空字符、vbNull、vbNullChar、vbNullString的区别


    不过很奇怪的是vbNullString=""这个表达式为True.

      零长度字符是指””,
      空字符是指ASCII 中字符编码为0的字符,即Null字符。

      在vba内部还定义了很多常量,其中有三个是含有Nul的的常量,它们分别是vbNull、vbNullChar、vbNullString。

      通过在VBA编辑环境中按下F2快捷键分别搜索查询以上三个常量可以得知:

    Const vbNull = 1
    
    Const vbNullChar = “”
    
    Const vbNullString = “”
    

      其中vbNull=1可以很好的理解,而vbNullChar 和vbNullString 常量定义都等于零长度字符,让人有点摸不着头脑。继续查找MSDN中的官方文档,可以得知:

      vbNullChar=chr(0),指的是一个字符,这个字符的字符编码为0,即等于ASCII表中的第一个字符,Null字符。
      vbNullString 指的是一个字符串,它不同于零长度字符串,主要是用于调用外部的动态链接库程序时使用(也就是API函数)。


      那vbNullChar是否等于零长度字符呢?也即vbNullChar是否按照常量的定义等于””?可以使用如下代码测试:
    Sub QQ1722187970()
    Dim str1 As String
        str1 = ""				'零长度字符的Len返回0'
        Debug.Print Len(str1)	'Len(vbNullChar)返回1'
        Debug.Print Len(vbNullChar)		'返回False'
        Debug.Print str1 = vbNullChar
    End Sub
    

    也就是vbNullChar不等于零长度字符。

      再根据什么是BSTR数据类型一文,我们知道在vba中字符串变量存储的是字符串的第一个字符的内存地址,而实际的字符串是以BSTR类型存储的,BSRT类型是个复合数据类型,它由4个字节(字符串的字节长度,不含字符串结束符)+实际字符串+字符串结束符组成。

      根据代码测试可以得知:

    字符串变量 字符串长度不包含字符串结束符,以字节为单位) 第1个字节 第2个字节 第3个字节 第4个字节
    str1=”” 0 Null字符(字符串结束符) Null字符(字符串结束符) 未使用 未使用
    str1=vbNullChar 2 Null字符 Null字符 Null字符(字符串结束符) 未使用
    str1=Chr(0) 2 Null字符 Null字符 Null字符(字符串结束符) 未使用

      而vbNullString则一般用在调用外部api函数时使用,如果直接赋值给字符串变量则会导致excel重启。

      根据以上的知识,现总结如下:

      空字符=vbNullChar=chr(0)

      vbnull=1

      零长度字符即不等于vbNullChar也不等于vbNullString。

    展开全文
  • Null:Null是一个象Integer或者String一样的变量类型,它表示一个没有合法数据的变量。这有别于zero、Nothing、Empty或者vbNullString。  可以使用IsNull语句来判断表达式是否为Null: If IsNull(my_...
  • vb6存在几个虚幻值:Null、Missing、Empty、Nothing、vbNullString。除了最后一个之外,每一个值都不能直接用“a=值”来判断。下面分别解释一下这几个值含义。1、Null。Null指一个不合法的数据,判断一个变量...
  • VB中创建ActiveX对象代码如下: Dim Matlab as Object. Set Matlab = CreateObject Matlab.Application对象主要有3个函数,具体如下: (1) BSTR Execute([in]BSTR Command)方法 接受单一字符串...
  • 转载:(原贴作者未知)惟一Null, Empty, Nothing, and vbNullString区别 以上这些奇怪数值间有些微妙不同含义: Null:Null是一个象Integer或者String一样的变量类型,它表示一个没有合法数据的变量。...
  • 首先,添加一个标准模块:单一类模式,需定义全局变量作为唯一实例Public glbPlcObj As clsPlcPublic intPlcCounter As Integer 再添加一个类模块:Private blnLegalInstance As Boolean 只有一个合法的实例可以打开...
  • 63 在该例我们使用了三个变量分别表示被除数m除数n及余数r Do r=m Mod n m=n n=r Loop Until r=0 最大公约数是 64 由于输入的数据M和N要求是自然数在程序应加入对数据的合法性进行检验的部分 考虑到程序的应用...
  • VB 程序设计期末模拟试卷 一单项选择 b 1被对象所识别动作与对象可执行动作分别称为对象 _ 方法事件... D CXYZ& a 3以下四个 VB 的变量中合法的是 _ A X23 B $Re C Len D 3xy d 4在程序使用 Dim str1,str2 As
  • VB考试客观练习题

    2012-11-26 14:50:05
    一,单项选择题(1-251题) 1.以下4种描述,错误是__ D __. A. 常量在程序执行期间其值不会发生改变 ...3.Visual Basic可以用类型说明符来标识变量的类型,其中表示货币型是___ C ____. A. % B. # C. @ D. $
  • 写程序注意点

    千次阅读 2010-12-12 13:55:00
    (1)函数编写时候是否借口类型一致 (2) if 是否可以跳出 (3)while、for是否会发生死循环 (4)宏优先级是否有保证 (5)所有指针使用前是否可能合法 (6) 全局变量是否是...
  •  (4)变量名不能是VB中的保留字(关键字),也不能是末尾带类型说明符的保留字,但可以把保留字嵌入变量名,  关键字是指VB6语言中的属性、事件、方法、过程、函数等系统内部的标识符。如已经定义的词(if、endif...
  • 中文API支持库(1.0-0

    2009-04-17 08:28:19
    _回应消息() 如将消息传送给位于不同进程的一个窗口,通常第一个进程会暂时挂起,直到另一个进程中的窗口函数完成操作为止。在目标进程的窗口函数完成之前,另一个进程可用这个函数向第一个进程返回一个结果,使之能...
  • vb6存在几个虚幻值:Null、Missing、Empty、Nothing、vbNullString。除了最后一个之外,每一个值都不能直接用“a=值”来判断。下面分别解释一下这几个值含义。 1、Null。 Null指一个不合法的数据,判断一个...
  • 本文阐述了利用Visual C++软件实现一个类MATLAB的功能强大的科学计算器内核的一般实现原理,包括设计目标相关问题探讨、算法分析、各功能子模块设计、用户实现接口定义等软件工程开发中的主要步骤,着重解答内核...
  • 枚举

    2019-09-27 19:32:20
    枚举概念: 枚举类型在C#或C++,java,VB等一些计算机编程语言是一种基本数据类型而不是构造数据类型,它用于声明一组命名常数。  枚举使用场景: 当一个变量有几种可能取值时,可以将它定义为枚举类型...
  • C#微软培训教材(高清PDF)

    千次下载 热门讨论 2009-07-30 08:51:17
    C#--微软.NET的第一语言 本书着重介绍语言本身,比较少涉及应用,不错的入门书,从头讲起,不怕... C#语言在.NET 框架中的作用及其特性 1.1 Microsoft.NET 一场新的革命 1.1.1 什么是.NET 2000 年 6 月 ...
  • C#微软培训资料

    2014-01-22 14:10:17
    C#语言在.NET 框架中的作用及其特性 1.1 Microsoft.NET 一场新的革命 1.1.1 什么是.NET 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为值得纪念的一天 这一天 微软公司正式推出...
  • 实例128 统计某个字符在一个字符串变量中的出现次数 实例129 判断字符串中某一字符是否大写 实例130 判断字符串是否为日期或时间 实例131 判断获得字符串中大写字符的个数 实例132 巧截字符串的数字 实例133 ...
  • 实例128 统计某个字符在一个字符串变量中的出现次数 实例129 判断字符串中某一字符是否大写 实例130 判断字符串是否为日期或时间 实例131 判断获得字符串中大写字符的个数 实例132 巧截字符串的数字 实例133 ...
  • Java开发技术大全(500个源代码).

    热门讨论 2012-12-02 19:55:48
    outputMax.java 求两个数中的最大数 overflowExample.java 演示溢出 precedence.java 演示自加运算符的优先级 primeNumber.java 输出100-200之间的所有素数 ranking.java 评定成绩等级 rankingBySwitch.java ...

空空如也

空空如也

1 2
收藏数 31
精华内容 12
热门标签
关键字:

vb中的合法变量