荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Jobs (温少), 信区: Visual
标  题: VB 7.0的改变(一)
发信站: BBS 荔园晨风站 (Wed Nov 22 15:24:37 2000), 转信


    从.Net Framework Beta 1中看,VB 7比VB 6有了很大的改变,我
以后会陆续把我学习过程中的一些笔记写出来告诉大家。现在是第一篇,
呵呵……

    第一篇   VB 7和以前版本的不同

   A、数据的上下限修改了。
   B、Redim语句的功能相当于Dim,不能用来定义动态数组了
   C、整数类型的变化,新增加Short,并且Integer和Long的类型变长了
   D、不能定义定长字符串了
   E、不再支持Variant类型,取而代之的是Object
   F、数据类型的变化
      a、不再支持Deftype语句
      b、不再支持Deftype语句,包括DefBool、DefInteger等
      c、不再支持Currency,取而代之为Decimal
      d、在VB 6,Date为四个字节的Double,在VB 7中为8个字节,就是.Net
         Frame Runtime中的DataTime数据类型,所以Date和Date类型的将不存
         在绝对的转换。
      e、在VB 6中,两个Variant类型的Integer相乘,导致结果溢出的时候,结
         果自动转变为Double,在VB 7中,两个包含Integer的Object类型相乘,
        如果溢出,结果自动转变为Long
   G、布尔操作的变化
      a、在VB 6中,And、Or、Xor和Not可以用户布尔运算(Boolean Operation
         )和位操作(Bit Operation),在VB 7中,只可以用于布尔运算。位
         操作使用BitAnd、BitOr、BitXor和BitNot。如果数字类型参与布尔运
         算,之前会转变为布尔值然后再求值。
      b、在VB 6中,参与布尔运算的所有表达式都进行求值的。在VB 7中,不一
         定对所有的表达式进行求值,例如,如果左边的表达式为真的Or表达式,
         将部队右边的表达式求真。
      c、不再支持Eqv和Imp。用=代替Eqv,用Not和Or组合来代替Imp进行布尔运
         算,用BitNot和BitOr组合来代
   H、缺省属性的改变。
      a、不再支持控件缺省属性。例如VB 6中常用的Label和Text控件的缺省属性
         不再被支持。
      b、缺省参数属性仍然支持。例如ADO中的缺省参数属性仍然被支持。
      c、在VB 7中,可以使用Default关键字指定缺省参数属性,不过在每次重载
         的时候重新指定。
   I、属性的改变。
      a、不再支持Property Get和Property Let,已经有了新的方法来解决。不
         支持没有参数时缺省属性。
      b、ByRef缺省参数不再被支持。
   J、结构体的改变。不再支持使用Type……End Type来声明结构体,取而代之用
      Structure……End Structure。
   K、声明变量语法的改变。
      a、理解像Dim I,J As Integer的语句上,有了新的理解。这样声明的结果
        是,I和J的类型都是Integer。
      b、在Declare语句中不再支持As Any关键字,只能够通过procedure的重载
         来返回不同类型的支持。
   L、在VB 6中,在语句块(block)中声明的语句,在End,Loop或Next语句时终
        止,但是仍然可以在语句块外使用。在VB 7中,在Block中声明的变量,
        Block外是不能访问的。
   M、对象的创建的改变
      在VB 6中,使用AS New来创建对象,并且初始化为Nothing,在VB 7中,支
      持使用= New来创建对象,并且支持使用构造函数(constructor)来声明对
      象。
   N、过程声明的改变。
      a、再支持Optional指定可选参数,也不再支持IsMissing来判断是否存在参
        数。在VB 7中,所有的可选参数必须指定缺省值,如果传过来的参数非法
        或超出范围,则替换为缺省值。
      b、static Modifier不再被支持来声明过程,必须过程内的所有需要声明为
        Static的变量进行声明。
   O、过程调用的改变。
      a、在VB 6中,不需要返回值的时候,调用过程需要去掉参数两边的括号。
        在VB 7中,已经不需要去掉括号了,
      b、在VB 6中,GoSub……Return实现跳转,在VB 7中已经不再支持GoSub
   P、参数传输机制的改变
      a、在VB 6中,传输的参数可以指定为ByVal、ByRef,缺省为ByRef,在VB
        7中,缺省为ByVal。
      b、在VB 6中,ByRef参数被复制传入,直接修改而不传出。在VB 7中,
        ByRef被传进后传出。
      c、在VB 6中,只支持Variant的ParamArray,并以ByRef的方式传递,VB 7
        中,只支持
         Object的ParamArray,也是以ByRef的方式传递。
   Q、流控制语句的改变
      a、不再支持GoSub……Return、On……GoSub、On ……GoTo,    但仍然支持
         On Error GoTo。
      b、不再支持While……Wend,取而代之While……End While。


    呵呵,有空再继续把……
--

   好好学习,天天向上!!!!

※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.18.211]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店