当前位置:首页 > 活动 > 正文内容

PB 常用函数与封装函数列表(十一、系统与环境相关)

admin7个月前 (10-18)活动2300 修订时间:2024-10-18 15:27:56

十一、系统与环境相关

11.1 Yield 函数

功能将控制权转移给其它图形对象,包括非PB对象。该函数检测消息队列,如果有消息,就把消

息取出。利用该函数可以在执行耗时较长的操作时把控制权转让给其它应用。

语法

Yield()

参数

返回值

Boolean

如果在消息队列中提取到了消息,那么函数返回TRUE,否则返回FALSE

使用说明

正常情况下,PowerBuilder应用程序在执行一段代码(比如函数或事件处理程序)的过程中不响应用户的操作。

对耗时短暂的代码段来说,这种处理方式没有什么不妥的地方

但是,如果某个代码段的执行耗时较长,应用程序又希望为用户提供更多的控制权,那么需要在这段代码中插入Yield()函数,让用户能够进行其它操作,特别在循环执行的代码中更应该如此。

应用程序执行Yield()函数后,如果发现消息队列中存在消息,它将允许对象处理这些消息,处理之后,继续Yield()函数后面代码的执行。

因此,代码中插入Yield()函数将降低应用程序的运行效率

11.2 Clipboard 函数

提取或替换Windows系统剪贴板的文本内容。

语法

Clipboard ( { string } )

参数

string–>string类型,可选项,指定要复制到系统剪贴板上的文本。

如果剪贴板上已有内容的话,该文本将取代剪贴板的当前内容

返回值

String

行成功时,如果剪贴板上包含文本数据,那么函数返回剪贴板的当前内容

如果剪贴板上包含非文本数据(比如位图)或不包含任何数据,那么函数返回空字符串""

如果string参数的值为NULL,返回NULL

用法无论是否指定string参数,将返回剪贴板的当前内容

当指定string参数时,剪贴板的原有内容被string参数的值取代;

省略string参数时,仅仅得到剪贴板的内容

11.3 CommandParm 函数

得到应用程序运行时指定的命令参数

语法

CommandParm()

参数

返回值

String

成功时返回应用程序运行时的命令行参数,函数执行错误或没有命令行参数时函数返回空字符串""

11.4 DoScript 函数

执行AppleScript程序段,该函数只在Macintosh平台上有效

语法

DoScript ( script, result )

参数

script–>string类型,指定要运行的程序段(script)
result–>string类型,由AppleScript程序段返回的结果信息或出错信息

返回值

Integer

返回由AppleScript返回的结果代码。

如果任何参数的值为NULL,函数返回NULL

11.5 GetApplication 函数

得到当前应用对象的句柄,这样你可以查询或设置应用对象的属性(通常用于编写通用代码)

语法

GetApplication ( )

参数

返回值

Application

返回当前应用对象的句柄

11.6 GetEnvironment 函数

得到操作系统、处理器、屏幕显示等与系统相关的信息

语法

GetEnvironment ( environmentinfo )

参数

environmentinfo–>Environment对象名,用于保存系统环境信息

返回值

Integer

成功时返回1,发生错误时返回-1

如果参数environmentinfo的值为NULL,函数返回NULL

11.7 GetFocus 函数

确定当前焦点位于哪个控件上

语法

GetFocus ( )

参数

返回值

GraphicObject

成功时返回当前得到焦点控件的引用,发生错误时返回无效引用

11.8 Post 函数

将指定消息加入到某个窗口的消息队列中,这个窗口既可以是PowerBuilder应用的窗口,也可以是其它应用的窗口

语法

Post( handle, messageno, word, long )

参数

handle–>long类型,指定窗口的系统句柄,将向该窗口邮寄消息
messageno–>UnsignedInteger类型,指定要邮寄的消息号
word–>long类型,指定与消息一起邮寄的word类参数值。如果messageno参数指定的消息不使用该参数,那么将这个参数的值设置为0
long–>long类型或string,指定与消息一起邮寄的long型参数值或字符串

返回值

Boolean

如果任何参数的值为NULL,函数返回NULL

11.9 Restart 函数

停止所有程序段的执行、关闭所有窗口、提交事务、断开与数据库的连接,然后重新启动应用程序

语法

Restart()

参数

返回值

Integer

成功时返回1,发生错误时返回-1

