充分利用Windows API 扩展Delphi 函数.docx

充分利用Windows API 扩展Delphi 函数.docx

ID:49071477

大小:43.52 KB

页数:6页

时间:2020-02-27

充分利用Windows API 扩展Delphi 函数.docx_第1页
充分利用Windows API 扩展Delphi 函数.docx_第2页
充分利用Windows API 扩展Delphi 函数.docx_第3页
充分利用Windows API 扩展Delphi 函数.docx_第4页
充分利用Windows API 扩展Delphi 函数.docx_第5页
资源描述:

《充分利用Windows API 扩展Delphi 函数.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、充分利用WindowsAPI扩展Delphi函数BorlandDelphi是与VisualBasic相似的可视化开发工具,但其功能比VB更加强大。例如,Delphi支持汇编语言和指针操作、全面支持WindowsAPI函数及外部DLL的使用,使得它具有更广泛的应用范围。即使用于编制些较小的应用程序,Delphi与VB相比看来不相上下,但由于Delphi是编译型的语言,其编译后的EXE文件可以真正脱离Delphi的环境独立运行,而VB生成的EXE文件离开了VB软件包的大堆DLL、VBX等文件可能会无法执行。而更重要的是,般用户往

2、往并不真正知道自己开发的VB程序到底使用了哪些DLL类的文件,为了保证程序的正常运行,可能在最后的安装盘中包含了不少其实并不需要的文件。所以,般用户用VB很难开发出真正实用的软件,难怪有人说VB是"先甜后苦"Delphi实际上可以看作是VP(VisualPascal),所以它的易学性也可与VB媲美。今年发布的Delphi2.0可以为Windows町、WindowsNT开发32位程序,使得VB4.0的优势也不复存在。看来,在今后段时间内,将会有更多的人使用Delphi开发Windows应用程序。在DOS下开发过软件的人都知道i

3、nt21h的重要。与此类似,Windows应用程序也是离不开WindowsAPI的,许多较底层的操作必须通过API函数来实现。为此,无论是C++、归还是Delphi都无一例外地支持API函数的调用,只是VB由于自身的特点所限制,仅支持部分API函数,而C++、Delphi则全面地支持API函数。相比之下,Delphi对API函数的调用最简捷,达到了与自身的内部函数几乎不分彼此的程度(只要求在interfaces中的user段中加上Windows即可,而这一步Delphi会自动为您做到),VB则相当繁琐。以调用获得Window

4、s系统子目录的API函数为例,我们来看一下二者有什么不同:API函数格式的描述:WORDGetSystemDirectory(lpBuffer,nSize)VB4.0调用时首先要做如下申明:DeclareFunctionGetSystemDirectoryLib"kerne132"(ByVallpBufferAsString,ByValnSizeAsLong)AsLong然后才能使用:DimlpBufferAsString*255Size&二GetSystemDirectory(lpBuffer,255)而Delphi只需像

5、调用内部函数那样:varlpBuffer:PChar;{API函数必须使用null结尾的字符串}Size:WORD;{返回的系统子目录字符串实际长度}begin1pBuffer:二StrA110c(255)才预留字符串长度}Size:二GetSystemDirectory(lpBuffer,255);end;由此可见,De1phi是可以充分利用WindowsAPI来扩展其自身功能的。当然,在大多数情况下,De1phi本身的函数功能已经足够使用了。但是,在有些情况下,需要使用API函数来实现些特殊的功能或完善De1phi的些功

6、能。下面提供两个实例来说明这一点。、信息框函数MsgBox信息框是Windows应用程序中使用得较多的一种对话机制,它被广泛地用于提示、选择程序走向,是一个重要的程序控制手段。De1phi提供的信息框函数MessageD1g功能比较强,其最大优点是可以任意设定信息框的按钮(使用了集合类型),但其缺点也是很明显的,主要表现在标题字符串不能由用户自己设置!窗口弹出时寂静无声!按钮不能随着Windows的不同语言的版本显示不同的文字(例如无论在哪种语言版本下都只能显示"OK仁"Yes"等英文字符)。这些优点和缺点都是由于它是De1

7、phi自己实现的,而不是通过调用系统API函数实现的,故不能使用系统的语言环境、多媒体等资源。这样,所开发的程序在中文版中显示信息框时与周围的窗口显得极不协调。而VB在这方面却做得较好,所以我们按照凹的格式自定义一个信息框函数MsgBoxo下面的函数都假定是在TForm1中定义的。为了使用方便,我们首先在Interfaces段中定义些符号常量:const{第组:按钮内容选择}OKOn1y二0;{仅显示"确定"按钮}OKCance1二1;{显示"确定":f日"取消"按钮}AbortRetryIgnore二2;{"中J上川重试"

8、"放弃"}YesNoCance1二3;{"是""否川取消"}YesNo二4;{"是"和"否"}RetryCance1=5;{"重试""取消"}{第二组:显示图标选择}Critica1二16;{"STOP"图标}Question二32;{"7"图标}Exca1amation二48;{"!"图

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。