荔园在线

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

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


发信人: playboy (冷冷的太阳), 信区: Program
标  题: VB VS DELPHI
发信站: BBS 荔园晨风站 (Wed Mar 15 17:02:28 2000), 转信


Borland Delphi是与Visual Basic相似的可视化开发工具,但其功能比VB更加强大。
例如,Delphi支持汇编语言和指针操作、全面支持Windows API函数及外部DLL的使
用,使得它具有更广泛的应用范围。即使用于编制一些较小的应用程序,Delphi与VB
相比看来不相上下, 但由于Delphi是编译型的语言,其编译后的EXE文件可以真正脱
离Delphi的环境独立运行,而VB 生成的EXE文件离开了VB软件包的一大堆DLL、
VBX等文件可能会无法执行。而更重要的是,一般用户往往并不真正知道自己开发
的VB程序到底使用了哪些DLL一类的文件,为了保证程序的正常运行,可能在最后的
安装盘中包含了不少其实并不需要的文件。所以,一般用户用VB很难开发出真正实
用的软件,难怪有人说VB是"先甜后苦"。Delphi实际上可以看作是VP(Visual Pascal),所
以它的易学性也可与VB媲美。今年发布的Delphi2.0可以为Windows 95、Window s NT
开发32位程序,使得VB 4.0的优势也不复存在。看来,在今后一段时间内,将会有更多
的人使用Delphi开发Windows应用程序。在DOS下开发过软件的人都知道int 2lh的重要。
与此类似,Windows应用程序也是离不开Windows API的,许多较底层的操作必须通过
API函数来实现。为此,无论是C++、VB还是Delp hi都无一例外地支持API函数的调
用,只是VB由于自身的特点所限制,仅支持部分API函数,而C++、Delphi则全面地支持
API函数。相比之下,Delphi对API函数的调用最简捷,达到了与自身的内部函数几乎
不分彼此的程度(只要求在interfaces中的user段中加上Windows即可,而这一步Delphi
会自动为您做到),VB则相当繁琐。以调用获得Windows系统子目录的API函数为例
,我们来看一下二者有什么不同:API函数格式的描述:WORD GetSystemDirectory(lpBuffer,
nSize)
    VB 4.0调用时首先要做如下申明:
    Declare Function GetSystemDirectory Lib"kernel32"(ByVal
lpBuffer As String, ByValnSize As Long)As Long
    然后才能使用:
    Dim lpBuffer As String *255
    Size&=GetSystemDirectory(lpBuffer,255)
    而Delphi只需像调用内部函数那样:
    var lpBuffer:PChar;{API函数必须使用null结尾的字符串}
    Size:WORD;{返回的系统子目录字符串实际长度}
    begin lpBuffer:=StrAlloc(255);{预留字符串长度}
    Size:=GetSystemDirectory(lpBuffer,255);end;
    由此可见,Delphi是可以充分利用Windows API来扩展其自身功能的。当然,在大
多数情况下,Delphi本身的函数功能已经足够使用了。但是,在有些情况下,需要使
用API函数来实现一些特殊的功能或完善Delphi的一些功能。

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


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

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