11.10 Run 函数

运行指定的应用程序

语法

Run ( string {, windowstate } )

参数

string–>string类型,指定要运行的应用程序的名称,其中可以包括路径以及相应的参数,就像在命令行中键入的那样

windowstate–>WindowState枚举类型,可选项,指定程序运行时的窗口状态

         Maximized! - 最大化窗口

          Minimized! - 最小化窗口

          Normal! - 缺省值,正常窗口

返回值

Integer

成功时返回1,发生错误时返回-1

如果任何参数的值为NULL,返回NULL

使用说明

用Run()函数,应用程序能够启动操作系统中的任何程序。

当在Run()参数中指定了要启动应用程序的参数时,参数的意义、格式、个数等由具体的应用程序确定。

如果在Run()函数的string参数中指定了文件名但没有给出扩展名时,PowerBuilder认为该文件的扩展名为.EXE。

要运行扩展名不是.EXE的应用程序(比如.BAT, .COM, 或.PIF),必须在Run()函数的参数中指定文件的扩展名

11.11 Send 函数

向窗口发送指定的消息并立即执行相应的事件处理程序

语法

Send( handle, messageno, word, long )

参数

handle:long类型,指定窗口的系统句柄,将向该窗口发送消息
messageno:UnsignedInteger类型,指定要发送的消息号
word:long类型,指定与消息一起发送的word类参数值。如果messageno参数指定的消息不使用该参数,那么将这个参数的值设置为0
long:long类型或string,指定与消息一起发送的long型参数值或字符串

返回值

Long

成功时返回Windows系统调用SendMessage()的返回值,发生错误时返回-1

如果任何参数的值为NULL,函数返回NULL

使用说明

Send()函数用于向窗口发送非PB预定义事件的消息,这个窗口可以是PB应用的窗口,也可以是其它应用的窗口

Send()函数直接触发指定窗口相应的事件,执行事件处理程序后返回到调用应用中,这一点与Post()函数不

同,Post()函数把发送的消息放置在指定窗口消息队列的尾部,然后返回到应用程序中,它并不等待相应事件事件处理程序的执行。

因此,我们说Post()函数采用的是异步方式,Send()函数采用的是同步方式。

Send()函数的参数handle指定接收消息的窗口句柄,对PowerBuilder窗口来说,使用Handle()函数可以得到该句柄。

对其它应用程序的窗口来说,可以调用系统API函数查找窗口并得到相应窗口的句柄。

实际上,Send()函数把它的各个参数直接传送给Windows的系统调用SendMessage()。

在各种C++开发工具的WINDOWS.H文件中可以查到各消息编号。

如果应用程序要发送PowerBuilder定义事件(包括预定义事件和用户定义事件),那么使用TriggerEvent()函数既简单有方便。

当应用程序在long参数位置指定一个字符串时,Send()函数复制一个该字符串的副本,然后将副本的地址传送给指定窗口

11.12 ShowHelp 函数

显示应用程序帮助,该帮助使用Microsoft Windows帮助系统进行操作

语法

ShowHelp ( helpfile, helpcommand {, typeid } )

参数

helpfile–>string类型,指定帮助文件的名称
helpcommand–>HelpCommand枚举类型,指定显示帮助的格式
typeid参数
       Keyword! - 转移到由指定关键字确定的主题
        Topic! - 显示指定主题的帮助
        typeid:可选项,指定帮助主题

返回值

Integer

成功时返回1,发生错误时返回-1。

如果任何参数的值为NULL,函数返回NULL

11.13 SignalError 函数

触发应用对象的SystemError事件,通常用于代码调试

语法

SignalError ( { number }, { text } )

参数

number–>integer类型,可选项,其值将保存到Error对象的number属性中
text–>string类型,可选项,其值将保存到Error对象的text属性中

返回值

Integer

成功时返回1,发生错误时返回-1

 您阅读本篇文章共花了: 

免责声明
本站内容均为博客主本人日常使用记录的存档,如侵犯你的权益请联系:lifei@zaiheze.com 546262132@qq.com 沟通删除事宜。本站仅带访问端口形式使用,已杜绝搜索引擎爬取。

扫描二维码推送至手机访问。

版权声明:本文由LIFEI - blog发布,如需转载请注明出处。

本文链接:http://www.lifeiai.com/?id=433

分享给朋友:

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。