当前位置: 代码迷 >> PB >> PB函数大全(四)
  详细解决方案

PB函数大全(四)

热度:8   发布时间:2016-04-29 08:08:42.0
PB函数大全(4)

ExecRemote()
功能请求DDE服务器应用程序执行命令。该函数有两种语法格式:

语法一、直接向DDE服务器应用发送一条命令(冷连接方式);

语法二、应用程序打开某个通道后向DDE服务器应用发送命令(热连接方式)。

下面分别予以介绍。
语法一、直接向DDE服务器应用发送一条命令(冷连接方式);
语法ExecRemote ( command, applname, topicname )
参数command:string类型,其值为希望DDE服务器应用执行的命令,命令格式和语法需要参看DDE服务器应用的文档applname:string类型,指定服务器应用的DDE名称topicname:string类型,指定命令中要使用的DDE应用的数据或实例返回值Integer。函数执行成功时返回1,发生错误时返回下述值之一:-1未启动连接-2请求被拒绝-3不能终止服务器如果任何参数的值为NULL,ExecRemote()函数返回NULL。
语法二、应用程序打开某个通道后向DDE服务器应用发送命令(热连接方式)
语法ExecRemote ( command, handle {, windowhandle } )
参数command:string类型,其值为希望DDE服务器应用执行的命令,命令格式和语法需要参看DDE服务器应用的文档handle:long类型,指定使用的DDE通道句柄windowhandle:long类型,可选项,指明用做DDE客户的PowerBuilder窗口的窗口句柄。省略该参数时,当前应用中的活动窗口用做DDE客户返回值Integer。函数执行成功时返回1,发生错误时返回下述值之一:-1未启动连接-2请求被拒绝-9handle参数的值为NULL
GetDataDDE()
功能从热连接服务器应用中获取数据,并将其保存到指定的字符串变量中
语法GetDataDDE ( string )
参数string:string类型变量,用于保存接收到的数据返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,GetDataDDE()函数返回NULL。
GetDataDDEOrigin()
功能确定来自热连接DDE服务器应用的数据源,成功时将应用的DDE标识保存在参数指定的变量中
语法GetDataDDEOrigin ( applstring, topicstring, itemstring )
参数applstring:string类型变量,用于保存服务器应用的名称topicstring:string类型变量,用于保存主题(比如,在Excel中,主题可以是REGION.XLS)itemstring:string类型变量,用于保存数据项标识(比如,在Excel中,数据项标识可以是R1C2)返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,GetDataDDEOrigin()函数返回NULL。
GetRemote()
功能请求服务器应用传送数据,该函数有两种格式:

语法一、请求DDE服务器应用提供数据并将数据保存在变量中,该格式不要求事先打开通道,适用于仅发出少数几个请求的情况;

语法二、请求DDE服务器应用提供数据并将数据保存在变量中,该格式适用于热连接的情况,即应用程序已经与服务器建立通道。

下面分别予以介绍。
语法一、请求DDE服务器应用提供数据并将数据保存在变量中,该格式不要求事先打开通道,适用于仅发出少数几个请求的情况。
语法GetRemote ( location, target, applname, topicname )
参数location:string类型,指明要从DDE服务器的哪个位置返回数据。位置的表达方式由具体的DDE服务器决定target:string类型变量,用于保存返回的数据applname:string类型,指定DDE服务器应用的DDE名称topicname:string类型,指定命令中要使用的DDE应用的数据或实例返回值Integer。函数执行成功时返回1,发生错误时返回下述值之一:-1未启动连接-2请求被拒绝如果任何参数的值为NULL,GetRemote()函数返回NULL。
语法二、请求DDE服务器应用提供数据并将数据保存在变量中,该格式适用于热连接的情况,即应用程序已经与服务器建立通道。语法GetRemote ( location, target, handle {, windowhandle } )参数location:string类型,指明要从DDE服务器的哪个位置返回数据。位置的表达方式由具体的DDE服务器决定target:string类型变量,用于保存返回的数据handle:long类型,指定使用的DDE通道句柄 windowhandle:long类型,可选项,指明用做DDE客户的PowerBuilder窗口的窗口句柄。省略该参数时,当前应用中的活动窗口用做DDE客户。使用handle()函数可以得到窗口句柄。返回值Integer。函数执行成功时返回1,发生错误时返回下述值之一:-1未启动连接-2请求被拒绝-9Handle参数的值为NULL
OpenChannel()
功能打开连接DDE服务器的通道
语法OpenChannel ( applname, topicname {, windowhandle } )applname:string类型,指定DDE服务器应用的DDE名称topicname:string类型,指定命令中要使用的DDE应用的数据或实例windowhandle:long类型,可选项,指明用做DDE客户的PowerBuilder窗口的窗口句柄。省略该参数时,当前应用中的活动窗口用做DDE客户返回值Long。函数执行成功时返回一个正数作为已打开通道的句柄,发生错误时返回下述值之一:-1打开失败-9句柄为NULL
RespondRemote()
功能发送一条DDE消息,指示是否接受来自远程DDE应用的命令或数据
语法RespondRemote ( boolean )
参数boolean:其值为boolean量的逻辑表达式,TRUE表示接收先前收到的命令或数据,FALSE表示不接收先前收到的命令或数据返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果boolean参数的值为NULL,RespondRemote()函数返回NULL。
SetRemote()
功能请求服务器应用把指定项设置为指定值。该函数有两种语法格式:

语法一、请求DDE服务器应用接收保存在指定位置的数据,该格式不要求事先打开通道,适用于仅发出少数几个请求的情况;

语法二、请求DDE服务器应用接收保存在指定位置的数据,该格式适用于热连接的情况,即应用程序已经与服务器建立通道。

下面分别予以介绍。
语法一、请求DDE服务器应用接收保存在指定位置的数据,该格式不要求事先打开通道,适用于仅发出少数几个请求的情况。
语法SetRemote ( location, value, applname, topicname )
参数location:string类型,指明要DDE服务器的哪一部分接收数据。位置的表达方式由具体的DDE服务器决定value:string类型变量,指定发送给DDE服务器的数据applname:string类型,指定DDE服务器应用的DDE名称topicname:string类型,指定要接收数据的DDE应用的数据或实例返回值Integer。函数执行成功时返回1,发生错误时返回下述值之一:-1未启动连接-2请求被拒绝如果任何参数的值为NULL,SetRemote()函数返回NULL。
语法二、请求DDE服务器应用接收保存在指定位置的数据,该格式适用于热连接的情况,即应用程序已经与服务器建立通道。
语法SetRemote ( location, value, handle {, windowhandle } )
参数location:string类型,指明要DDE服务器的哪一部分接收数据。位置的表达方式由具体的DDE服务器决定value:string类型变量,指定发送给DDE服务器的数据handle:long类型,指定使用的DDE通道句柄windowhandle:long类型,可选项,指明用做DDE客户的PowerBuilder窗口的窗口句柄。省略该参数时,当前应用中的活动窗口用做DDE客户返回值Integer。函数执行成功时返回1,发生错误时返回下述值之一:-1未启动连接-2请求被拒绝-9Handle参数的值为NULL
StartHotLink()
功能建立与DDE服务器应用的热连接,热连接建立之后,DDE服务器端相关数据的变化会立即触发PowerBuilder应用相关窗口的HotLinkAlarm事件
语法StartHotLink ( location, applname, topic )
参数location:string类型,指明DDE服务器哪一部分数据变化时触发窗口的HotLinkAlarm事件。位置的表达方式由具体的DDE服务器决定applname:string类型,指定DDE服务器应用的DDE名称topicname:string类型,指定数据改变将触发窗口的HotLinkAlarm事件的DDE应用的数据或实例返回值Integer。函数执行成功时返回1,发生错误时返回下述值之一:-1无指定服务器-2请求被拒绝如果任何参数的值为NULL,StartHotLink()函数返回NULL。
StopHotLink()
功能关闭与DDE服务器应用的热连接
语法StopHotLink ( location, applname, topic )
参数location:string类型,指明要终止DDE服务器哪一部分的热连接。位置的表达方式由具体的DDE服务器决定applname:string类型,指定DDE服务器应用的DDE名称topicname:string类型,指定要终止热连接的DDE应用的数据或实例返回值Integer。函数执行成功时返回1,发生错误时返回下述值之一:-1连接未曾启动-2请求被拒绝-3不能终止服务器如果任何参数的值为NULL,StopHotLink()函数返回NULL。 
CPU()
功能得到自当前应用程序启动后开始CPU所消耗的时间,以毫秒为单位
语法CPU()
返回值Long。返回自当前应用程序启动后开始CPU所消耗的时间,以毫秒为单位。
Idle()
功能该函数在用户每次活动(例如,按键盘、移动鼠标等)后重置定时器,n秒后触发应用对象的Idle事件
语法Idle ( n )
参数n:指定空闲时间间隔,以秒为单位。该参数的值设置为0时,停止空闲检测,不再触发应用对象的Idle事件返回值Integer。函数执行成功时返回1,此时启动定时器。如果不能启动定时器或定时器未启动而n的值指定为0时,函数返回-1。如果任何参数的值为NULL,Idle()函数返回NULL。用法利用Idle()函数,应用程序可以构造自己的屏幕保护程序,避免安全数据的泄露。当使用Idle()函数已经启动了定时器后,如果再次以非0参数调用Idle()函数,那么该函数重设时间间隔,但并不启动新的定时器。Idle()函数启动定时器后,如果在指定的时间间隔(从用户最近一次操作算起)内没有操作应用程序,那么就触发应用对象的Idle事件,在这个事件中可以编写关闭窗口、退出数据库登录等一系列代码,然后使用Restart()函数重新启动应用程序,起到保密的目的。发生下述任何情况时,系统自动重置定时器(即重新开始计时):n 用户在该应用程序的任何窗口内移动鼠标或单击鼠标(双击鼠标时首先触发单击事件)n 在该应用程序的某个窗口是当前窗口时用户按下了任意一个或多个键n 在该应用程序的窗口最小化时,用户在该应用的图标上单击鼠标或移动鼠标n 在该应用程序的窗口最小化并且该应用程序是当前应用程序(应用名称被加亮显示)时,用户按了任何按键n 可视数据窗口检索数据时引起的编辑控件(指漂浮在数据窗口当前行/列上的编辑控件)重绘操作
Timer()
功能 在指定的时间间隔内反复触发指定窗口的定时器事件
语法Timer ( interval {, windowname } )
参数interval:指定两次触发Timer事件之间的时间间隔,有效值在0到65之间。如果该参数的值指定为0,那么关闭定时器,不再触发指定窗口的Timer事件windowname:窗口名,指定时间间隔到时要触发哪个窗口的Timer事件。省略该参数时,触发当前窗口的Timer事件返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,Timer()函数返回NULL。用法使用Timer()函数可以周期性地触发指定窗口的Timer事件,这样,每当时间间隔过去时,应用程序都可以完成一些周期性的工作,比如绘制简单动画等。将Timer()的interval参数设置为非0值时启动定时器并开始计时;将该函数的interval参数设置为0时关闭定时器,终止计时任务。需要注意的是,在Microsoft Windows系统中,该函数能够计时的最小时间间隔为0.055秒(约1/18秒),如果把interval参数的值设置小于0.055,那么该定时器将每隔0.055秒触发一次窗口的Timer事件。Microsoft Windows 3.x最多只支持系统中同时启动16个定时器。
Day()
功能得到日期型数据中的号数(1到31之间的整数值)。
语法Day ( date )
参数date:要得到号数的日期值返回值 Integer。函数执行成功时返回号数(1到31之间的整数值)。如果date参数的值为NULL,则Day()函数返回NULL。
DayName()
功能得到指定日期是一周中的星期几(例如,Sunday, Monday...)。
语法DayName ( date )
参数date:date类型值或变量返回值String。函数执行成功时返回指定日期的星期表示(例如,Sunday, Monday...)。如果date参数的值为NULL,则DayName()函数返回NULL。
DayNumber()
功能得到日期型数据是一星期中的第几天(用1到7之间的整数表示,星期天为1,星期一为2,...)。
语法DayNumber ( date )
参数date:date类型值或变量返回值Integer。函数执行成功时返回指定日期是一星期中的第几天(用1~7表示,星期天为1,星期一为2,...)。如果date参数的值为NULL,则DayNumber()函数返回NULL。
DaysAfter()
功能得到两个日期间的天数
语法DaysAfter ( date1, date2 )
参数date1:date类型,指定起始日期date2:date类型,指定终止日期返回值Long。函数执行成功时得到两个日期之间的天数。如果date2的日期在date1的前面,那么DaysAfter()函数返回负值。如果任何参数的值为NULL,则DaysAfter()函数返回NULL。
Hour()
功能得到时间值中的小时,采用24小时制
语法Hour ( time )
参数time:time类型的值返回值Integer。函数执行成功时得到time参数中的小时(00到23之间)。如果time参数的值为NULL,则Hour()函数返回NULL。
Minute()
功能得到时间值中的分钟,有效值在00~59之间
语法Minute ( time )
参数time:time类型的值返回值Integer。函数执行成功时得到time参数中的分钟(00到59之间)。如果time参数的值为NULL,则Minute()函数返回NULL。
Month()
功能得到日期值中的月份,有效值在1~12之间
语法Month ( date )
参数date:date类型的值返回值Integer。函数执行成功时得到date参数中的月份(1到12之间)。如果date参数的值为NULL,则Month()函数返回NULL。
Now()
功能得到客户机的当前系统时间,返回值为Time类型
语法Now()返回值Time。该函数返回客户机的当前系统时间。
RelativeDate()
功能得到指定日期前多少天或后多少天的日期
语法RelativeDate(date,n)
参数date:Date类型,指定基准日期n:integer类型,指定天数返回值Date。当n的值大于0时返回参数date指定日期后第n天的日期;当n的值小于0时返回参数date指定日期前第n天的日期。如果任何参数的值为NULL,则RelativeDate()函数返回NULL。
RelativeTime()
功能得到指定时间前多少秒或后多少秒的时间,采用24小时制
语法RelativeTime ( time, n )参数time:time类型,指定基准时间n:long类型,指定秒数返回值Time。当n的值大于0时返回参数time指定时间后第n秒的时间;当n的值小于0时返回参数time指定时间前第n秒的时间。如果任何参数的值为NULL,则RelativeTime()函数返回NULL。
Second()
功能得到时间值中的秒,有效值在00~59之间
语法Second ( time )
参数time:time类型的值返回值Integer。函数执行成功时得到time参数中的秒(00到59之间)。如果time参数的值为NULL,则Second()函数返回NULL。
Today()
功能得到当前系统日期,在某些情况下,同时得到当前系统时间
语法Today()返回值Date。该函数返回当前系统日期。用法单独调用Today()函数时,该函数总是返回当前系统日期,但是,虽然Today()函数的返回值类型为Date,在该函数用做某些函数的参数、而该参数要求DateTime类型的值时,Today()函数也能够在返回当前系统日期的同时返回当前系统时间。再如,Today()函数作为数据窗口控件SetItem()函数的参数,该函数参数中指定的数据窗口列的数据类型为DateTime,那么当前系统日期和时间将同时设置到数据窗口指定项中。
Year()
功能得到日期值中的年度(有效取值1000到3000)。
语法Year(date)
参数date:date类型的值返回值Integer。函数执行成功时得到date参数中的年份(采用四位数字),发生错误时返回1900,如果date参数的值为NULL,则Year()函数返回NULL。用法当应用程序把有两位数字表示年份的字符串转换成日期时,PowerBuilder根据下述规则选择世纪:如果年份值在00到49之间,PowerBuilder将年份中的世纪(前两位数字)当作20;如果年份值在50到99之间,PowerBuilder将年份中的世纪(前两位数字)当作19。比如,字符串"20-10-25"被PowerBuilder转换为2020-10-25;字符串"98-10-25"被PowerBuilder转换为1998-10-25。因此,如果应用程序中需要指定1950年之前的日期,应该使用四位数字表示年份,以避免引起歧义。PowerBuilder能够处理的年份从1000到3000之间。 
FileClose()
功能关闭先前用FileOpen()函数打开的文件
语法FileClose ( fileno )
参数fileno:integer,指定要关闭文件的文件句柄,该句柄使用FileOpen()函数打开文件时得到返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果fileno参数的值为NULL,那么FileClose()函数返回NULL。
FileDelete()
功能删除指定的文件
语法FileDelete ( filename )
参数filename:string类型,指定要删除文件的文件名,其中可以包含路径返回值Boolean。函数执行成功时返回TRUE,发生错误时返回FALSE。如果filename参数的值为NULL,那么FileDelete()函数返回NULL。
FileExists()
功能检查指定的文件是否存在
语法FileExists ( filename )
参数filename:string类型,指定要检查存在性的文件的文件名,其中可以包含路径返回值Boolean。如果指定文件存在时返回TRUE,不存在时返回FALSE。如果filename参数的值为NULL,那么FileExists()函数返回NULL。用法如果filename参数指定的文件被另一个应用加锁锁住,那么FileExists()函数也将返回FALSE。
FileLength()
功能得到指定文件的长度(以字节为单位)。
语法FileLength ( filename )
参数filename:string类型,指定要得到其长度的文件的文件名,其中可以包含路径返回值Long。函数执行成功时返回指定文件的长度(以字节为单位)。如果指定的文件不存在,函数返回-1。如果filename参数的值为NULL,那么FileLength()函数返回NULL。
FileOpen()
功能以指定的读写方式打开指定的文件,同时返回该文件的句柄
语法FileOpen(filename{,filemode{,fileaccess{,filelock{,writemode,{creator,filetype}}}}})
参数filename:string类型,指定要打开文件的名称,其中可以包含路径 filemode:FileMode枚举类型,可选项,指定文件打开方式。有效取值为:?LineMode! - 缺省值,行模式;?StreamMode! - 流模式fileaccess:FileAccess枚举类型,可选项,指定文件访问方式。有效取值为:?Read! - 缺省值,只读方式,这样打开的文件只能进行读操作;?Write! - 只写方式,这样打开的文件只能进行写操作?filelock:FileLock枚举类型,可选项,指定文件加锁方式。有效取值为:n LockReadWrite! - 缺省值,只有打开该文件的用户能够访问该文件,其它用 户对该文件的访问均被拒绝;n LockRead! - 只有打开该文件的用户能够读该文件,但其它任何用户均可写该文件;n LockWrite! - 只有打开该文件的用户能够写该文件,但其它任何用户均可读该文件;n Shared! - 所有用户均可读写该文件writemode:WriteMode枚举类型,可选项,当fileaccess参数指定为Write!时,该参数指定在指定文件已经存在时数据的添加方式。有效取值为:?Append! - 缺省值,将数据添加到原文件尾部;?Replace! - 覆盖原有数据creator:可选项,用于Macintosh机,使用四个字符的字符串指定文件的创建者。指定该参数后,必须同时指定filetype参数filetype:可选项,用于Macintosh机,使用四个字符的字符串指定文件类型返回值Integer。函数执行成功时返回打开文件的句柄,随后的文件操作函数利用该句柄完成对文件的操作。发生错误时函数返回-1。如果任何参数的值为NULL,那么FileOpen()函数返回NULL。用法当文件以行模式打开时,每执行一次FileRead()函数读取一行数据;每执行一次FileWrite()函数,该函数自动在写出的字符串末尾增加一个回车(CR)换行(LF)符(这是应用程序在Windows 系统中运行时的情况,在UNIX下只加一个换行字符)。当文件以流模式打开时,执行一次FileRead()函数读取32,765个字节的数据,如果余下数据没有这么多,那么FileRead()函数就读取所有余下的数据;执行一次FileWrite()函数时,最多可写入32,765个字节的数据,并且不添加回车换行字符。当文件以写方式使用FileOpen()函数打开时,如果指定的文件不存在,那么FileOpen()函数创建该文件。
FileRead()
功能从指定文件中读取数据
语法FileRead ( fileno, variable )
参数fileno:integer类型,指定文件句柄(由FileOpen()函数得到)variable:string或blob类型的变量,用于保存读取的数据返回值Integer。函数执行成功时返回读取的字符数或字节数;如果在读取任何字符前读到了文件结束符(EOF),则FileRead()函数返回-100;当指定文件以行模式打开时,如果在读取任何字符之前遇到了回车(CR)或换行(LF)字符,则FileRead()函数返回0。如果发生其它错误,FileRead()函数返回-1。如果任何参数的值为NULL,那么FileRead()函数返回NULL。用法当指定文件以行模式(Line Mode)打开时,FileRead()函数一次读取一行数据,并把它保存到参数variable中,然后跳过行结束符(回车换行符,操作系统不同,使用的字符也不同),把文件指针移动到下一行的起始位置。当文件以流模式(Stream Mode)打开时,FileRead()函数或一直读取到文件结尾,或读取32,765字节的数据,决定于两者哪个数据长度更短些。
FileSeek()
功能将文件指针移动到指定位置。读写文件时相应函数会自动移动文件指针
语法FileSeek ( fileno, position, origin )
参数fileno:integer类型,指定文件句柄(由FileOpen()函数得到)position:long类型,指定相对于origin参数指定位置的新位置偏移量,以字节为单位origin:SeekType枚举类型,指定从哪里开始移动文件指针,即指针移动的基准。有效取值为:?FromBeginning! - 缺省值,从文件开头移动指针;?FromCurrent! - 从当前位置移动文件指针;?FromEnd! - 从文件结尾处移动文件指针返回值Long。函数执行成功时返回指针移动后的指针位置。如果任何参数的值为NULL,那么FileSeek()函数返回NULL。

  相关解决方案