VB 版 (精华区)
发信人: zxfsnow (最近睡眠太少), 信区: VB
标 题: 兼收并蓄Visual Basic风采依旧
发信站: 哈工大紫丁香 (2000年06月06日10:20:06 星期二), 转信
发信人: Amao (阿毛), 信区: VB
标 题: ccc
发信站: 饮水思源站 (Thu May 14 14:57:30 1998) , 转信
作为可视化编程的先锋,Visual Basic曾经领导了一场开发工
具的革命,但它现在所面临的对手越来越多,也越来越强大。
微软最新推出的Visual Basic 5.0中文简体版打消了人们对于
它前途的担心,它充分吸收了Visual C++、Delphi、Java等语
言的优点,使得用户先前对Visual Basic的种种抱怨几乎在一
夜之间都得到了圆满的解决。
此次推出的Visual Basic 5.0中文简体版是双字节内核版,也
就是说除了提示信息和联机帮助是中文之外,还容许用户使用
中文变量名、过程名和对象名。微软对Visual Basic 5.0的标
准版做了全面汉化,但在专业版和企业版中,用于设计数据库
报表的Crystal Report Writer和用于源程序管理的Visual
SourceSafe 5.0没有进行汉化。中文简体版是针对Windows 95
中文版和Windows NT 4.0中文版设计的,我们曾试图在Windows
95英文版上运行测试版,但无论是外挂中文之星还是Rich-Win,
均没有获得成功。除了前面提到的三个版本以外,Visual Basic
5.0的英文版还有一个专门用来进行ActiveX控制设计的版本
(Controls Creation Edtion),你可以从Internet上免费下
载它,地址是http://www.microsoft.com/vbasic/controls/
download/default.htm。
Visual Basic 5.0支持多种工程类型(图1),除了标准的EXE
和DLL以外,还包括ActiveX EXE和DLL、ActiveX Document EXE
和DLL、ActiveX控制,以及ADDIN。你可能对于ActiveX技术已
经不太陌生了,在本刊今年头两期的“PC技术”专栏我们曾做
过详细的介绍。ActiveX技术是微软Internet策略的核心,但
Visual Basic 5.0出现以前的ActiveX开发工具不是太复杂,就
是太简陋。Visual Basic 5.0在ActiveX方面所做的努力是基本
成功的。它提供了一系列工具来帮助你熟悉ActiveX技术。ActiveX
Document Migration Wizard帮助你将已有的应用程序转化为
ActiveX Document程序(你可以把ActiveX Document理解为
Internet上的Form,即表单),ActiveX Control Interface
Wizard可以生成ActiveX控制的接口文件,而Setup Wizard可以
生成下载ActiveX控制和ActiveX Document所需的带有OBJECT和
CODEBASE标记的HTML文件。使用Visual Basic设计ActiveX控制
明显比C++简单,这为ActiveX技术开辟了道路。利用Visual
Basic 5.0提供的与Internet和Winsock有关的几个ActiveX控制,
你可以在自己的应用程序中十分轻易地提供访问Internet或
Intranet的功能。众所周知,微软希望利用Visual Basic同Java
相抗衡,所以Visual Basic 5.0也增强了在类方面的功能,比如
类似Java的Friend关键字可以使你在整个工程内的所有类中使用
同一方法,而Implements可以让他人更方便地访问你的DLL中的类。
Visual Basic 5.0在集成环境方面的变化是非常明显的。它支持
两种工作方式:多工程方式和单工程方式(图2)。后者与以前的
版本很相似,而前者允许同时打开多个工程文件,这对于调试
ActiveX控制是很有好处的。工程窗口以树状结构清晰地显示文件
之间的层次关系。属性页上显示当前属性的简单说明,用户不必
为此再查阅手册或帮助了。用户可以在右下角的“表单布局”窗
口中调整窗体运行时在屏幕上出现的位置。所有窗口的位置和样
式都可以由用户定制。用户还可以定制Visual Basic 5.0的菜单
和工具条。在Visual Basic 5.0中,我们经常遇到新的选项或命
令,但并没有不知所措的感觉,它们被组织得井井有条,你很快就
可以适应。我们有一个建议,就是要习惯于使用鼠标右键,快捷菜
单上包含了许多你想要的功能,而它们可能很难在其它地方找到。
在集成环境中最令人赞叹的功能是快速提示帮助。当你在代码窗口
键入代码时,Visual Basic会根据程序上下文内容提供动态的帮助
信息。比如你键入“frmAbout.”后,Visual Basic立即列出frmAbout
所支持的所有方法和属性供你选择(图3)。当你键入“Dim a As ”
后,所有可以使用的数据类型立即出现。当键入“Instr(”后,
Instr函数的所有参数均会出现在提示窗口中。这样可以减少拼写
错误,查阅手册和帮助的次数也明显减少。不过有的提示信息比较
含糊,例如它会告诉你Instr函数的第二个和第三个参数是String1
和String2,但你仍不知道哪个是源串,哪个是目标串,如果改成
DestString和SourceString就更好了。集成环境中的其它一些新功
能也很不错,象“书签”可以让你更方便地查找代码,而对齐工具
极大地方便了表单的设计。
在Visual Basic的上一个版本中提供了加载宏(Add-in)功能,但
没有很好地设计向导(Wizard)和模板(Template)功能,让人颇
感遗憾。而在新版本中,向导和模板随处可见。除了我们前面提到
的几个向导外,还有Application Wizard、Class Builder Utility、
Property Page Wizard和Data Form Wizard等。Application Wizard
可以生成三种风格的应用程序,总的效果还不错。这些向导对于程
序员来说可能并不新奇,但它们都是用户期待已久的了。Visual
Basic还提供了窗体模板,包括About、Splash、“日积月累”等。
在光盘的Tools子目录下,我们还找到了菜单、控制集和代码三种
模板,不过你需要手工安装它们,微软对这三种模板也不提供技术
支持。我们认为Visual Basic在向导和模板方面还需继续努力:它
定制向导的能力不如Visual C++,而模板也不象Visual FoxPro和
Delphi的可视类那样灵活。
Visual Basic可以生成EXE和DLL,但以前的版本并不是生成本地代
码(native code,即机器码),而是生成P-代码,然后进行解释
执行,许多人认为这使Visual Basic运行速度比那些生成本地代码
的语言(如C++)慢。Visual Basic 5.0除了提高P-代码的运行速度
外,还提供了生成本地代码的功能。你可以在生成EXE文件时,选择
是P-代码还是本地代码,如果选择本地代码,你还可以象C++那样拥
有大量的优化选项,如快速代码优化、小代码优化、针对Pentium优
化等等。Visual Basic 5.0还提供了用于调试本地代码的独立调试
工具CodeView。
为了比较两种代码的效果,我们做了两个小实验,其结果见表1。
第一个实验是做200万次空循环,第二个实验是以二进制方式打开
一个文件,然后逐个字节地读入文件,并统计其中的空格个数。进
行本地代码编译时,我们没有使用任何优化选项。两种方式的编译
速度相差很小。我们从表1的结果可以得到以下结论:本地代码确
实可以提高运行速度,但其效果与用户的代码和算法都有关系,一
般来说,计算密集的程序提高明显,而有大量磁盘操作的(包括数
据库应用)程序提高的幅度有限,因为磁盘操作非常费时,从而抵
消了代码速度上的优势;P-代码生成的文件尺寸比较小,但即使生
成的文件很大,两种代码的尺寸差别也不悬殊。
Visual Basic 5.0还提供了一些从其它工具借鉴来的语言特征,如
Enum类型、Debug.Assert方法。AddressOf使你可以生成过程和函数
的实例地址,这样你可以构造钩子(hook)函数,或完成一些Win32
API调用。Visual Basic 5.0的标准控制还增加了一些也许不太重
要、但对你绝对有用的属性,如所有控制均支持ToolTipsText属性,
使你更容易地实现工具提示;大多数控制都已经支持图形属性;新
的MSFlexGrid控制替代了Grid控制,MSChart控制替代了Graph控制。
Visual Basic 5.0在数据库方面也做了一些改进,但不如前两次升
级那么引人注目。新的改进主要集中在企业版中,比如进一步优化
的Remote Data Objects Version 2.0、T-SQL调试器以及可视的连
接和查询设计器。这些改进基本上是基于客户机/服务器结构的远
程数据存取,这说明微软并没有因为Internet而放弃客户机/服务
器结构。
总的来说,Visual Basic 5.0是一次成功的升级,但它的对手们决
不会就此罢休,可以预见Visual Basic将面临更大的挑战。
--
-------------------------------
There is no dark.
There is just absence of light.
-------------------------------
--
以科计为本,以产业报国!
超越自我,飞跃无限!
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.235.249]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.102毫秒