- 1、本文档共47页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第14章 PowerBuilder高级应用 在PowerScript语言中可以使用操作系统固有的函数和用户自己开发的函数,这个过程就是API(Application Programming Interface)。使用外部函数可以极大地提高应用系统性能,这也是PowerBuilder开放性的体现。 通常认为,PowerBuilder提供的函数为内部函数,通过API调用的函数为外部函数。外部函数是以动态链接库(.DLL文件)形式提供的。使用API主要包括:外部函数定义和调用、数据类型转换、参数传递。 14.1 应用程序接口(API) 根据外部函数的作用范围,外部函数可以分为两种类型:全局外部函数和局部外部函数。全局外部函数可在应用、窗口、菜单、用户对象等位置定义,并能在应用程序的任何脚本中调用。局部外部函数可在窗口、菜单、用户对象中定义,并成为对象的一部分,只能在对象内部调用,其封装性好。 根据有、无返回值,PowerBuilder又将外部函数分为两种类型:FUNCTION(函数)和SUBROUTINE(子程序),其区别是函数有返回值,子程序无返回值。 14.1 应用程序接口(API) FUNCTION的定义格式如下: {access} FUNCTION returndatatype name ( {{REF} datatypel argl,…,{REF} datatypen argn} ) LIBRARY libname ALLAS FOR extname SUBROUTINE的定义格式如下: {access} SUBROUTINE name ( {{REF} datatypel argl, …,{REF} datatypen argn} ) LIBRARY libname ALIAS FOR extname“ 其中: access为局部函数访问级别,分以下三级: ·Public:(缺省)在应用程序的任何脚本中使用; ·Private:只在该函数所在对象事件脚本中使用; ·Protected:只在该函数所在对象及其后代事件脚本中使用。 Returndatatype:为函数返回类型,此类型应与PowerScript类型匹配。 Name: 为外部函数在DLL中的函数名。 REF: 为变量通过引用方式传递。 Datatype: 为外部函数中参数类型。 Argl, …,Argn: 为外部函数中的参数名。 14.1 应用程序接口(API) Libname: 为包含外部函数的DLL或EXE文件名 Extname: 为函数别名。 外部函数可以通过在Script画板左边下拉列表框中选择Declare,在右边下拉列表框中选择 Global External Function或Local External Function来定义 外部函数的调用方法与内部函数的调用方法一致,全局外部函数在整个应用中有效,可以在任何位置调用;调用局部外部函数时,需在局部函数名前加对象名,格式如下:ObjectName.ExternalFunction(Arguments) 14.1.2 数据类型转换 PowerBuilder与C语言的数据类型并不是一一对应的,表14-1列出主要数据类型的对应关系。此外,外部函数参数指针必须使用FAR。 PowerBuilder与C语言数据类型对应关系 : PowerBuilder数据类型 C数据类型 Boolean BOOL Long LONG Uint WORD, HANDLE, UNSIGNED INT Char BYTE,CHAR String LPINT, LPWORD, LPLONG, LPDWORD 14.1.3 参数传递 参数传递有三种方式:引用方式传递数值;引用方式传递指针;向外部函数传递结构。 1. 引用方式传递数值 例如: FUNCTION Boolean increase (REF int valuel, int value2) Library “MyDLL.DLL” 其中,valuel为引用传递,value2为值传递。 2. 引用方式传递指针 例如:FUNCTION int ASCIItoHEX(REF string mystring) Library “MyDLL.DLL” 外部函数原形为: int ASCIItoHEX(FAR *mystring) 3. 向外部函数传递结构 使用结构进行参数传递时,应在PowerBuilder中定义与外部函数一致的结构,其他与传递指针方式相同。 14.1.4 外部函数举例 文件拷贝是Windows应用常见的操作,但在PowerBuilder中并没有文件拷贝函数,只能通过调用 Windows API实现。 1. 新建如下图所
您可能关注的文档
- Photoshop CS中文版实用教程 -王鹏 解神恩 第5章.ppt
- Photoshop CS中文版实用教程 -王鹏 解神恩 第6章.ppt
- Photoshop CS中文版实用教程 -王鹏 解神恩 第8章.ppt
- Photoshop CS中文版实用教程 -王鹏 解神恩 第9章.ppt
- Photoshop平面设计案例教程 -管学理 第1章 Photoshop cs3简介.ppt
- Photoshop平面设计案例教程 -管学理 第2章 Photoshop cs3工具讲解及运用.ppt
- Photoshop平面设计案例教程 -管学理 第5章 Photoshop cs3图像的编辑与调整.ppt
- Photoshop图像处理技术 -王爱民 第1章 图像处理基.ppt
- Photoshop图像处理技术 -王爱民 第6章 图层的应用.ppt
- Photoshop图像处理技术 -王爱民 第7章 路径的使用.ppt
最近下载
- 土地复垦可行性分析zhouqi.docx VIP
- 国开2021《Web开发基础》形考任务1-5题目汇总.doc VIP
- 四、 中国近代化的探索 教学设计 2023~2024学年统编版八年级历史上册.docx
- 2021需氧菌性阴道炎诊治专家共识.pptx VIP
- 小红书2025好势发生营销IP新版图通案.pdf
- 传统村落保护与发展规划.ppt VIP
- 国开2021《Web开发基础》形考任务1-5题目汇总.docx VIP
- 2023人教版(PEP)小学英语(三、四、五、六年级)词汇及常用表达法(课本同步).pdf VIP
- 日立电梯HGE乘客电梯调试指导手册.pdf
- 风电场运维安全管理.pptx VIP
文档评论(0)