社区
PowerBuilder
帖子详情
怎样将一个pbl中的窗口、多个函数等复制
aomimao
2006-02-17 06:10:03
怎样将一个pbl中的窗口、多个函数等复制到另一个pbl中,甚至是另一个API中!!本人是初学pb
...全文
79
4
打赏
收藏
怎样将一个pbl中的窗口、多个函数等复制
怎样将一个pbl中的窗口、多个函数等复制到另一个pbl中,甚至是另一个API中!!本人是初学pb
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xyqiqi
2006-02-18
打赏
举报
回复
那一个个导太慢了。你可以选择LIBRARY 然后找到源PBL,点击后,在右边可以看到当前PBL中所有的函数、窗口等,选择后点击复制,选择目标PBL即可
xwrj
2006-02-18
打赏
举报
回复
select all ctrl+c
bbdx2523
2006-02-17
打赏
举报
回复
导到API中我试过,想想应该是不可以的,
问题解决了,请立刻结贴,这样回复你的人也多
bbdx2523
2006-02-17
打赏
举报
回复
把对象打开,再另存为,选择PBL,或者在tree或library中选中对象右击,export出来,再在另一个pbl中,右键import刚才export出来的文件.
pbl
源码查找工具、可以查找重复对象
可以从
多个
pbl
文件
中
查找内容,可以选择只从
窗口
、数据
窗口
、菜单、
函数
、用户对象等类别
中
单独查找,也可以查找重复对象。操作方法:载入
pbl
的列表,查找即可。
pbl
的列表就是
pbl
文件的位置列表,可以直接从pb项目的应用程序所包含的
pbl
列表。
pbl
代码、对象查找及对象查重工具(pb9、pb10、pb11、pb12可用)
新版本代码查找工具。可以从
多个
pbl
文件
中
查找内容,可以选择只从
窗口
、数据
窗口
、菜单、
函数
、用户对象等类别
中
单独查找,也可以查找重复对象。操作方法:载入
pbl
的列表,查找即可。
pbl
的列表就是
pbl
文件的位置列表,可以直接从pb项目的应用程序所包含的
pbl
列表
PB数据
窗口
通用查询代码
通用查询,支持多表关联、带参数 只需要传递
一个
参数datawindow,剩下的一切交给这个
函数
去完成,看看她功能的强大吧 使用此功能调用方法: gf_set_query(datawindow add_dw) ad_dw : 被查询数据窗 query.
pbl
: 可带参数查询,必须在被查询数据窗上定义
一个
事件 ue_retrieve, 来执行 retrieve
函数
(带参数或不带参数) 本功能使用sqlca事务对象两次 规则 : 被查询列必须是可视的,并且该数据窗必须有
一个
以 '列名_t' 命名的text控件 对象 : dw_jzh_query : 查询数据窗 gf_add_where : 为数据窗添加 where 语句 gf_set_query : 查询
函数
w_jzh_query : 查询
窗口
如果你想保存上次的查询条件,可以传递
一个
窗口
,你可以自己来做,也可以找我帮忙. //版本.2.1 //jzh(jzhaohua@263.net) 2002/05/04 04:02
powerbuilder
PrintDefineFont() 功能定义打印作业使用的字体,对每个打印作业PowerBuilder支持八种字体。 语法PrintDefineFont(printjobnumber,fontnumber,facename,height,weight,fontpitch,fontfamily, italic,underline) 参数printjobnumber:用PrintOpen()
函数
打开的打印作业号fontnumber:指定赋给当前定义字体的编号,有效值在1到8之间 facename:string类型,指定字体名称,该字体应该是你的打印机支持的字体,比如“宋体”height:Integer类型,使用正值指定字体的高度,以千分之一英寸为单位;使用负值指定字体点数,比如,-18代表18点。一般来说,使用点数更精确些weight:指定字体的磅数,正常字体为400磅,粗体为700磅fontpitch:FontPitch枚举类型,指定字体标准。有效取值为:Default! - 缺省值;Fixed! - 固定形式;Variable! - 可变形式fontfamily:FontFamily枚举类型,指定字体系列。有效取值为:AnyFont!、Decorative!、Modern!、Roman!、Script!、Swiss!italic:boolean类型,指定是否使用斜体样式。有效取值为:TRUE - 使用斜体样式;FALSE - 不使用斜体样式。缺省值为FALSEunderline:boolean类型,指定是否加下划线。有效取值为:TRUE - 加下划线;FALSE - 不加下划线。缺省值为FALSE返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintDefineFont()
函数
返回NULL。用法在
一个
打印作业
中
,应用程序能够最多同时定义8种字体。当应用程序需要使用更多的字体时,可以在使用了某个字体号输出内容后使用PrintDefineFont()
函数
将该字体号对应的字体更换为其它字体。 -------------------------------------------------------------------------------- PrintLine() 功能在当前打印页上绘出指定厚度的一条线。 语法PrintLine ( printjobnumber, x1, y1, x2, y2, thickness ) 参数printjobnumber:用PrintOpen()
函数
打开的打印作业号x1:integer类型,指定直线起点的x坐标,以千分之一英寸为单位y1:integer类型,指定直线起点的y坐标,以千分之一英寸为单位x2:integer类型,指定直线终点的x坐标,以千分之一英寸为单位y2:integer类型,指定直线终点的y坐标,以千分之一英寸为单位thickness:integer类型,指定直线的厚度,以千分之一英寸为单位返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintLine()
函数
返回NULL。用法应用程序执行了PrintLine()
函数
后,该
函数
并不改变打印光标的位置。 -------------------------------------------------------------------------------- PrintOpen() 功能启动打印作业并返回作业号。 语法PrintOpen ( { jobname } ) 参数jobname:string类型,可选项,指定要打开打印作业的名称,该名称将显示在打印管理器
窗口
中
返回值Long。
函数
执行成功时返回打印作业号,发生错误时返回-1。如果任何参数的值为NULL,PrintOpen()
函数
返回NULL。用法应用程序执行PrintOpen()
函数
后,启动新的打印作业并走纸到下一页,同时将打印机缺省字体设置为该打印作业的字体。打印光标的位置位于打印区的左上角。其它同组的打印
函数
使用PrintOpen()
函数
返回的作业号来标识作业。需要注意的是,使用PrintOpen()
函数
打开打印作业、使用同组的其它
函数
完成打印任务后,必须使用PrintClose()关闭打印作业,或根据需要使用PrintCancel()
函数
取消打印作业。 -------------------------------------------------------------------------------- PrintOval() 功能在指定位置以指定线宽绘制椭圆或圆。 语法PrintOval ( printjobnumber, x, y, width, height, thickness ) 参数printjobnumber:用PrintOpen()
函数
打开的打印作业号x:integer类型,指定椭圆或圆外形框左上角的x坐标,以千分之一英寸为单位y:integer类型,指定椭圆或圆外形框左上角的y坐标,以千分之一英寸为单位width:integer类型,指定椭圆或圆外形框的宽度,以千分之一英寸为单位height:integer类型,指定椭圆或圆外形框的高度,以千分之一英寸为单位thickness:integer类型,指定椭圆或圆外边线的厚度,以千分之一英寸为单位返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintOval()
函数
返回NULL。用法应用程序执行了PrintOval()
函数
后,该
函数
并不改变打印光标的位置。PrintOval()
函数
绘出的椭圆或圆是实心的,也就是说,执行该
函数
后,椭圆或圆下面的文字或图像将完全被覆盖。如果想在椭圆或圆
中
输出文字或图形,那么应用程序应该首先绘制椭圆或圆,然后使用其它
函数
在椭圆或圆
中
输出文字或图形。 -------------------------------------------------------------------------------- PrintPage() 功能将当前页发送给打印机或打印池并在当前打印作业
中
启动
一个
新的打印页。 语法PrintPage ( printjobnumber ) 参数printjobnumber:用PrintOpen()
函数
打开的打印作业号返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintPage()
函数
返回NULL。 -------------------------------------------------------------------------------- PrintRect() 功能在指定位置以指定线宽打印矩形。 语法PrintRect ( printjobnumber, x, y, width, height, thickness ) 参数printjobnumber:用PrintOpen()
函数
打开的打印作业号x:integer类型,指定矩形左上角的x坐标,以千分之一英寸为单位y:integer类型,指定矩形左上角的y坐标,以千分之一英寸为单位width:integer类型,指定矩形的宽度,以千分之一英寸为单位height:integer类型,指定矩形的高度,以千分之一英寸为单位thickness:integer类型,指定矩形边线的厚度,以千分之一英寸为单位返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintRect()
函数
返回NULL。用法应用程序执行了PrintRect()
函数
后,该
函数
并不改变打印光标的位置。PrintRect()
函数
绘出实心的矩形,也就是说,执行该
函数
后,矩形下面的文字或图像将完全被覆盖。如果想在矩形
中
输出文字或图形,那么应用程序应该首先绘制矩形,然后使用其它
函数
在矩形
中
输出文字或图形。 -------------------------------------------------------------------------------- PrintRoundRect() 功能在指定位置以指定线宽打印圆角矩形。 语法PrintRoundRect(printjobnumber,x,y,width,height,xradius,yradius,thickness) 参数printjobnumber:用PrintOpen()
函数
打开的打印作业号x:integer类型,指定圆角矩形左上角的x坐标,以千分之一英寸为单位y:integer类型,指定圆角矩形左上角的y坐标,以千分之一英寸为单位width:integer类型,指定圆角矩形的宽度,以千分之一英寸为单位height:integer类型,指定圆角矩形的高度,以千分之一英寸为单位xradius:integer类型,指定圆角矩形圆角部分的x半径,以千分之一英寸为单位yradius:integer类型,指定圆角矩形圆角部分的y半径,以千分之一英寸为单位thickness:integer类型,指定圆角矩形边线的厚度,以千分之一英寸为单位返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintRoundRect()
函数
返回NULL。用法应用程序执行了PrintRoundRect()
函数
后,该
函数
并不改变打印光标的位置。PrintRoundRect()
函数
绘出实心的圆角矩形,也就是说,执行该
函数
后,圆角矩形下面的文字或图像将完全被覆盖。如果想在圆角矩形
中
输出文字或图形,那么应用程序应该首先绘制圆角矩形,然后使用其它
函数
在圆角矩形
中
输出文字或图形。 -------------------------------------------------------------------------------- PrintScreen() 功能在打印作业
中
打印屏幕图像。 语法PrintScreen ( printjobnumber, x, y {, width, height } ) 参数printjobnumber:用PrintOpen()
函数
打开的打印作业号x:integer类型,指定要打印屏幕图像左上角在打印页上的x坐标,以千分之一英寸为单位y:integer类型,指定要打印屏幕图像左上角在打印页上的y坐标,以千分之一英寸为单位width:integer类型,可选项,指定屏幕图像的打印宽度,以千分之一英寸为单位。如果省略了该参数,那么PowerBuilder按屏幕的原始宽度打印屏幕图像。如果指定了该参数,必须同时指定height参数height:integer类型,可选项,指定屏幕图像的打印高度,以千分之一英寸为单位。如果省略了该参数,那么PowerBuilder按屏幕的原始高度打印屏幕图像返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintScreen()
函数
返回NULL。 -------------------------------------------------------------------------------- PrintSend() 功能直接向打印机发送任意字符串,通常用于发送打印机的控制代码。 语法PrintSend ( printjobnumber, string {, zerochar } ) 参数printjobnumber:用PrintOpen()
函数
打开的打印作业号string:string类型,指定发送到打印机的字符串。在该字符串
中
,使用非打印字符的ASCII码值表示非打印字符zerochar:integer类型,可选项,指定在string参数
中
用于表示数值0的ASCII码值。有效取值在1到255之间返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintSend()
函数
返回NULL。用法应用程序使用PrintSend()
函数
可以直接向打印机发送控制序列(换码序列),比如,设置打印文字的浓淡、打印页的四周空白等。不同类型的打印机使用不同的控制序列,你需要翻一翻你的打印机手册。由于PowerBuilder使用数值0(即ASCII码为0的字符)结束每个字符串,因此,如果打印控制序列
中
包含了数值0,应用程序需要使用其它字符在参数string
中
替代数值0,并用zerochar参数指明这个替代字符。一般来说,应该选择
一个
打印机控制序列
中
不使用的字符作为0值字符的替代字符。通常情况下,按下述次序组织打印作业:1. 使用PrintOpen()
函数
打开打印作业2. 使用PrintSend()
函数
设置打印机特性,比如打印方向、四周空白等3. 使用PrintDefineFont()和PrintSetFont()
函数
设置该打印作业使用的字体4. 使用该组的其它
函数
打印输出文字或图形5. 执行PrintClose()
函数
关闭打印作业 -------------------------------------------------------------------------------- PrintSetFont() 功能设置当前打印作业使用的字体。 语法PrintSetFont ( printjobnumber, fontnumber ) 参数printjobnumber:用PrintOpen()
函数
打开的打印作业号fontnumber:指定该打印作业使用字体的字体编号,该编号与PrintDefineFont()
函数
中
定义的编号应该对应,字体编号的有效取值在1到8之间,0表示使用打印机的缺省字体返回值Integer。
函数
执行成功时返回当前字体的高度,发生错误时返回-1。如果任何参数的值为NULL,PrintSetFont()
函数
返回NULL。 -------------------------------------------------------------------------------- PrintSetSpacing() 功能设置行间距因子,打印
函数
将使用该因子来决定行间距。 语法PrintSetSpacing ( printjobnumber, spacingfactor ) 参数printjobnumber:用PrintOpen()
函数
打开的打印作业号spacingfactor:指定行间距因子,用字符高度的倍数表示,缺省值为1.2返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintSetSpacing()
函数
返回NULL。用法在PowerBuilder应用程序
中
,行间距与字符的高度成正比,缺省值为字符高度的1.2倍。当Print组
函数
生成新行时,系统自动把打印光标的x坐标位置设置为0,y坐标位置在原有基础上增加当前行距值。使用PrintSetSpacing()
函数
可以改变当前打印作业的行距。 -------------------------------------------------------------------------------- PrintSetup() 功能打开打印机设置对话框。 语法PrintSetup ( ) 返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintSetup()
函数
返回NULL。用法当系统
中
安装了多种打印机时,在Windows 95
中
PrintSetup()
函数
打开如图2-1所示的对话框,单击“Setup”按钮设置打印机各种特性。如果系统
中
只有
一个
打印机,则直接打开该打印机的打印设置对话框。需要注意的是,在Windows95和Windows NT 3.51以后的版本
中
,使用PrintSetup()
函数
设置的打印机设置只对当前应用起作用,并不影响其它应用的打印机设置。对Windows 3.1来说,使用PrintSetup()
函数
设置的打印机设置影响系统
中
的所有应用。 -------------------------------------------------------------------------------- PrintText() 功能在指定位置打印一行文本。 语法PrintText ( printjobnumber, string, x, y {, fontnumber } ) 参数printjobnumber:用PrintOpen()
函数
打开的打印作业号string:string类型,指定要打印的文本x:integer类型,指定文本开始打印位置的x坐标,以千分之一英寸为单位y:integer类型,指定文本开始打印位置的y坐标,以千分之一英寸为单位fontnumber:可选参数,指定打印文本使用的字体号,该编号由PrintDefineFont()
函数
确定。省略该参数时,以打印作业的当前字体打印文本返回值Integer。
函数
执行成功时返回文本打印后打印光标的x位置,即参数x的值加上打印文本的宽度。发生错误时返回-1。如果任何参数的值为NULL,PrintText()
函数
返回NULL。 -------------------------------------------------------------------------------- PrintWidth() 功能确定
一个
字符串在指定打印作业
中
按当前字体所占的宽度,以千分之一英寸为单位。 语法PrintWidth ( printjobnumber, string ) 参数printjobnumber:用PrintOpen()
函数
打开的打印作业号string:string类型,指定要决定其打印宽度的字符串返回值Integer。
函数
执行成功时返回按当前字体计算的字符串打印宽度,以千分之一英寸为单位,发生错误时返回-1。如果任何参数的值为NULL,PrintWidth()
函数
返回NULL。 -------------------------------------------------------------------------------- PrintX() 功能返回打印光标的x坐标位置。 语法PrintX ( printjobnumber ) 参数printjobnumber:用PrintOpen()
函数
打开的打印作业号返回值Integer。
函数
执行成功时返回打印光标的x坐标位置,以千分之一英寸为单位,发生错误时返回-1。如果任何参数的值为NULL,PrintX()
函数
返回NULL。 -------------------------------------------------------------------------------- PrintY() 功能返回打印光标的y坐标位置。 语法PrintY ( printjobnumber ) 参数printjobnumber:用PrintOpen()
函数
打开的打印作业号返回值Integer。
函数
执行成功时返回打印光标的y坐标位置,以千分之一英寸为单位,发生错误时返回-1。如果任何参数的值为NULL,PrintY()
函数
返回NULL。 LibraryCreate() 功能创建
一个
空的PowerBuilder应用库,并可根据需要在创建应用库的同时添加库注解。 语法LibraryCreate ( libraryname{, comments } ) 参数libraryname:string类型,指定要创建应用库的名称,可以带上路径,不带路径时在当前目录下创建应用库comments:string类型,可选项,指定要创建的应用库的注解返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,LibraryCreate()
函数
返回NULL。用法LibraryCreate()
函数
在指定路径下创建
一个
空的PowerBuilder应用库(
PBL
)。如果在指定应用库名称时没有指定文件的扩展名,那么该
函数
自动加上扩展名.
PBL
。 -------------------------------------------------------------------------------- LibraryDelete() 功能删除应用库库文件或应用库
中
的数据
窗口
对象。 语法LibraryDelete ( libraryname{, objectname, objecttype } ) 参数libraryname:string类型,指定库名,可以带上路径,不带路径时在系统搜索路径下查找应用库objectname:string类型,可选项,指定要从库
中
删除的数据
窗口
对象的名称objecttype:LibImportType类型,可选项,指定要删除对象的类型,目前仅支持ImportDataWindow!返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,LibraryDelete()
函数
返回NULL。 用法执行LibraryDelete()
函数
时,如果未指定后两个参数,那么该
函数
删除指定的应用库;如果指定了后两个参数,那么该
函数
删除指定应用库
中
指定的数据
窗口
对象。LibraryDelete()
函数
只能删除应用库
中
的数据
窗口
对象,如果想删除其它对象,那么只能在PowerBuilder开发环境
中
使用库管理画笔(Library Painter)来实现了。 -------------------------------------------------------------------------------- LibraryDirectory() 功能 得到应用库
中
指定对象的信息列表,内容包括对象名称、最近修改日期和时间、以及对象的注释。 语法LibraryDirectory ( libraryname, objecttype ) 参数libraryname:string类型,指定PowerBuilder应用库的名称,如果名称
中
未指定路径,那么该
函数
根据操作系统标准的文件搜索路径查找指定文件objecttype:LibDirType枚举类型,指定希望
函数
列出的对象类型,有效取值请参看用法。返回值String。
函数
执行成功时返回
一个
字符串,每个对象占用一行,行
中
各信息之间使用Tab字符(~t)分隔。行
中
信息格式为:对象名~t修改日期/时间~t注释~n发生错误时
函数
返回空字符串("")。如果任何参数的值为NULL,LibraryDirectory()
函数
返回NULL。 用法LibraryDirectory()
函数
的objecttype参数是个LibDirType枚举类型的量,其有效取值为:DirAll!得到所有对象的信息DirApplication!得到应用对象的信息DirDataWindow!得到所有数据
窗口
对象的信息DirFunction!得到所有
函数
对象的信息DirMenu!得到所有菜单对象的信息DirPipeline!得到所有数据管道对象的信息DirProject!得到工程对象的信息DirQuery!得到所有查询对象的信息DirStructure!得到所有结构对象的信息DirUserObject!得到所有用户对象的信息DirWindow!得到所有
窗口
对象的信息使用LibraryDirectory()
函数
得到指定对象的名称、修改日期/时间以及可能的注释后,应用程序既可以使用Pos()
函数
进行定位和字符串分割,也可以使用数据
窗口
的ImportString()
函数
将结果显示在数据
窗口
中
。 -------------------------------------------------------------------------------- LibraryExport() 功能从指定应用库
中
以对象的语法定义格式卸出对象。 语法LibraryExport ( libraryname, objectname, objecttype ) 参数libraryname:string类型,指定要移出对象的应用库的名称,如果名称
中
未指定路径,那么该
函数
根据操作系统标准的文件搜索路径查找指定文件objectname:string类型,指定要移出对象的名称objecttype :LibExportType枚举类型,指定要移出对象的类型,具体取值请参看用法返回值String。
函数
执行成功时返回指定对象的语法,该语法与使用库管理画笔(Library Painter)移出对象时的语法相同,区别在于LibraryExport()
函数
省略了移出语法的头部。如果发生错误,则
函数
返回空字符串("")。如果任何参数的值为NULL,LibraryExport()
函数
返回NULL。 用法LibraryExport()的objecttype参数的可能取值为: ExportApplication!应用对象ExportDataWindow!数据
窗口
对象ExportFunction!
函数
对象ExportMenu!菜单对象ExportPipeline!数据管道对象ExportProject!工程对象ExportQuery!查询对象ExportStructure!结构对象ExportUserObject!用户对象ExportWindow!
窗口
对象 -------------------------------------------------------------------------------- LibraryImport() 功能将以语法格式表示的数据
窗口
对象装入指定的应用库
中
。 语法LibraryImport(libraryname,objectname,objecttype,syntax,errors{,comments } ) 参数libraryname:string类型,指定要移入对象的应用库的名称,如果名称
中
未指定路径,那么该
函数
根据操作系统标准的文件搜索路径查找指定文件objectname:string类型,指定要移入的数据
窗口
对象的名称 objecttype:LibImportType枚举类型,指定要移入对象的类型,目前该
函数
只支持ImportDataWindow!,表示只能向应用库
中
移入数据
窗口
对象syntax:string类型,指定要移入数据
窗口
对象的语法errors:string类型变量,用于在发生错误时保存出错信息comments:string类型,可选项,用于指定移入对象的注解返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,LibraryImport()
函数
返回NULL。 用法当应用程序在运行过程
中
动态创建数据
窗口
对象后,可以使用LibraryImport()
函数
把动态数据
窗口
对象的定义保存到应用库
中
,以后就可以直接使用该对象了。 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。 -------------------------------------------------------------------------------- FileWrite() 功能向指定文件
中
写数据。 语法FileWrite (fileno , variable ) 参数fileno:integer类型,指定文件句柄(由FileOpen()
函数
得到)variable:string或blob类型,其值将写入fileno参数指定的文件返回值Integer。
函数
执行成功时返回写入文件的字符或字节数,发生错误时返回-1。如果任何参数的值为NULL,那么FileWrite()
函数
返回NULL。用法FileWrite()
函数
从当前文件指针开始写入指定数据,写入之后,将文件指针调整到刚刚写入数据的下
一个
字节位置。当文件以writemode参数设置为Replace!方式打开时,文件指针最初位于文件的开头位置;当文件以writemode参数设置为Append!方式打开时,文件指针最初位于文件的结尾位置。当文件以行模式打开时,执行FileWrite()
函数
时,该
函数
自动在每次写入数据的后面加上回车换行符,并把文件指针移动到回车换行符后面。当文件以流模式打开时,FileWrite()
函数
一次最多写入32,765个字节。如果variable参数
中
数据的长度超过了32,765个字节,那么FileWrite()
函数
只向文件
中
写入前32,765个字符并返回32,765。 -------------------------------------------------------------------------------- GetFileOpenName() 功能显示打开文件对话框,让用户选择要打开的文件。 语法GetFileOpenName(title,pathname,filename{,extension{,filter}}) 参数title:string类型,指定对话框的标题pathname:string类型变量,用于保存该对话框返回的文件路径及文件名filename:string类型变量,用于保存该对话框返回的文件名extension:string类型,可选项,使用1到3个字符指定缺省的扩展文件名 filter:string类型,可选项,其值为文件名掩码,指定显示在该对话框的列表框
中
供用户选择的文件名满足的条件(比如*.*,*.TXT,*.EXE等)返回值Integer。
函数
执行成功时返回1;当用户单击了对话框上的“Cancel”按钮时
函数
返回0;发生错误时返回-1。如果任何参数的值为NULL,那么GetFileOpenName()
函数
返回NULL。 用法filter参数的格式为:description,*. ext缺省值为:"All Files (*.*),*.*"其
中
,description说明扩展名的意义,比如“所有文件”、“文本文件”等。你可以根据需要指定在打开文件对话框
中
显示的文件名类型。当需要指定多种文件类型时,各类型之间使用逗号分隔,例如:"PIF 文件, *.PIF, 批处理文件, *.BAT"需要注意的是,该
函数
只是得到
一个
文件名,而并没有打开文件,需要打开文件时,依然需要使用FileOpen()
函数
。 -------------------------------------------------------------------------------- GetFileSaveName() 功能显示保存文件对话框,让用户选择要保存到的文件。 语法GetFileSaveName(title,pathname,filename{,extension{,filter}}) 参数title:string类型,指定对话框的标题pathname:string类型变量,用于保存该对话框返回的文件路径及文件名filename:string类型变量,用于保存该对话框返回的文件名extension:string类型,可选项,使用1到3个字符指定缺省的扩展文件名filter:string类型,可选项,其值为文件名掩码,指定显示在该对话框的列表框
中
供用户选择的文件名满足的条件(比如*.*,*.TXT,*.EXE等)返回值Integer。
函数
执行成功时返回1;当用户单击了对话框上的“Cancel”按钮时
函数
返回0;发生错误时返回-1。如果任何参数的值为NULL,那么GetFileSaveName()
函数
返回NULL。 用法filter参数的格式为:description,*. ext缺省值为:"All Files (*.*),*.*"其
中
,description说明扩展名的意义,比如“所有文件”、“文本文件”等。你可以根据需要指定在打开文件对话框
中
显示的文件名类型。当需要指定多种文件类型时,各类型之间使用逗号分隔,例如:"PIF 文件, *.PIF, 批处理文件, *.BAT"需要注意的是,该
函数
只是得到
一个
文件名,而并没有打开文件,需要打开文件时,依然需要使用FileOpen()
函数
。 GetCommandDDE() 功能得到DDE客户应用发送的命令。 语法GetCommandDDE ( string ) 参数string:string类型的变量,用于保存DDE客户应用发送的命令返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果string参数的值为NULL, GetCommandDDE()
函数
返回NULL。用法当DDE客户应用向DDE服务器应用发送一条命令时,这个动作将触发DDE服务器应用活动
窗口
的RemoteExec事件,在这个事件的事件处理程序
中
,可以使用GetCommandDDE()
函数
得到DDE客户应用发送的命令。 -------------------------------------------------------------------------------- GetCommandDDEOrigin() 功能确定哪
一个
DDE客户应用向服务器发送了命令。 语法GetCommandDDEOrigin ( applstring ) 参数applstring:string变量,用于保存发送命令的DDE客户应用的名称返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果applstring参数的值为 NULL,GetCommandDDEOrigin()
函数
返回NULL。 -------------------------------------------------------------------------------- GetDataDDE() 功能得到DDE客户应用发送的数据。 语法GetDataDDE ( string ) 参数string:string类型变量,用于保存接收到的数据返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL, GetDataDDE()
函数
返回NULL。 -------------------------------------------------------------------------------- GetDataDDEOrigin()功能确定哪个DDE客户应用发送了数据。 语法GetDataDDEOrigin ( applstring, topicstring, itemstring ) 参数applstring:string类型变量,用于保存客户应用的名称topicstring:string类型变量,用于保存主题(比如,在Excel
中
,主题可以是REGION.XLS)itemstring:string类型变量,用于保存数据项标识(比如,在Excel
中
,数据项标识可能是R1C2)返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,GetDataDDEOrigin()
函数
返回NULL。 -------------------------------------------------------------------------------- RespondRemote() 功能向客户端应用指明最近的命令或数据是否已经接收。 语法RespondRemote ( boolean ) 参数boolean:其值为boolean量的逻辑表达式,TRUE表示接收先前收到的命令或数据,FALSE表示不接收先前收到的命令或数据返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果boolean参数的值为NULL,RespondRemote()
函数
返回NULL。 -------------------------------------------------------------------------------- SetDataDDE() 功能向DDE客户应用发送数据。 语法SetDataDDE ( string {, applname, topic, item } ) 参数string:指定要发送到DDE客户应用的数据applname:string类型,可选项,指定接收数据的客户应用的DDE名称topic:string类型,可选项,指定基础数据组item:string类型,可选项,指定基础数据组
中
的数据项返回值Integer。
函数
执行成功时返回1,发生错误时返回下述值之一:-1
函数
调用的环境不对-2数据未被接收如果任何参数的值为NULL,SetDataDDE()
函数
返回NULL。 -------------------------------------------------------------------------------- StartServerDDE() 功能将当前应用设置为DDE服务器。 语法StartServerDDE ( { windowname, } applname, topic {, item } ) 参数windowname:可选项,指定服务器
窗口
名,缺省值为当前
窗口
applname:当前应用的DDE名称topic:string类型,指定DDE客户应用能够引用的基本数据组item:由逗号(,)分隔的
一个
或
多个
字符串,指定服务器应用支持的数据项返回值Integer。
函数
执行成功时返回1,发生错误时返回-1,表示当前应用已经设置为DDE服务器。如果任何参数的值为NULL,StartServerDDE()
函数
返回NULL。 -------------------------------------------------------------------------------- StopServerDDE() 功能停止当前应用的DDE服务器功能。执行该
函数
后,发给该应用的任何DDE客户应用请求都将失败。 语法StopServerDDE ( { windowname, } applname, topic ) 参数windowname:可选项,指定要关闭服务器功能的服务器
窗口
名,缺省值为当前
窗口
,如果当前应用有
多个
服务器
窗口
,那么必须指定该参数applname:当前应用的DDE名称topic:string类型,应该与StartServerDDE()
中
对应参数相同返回值Integer。
函数
执行成功时返回1,发生错误时返回-1,表示当前应用未曾作为DDE服务器启动。如果任何参数的值为NULL,StopServerDDE()
函数
返回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个定时器。 RegistryDelete() 功能删除Windows系统注册库
中
的
一个
键或键的某个值。 语法RegistryDelete ( key, valuename ) 参数key:string类型,指定键名,将删除该键或删除该键的某个值valuename:string类型,指定要删除的值的名称。如果想删除键、键的值、以及其下的所有子键,那么将该参数指定为空字符串返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。用法为了唯一地标识某个键,在key参数
中
,可以从根键开始依次指定各级父键,各键之间使用反斜杠(\)分隔。 -------------------------------------------------------------------------------- RegistryGet() 功能从系统注册库
中
得到指定键的值。 语法RegistryGet ( key, valuename, valuetype, valuevariable ) 参数key:string类型,指定键名valuename:string类型,指定要访问值的名称。每个键可以有
一个
未命名的值和
多个
命名的值。要访问未命名的值,把该参数指定为空字符串("")valuetype:RegistryValueType枚举类型,指定值的数据类型。有效取值请参看用法valuevariable:用于保存键值的变量,其数据类型应该与valuetype参数指定的类型相匹配返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果valuevariable的数据类型与valuetype参数指定的类型不匹配,将引发运行错误。 用法valuetype的可能取值为:RegString!以空字符结束的字符串RegExpandString!以空字符结束的字符串,其
中
包括了对环境变量的非扩展应用RegBinary!二进制数据ReguLong!32位数据ReguLongBigEndian!32位大数据RegLink!Unicode符号链RegMultiString!动态字符串数组为了唯一地标识某个键,在key参数
中
,可以从根键开始依次指定各级父键,各键之间使用反斜杠(\)分隔。 -------------------------------------------------------------------------------- RegistryKeys() 功能从系统注册库
中
得到指定键的有效子键。 语法RegistryKeys ( key, subkeys ) 参数key:string类型,指定键名subkeys:字符串数组变量,用于保存各子键返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。用法在subkeys参数
中
可以使用定长数组,也可以使用动态数组。使用动态数组时,数组的上界反映了能够得到的子键个数。当使用定长数组时,其数组元素个数必须足够多,保证能够容纳所有子键,但是,在具体得到子键之前,没有办法能够预先知道实际子键个数。为了唯一地标识某个键,在key参数
中
,可以从根键开始依次指定各级父键,各键之间使用反斜杠(\)分隔。 -------------------------------------------------------------------------------- RegistrySet() 功能在系统注册库
中
设置或创建指定键。 语法RegistrySet ( key, valuename, valuetype, value ) 参数key:string类型,指定键名valuename:string类型,指定要访问值的名称。每个键可以有
一个
未命名的值和
多个
命名的值。要访问未命名的值,把该参数指定为空字符串("")。如果注册库
中
不存在指定值名,该
函数
将创建新的值名valuetype:RegistryValueType枚举类型,指定值的数据类型。有效取值请参看用法value:要设置的值,其数据类型应该与valuetype参数指定的类型相匹配返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果valuevariable的数据类型与valuetype参数指定的类型不匹配,将引发运行错误。用法valuetype的可能取值为:RegString!以空字符结束的字符串RegExpandString!以空字符结束的字符串,其
中
包括了对环境变量的非扩展应用RegBinary!二进制数据ReguLong!32位数据ReguLongBigEndian!32位大数据RegLink!Unicode符号链RegMultiString!动态字符串数组为了唯一地标识某个键,在key参数
中
,可以从根键开始依次指定各级父键,各键之间使用反斜杠(\)分隔。 -------------------------------------------------------------------------------- RegistryValues() 功能得到与指定键相关的一组值名。该
函数
在Windows 3.1
中
无效。 语法RegistryValues ( key, valuename ) 参数key:string类型,指定键名valuename:字符串数组变量,用于保存值名返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。用法在valuename 参数
中
可以使用定长数组,也可以使用动态数组。使用动态数组时,数组的上界反映了能够得到的值名个数。当使用定长数组时,其数组元素个数必须足够多,保证能够容纳所有值名,但是,在具体得到值名之前,没有办法能够预先知道实际值名个数。为了唯一地标识某个键,在key参数
中
,可以从根键开始依次指定各级父键,各键之间使用反斜杠(\)分隔。 Clipboard() 功能提取或替换Windows系统剪贴板的文本内容。 语法Clipboard ( { string } ) 参数string:string类型,可选项,指定要
复制
到系统剪贴板上的文本。如果剪贴板上已有内容的话,该文本将取代剪贴板的当前内容返回值String。
函数
执行成功时,如果剪贴板上包含文本数据,那么
函数
返回剪贴板的当前内容;如果剪贴板上包含非文本数据(比如位图)或不包含任何数据,那么
函数
返回空字符串("")。如果string参数的值为NULL,Clipboard()
函数
返回NULL。用法无论是否指定string参数,Clipboard()都将返回剪贴板的当前内容。当指定string参数时,剪贴板的原有内容被string参数的值取代;省略string参数时,仅仅得到剪贴板的内容。 -------------------------------------------------------------------------------- CommandParm() 功能得到应用程序运行时指定的命令参数。 语法CommandParm ( ) 返回值String。
函数
执行成功时返回应用程序运行时的命令行参数,
函数
执行错误或没有命令行参数时
函数
返回空字符串("")。用法命令行参数是应用程序启动时跟在应用程序名称后面的任何参数,比如,在运行
窗口
中
输入了下述命令:MyAppl C:\EMPLOYEE\EMPLIST.TXT那么MyAppl应用程序
中
使用CommandParm()
函数
得到的命令行参数为:C:\EMPLOYEE\EMPLIST.TXT当应用程序的命令行
中
包含几个参数时,CommandParm()
函数
作为
一个
字符串返回所有参数。利用字符串操作
函数
可以分离各参数。在应用对象的Open事件
中
没有必要执行CommandParm()
函数
。此时,Open事件的argument参数
中
包含了命令行参数。 -------------------------------------------------------------------------------- DoScript() 功能执行AppleScript程序段,该
函数
只在Macintosh平台上有效。 语法DoScript ( script, result ) 参数script:string类型,指定要运行的程序段(script)result:string类型,由AppleScript程序段返回的结果信息或出错信息返回值Integer。返回由AppleScript返回的结果代码。如果任何参数的值为NULL,DoScript()
函数
返回NULL。 -------------------------------------------------------------------------------- GetApplication() 功能得到当前应用对象的句柄,这样你可以查询或设置应用对象的属性(通常用于编写通用代码)。 语法GetApplication ( ) 返回值Application。返回当前应用对象的句柄。 -------------------------------------------------------------------------------- GetEnvironment() 功能得到操作系统、处理器、屏幕显示等与系统相关的信息。 语法GetEnvironment ( environmentinfo ) 参数environmentinfo:Environment对象名,用于保存系统环境信息返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果参数environmentinfo的值为NULL,GetEnvironment()
函数
返回NULL。用法当开发交叉平台项目时,利用GetEnvironment()
函数
,应用程序能够得到当前运行的操作系统、使用的CPU类型、操作系统的版本、屏幕的大小以及颜色数等信息,这些信息的具体表示请参阅本书环境对象(Environment Object)的介绍。 -------------------------------------------------------------------------------- GetFocus() 功能确定当前焦点位于哪个控件上。 语法GetFocus ( ) 返回值GraphicObject。
函数
执行成功时返回当前得到焦点控件的引用,发生错误时返回无效引用。用法应用程序利用IsValid()
函数
可以检测GetFocus()是否返回有效的控件引用。同时,使用TypeOf()
函数
可以确定控件的类型。 -------------------------------------------------------------------------------- Post() 功能将指定消息加入到某个
窗口
的消息队列
中
,这个
窗口
既可以是PowerBuilder应用的
窗口
,也可以是其它应用的
窗口
。 语法Post( handle, messageno, word, long ) 参数handle:long类型,指定
窗口
的系统句柄,将向该
窗口
邮寄消息messageno:UnsignedInteger类型,指定要邮寄的消息号 word:long类型,指定与消息一起邮寄的word类参数值。如果messageno参数指定的消息不使用该参数,那么将这个参数的值设置为0long:long类型或string,指定与消息一起邮寄的long型参数值或字符串返回值Boolean。如果任何参数的值为NULL,Post()
函数
返回NULL。 用法Post()
函数
用于向
窗口
发送非PowerBuilder预定义事件的消息,这个
窗口
可以是PowerBuilder应用的
窗口
,也可以是其它应用的
窗口
。Post()
函数
把发送的消息放置在指定
窗口
消息队列的尾部,然后返回到应用程序
中
,它并不等待相应事件事件处理程序的执行。这一点与Send()
函数
不同,Send()
函数
直接触发指定
窗口
相应的事件,执行事件处理程序后返回到调用应用
中
。因此,我们说Post()
函数
采用的是异步方式,Send()
函数
采用的是同步方式。Post()
函数
的参数handle指定接收消息的
窗口
句柄,对PowerBuilder
窗口
来说,使用Handle()
函数
可以得到该句柄。对其它应用程序的
窗口
来说,可以调用系统API
函数
查找
窗口
并得到相应
窗口
的句柄。如果应用程序要邮寄PowerBuilder定义事件(包括预定义事件和用户定义事件),那么使用PostEvent()
函数
既简单有方便。当应用程序在long参数位置指定
一个
字符串时,Post()
函数
复制
一个
该字符串的副本,然后将副本的地址传送给指定
窗口
。 -------------------------------------------------------------------------------- ProfileInt() 功能从初始化文件(.ini)
中
读取整型设置值。 语法ProfileInt ( filename, section, key, default ) 参数filename:string类型,指定初始化文件的名称,可以包括路径,省略路径时,该
函数
按操作系统的标准路径搜索指定文件section:string类型,指定要得到的值所在的节(Section)key:string类型,指定要得到的值的名称,不用区分大小写default:integer类型,当指定的文件、节名、项目名不存在或不能转换为整数时,
函数
返回该参数指定的值返回值Integer。
函数
执行成功时,在指定的文件、节名、项目名不存在任何错误的情况下,
函数
返回相应项的值;如果指定的文件、节名、项目名不存在或不能转换为整数时,
函数
返回default参数指定的缺省值。如果发生错误,
函数
返回-1。如果任何参数的值为NULL,ProfileInt()
函数
返回NULL。 -------------------------------------------------------------------------------- ProfileString() 功能从初始化文件(.ini)
中
读取字符串型设置值。 语法ProfileString ( filename, section, key, default ) 参数filename:string类型,指定初始化文件的名称,可以包括路径,省略路径时,该
函数
按操作系统的标准路径搜索指定文件section:string类型,指定要得到的值所在的节(Section)key:string类型,指定要得到的值的名称,不用区分大小写default:string类型,当指定的文件、节名、项目名不存在时,
函数
返回该参数指定的值返回值String。
函数
执行成功时,在指定的文件、节名、项目名不存在任何错误的情况下,
函数
返回相应项的值;如果指定的文件、节名、项目名不存在,
函数
返回default参数指定的缺省值。如果发生错误,
函数
返回空字符串。如果任何参数的值为NULL,ProfileString()
函数
返回NULL。 -------------------------------------------------------------------------------- Restart() 功能停止所有程序段的执行、关闭所有
窗口
、提交事务、断开与数据库的连接,然后重新启动应用程序。 语法Restart() 返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。 -------------------------------------------------------------------------------- Run() 功能运行指定的应用程序。 语法Run ( string {, windowstate } ) 参数string:string类型,指定要运行的应用程序的名称,其
中
可以包括路径以及相应的参数,就像在命令行
中
键入的那样windowstate:WindowState枚举类型,可选项,指定程序运行时的
窗口
状态。有效取值为:Maximized! - 最大化
窗口
;Minimized! - 最小化
窗口
;Normal! - 缺省值,正常
窗口
返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,Run()
函数
返回NULL。 用法使用Run()
函数
,应用程序能够启动操作系统
中
的任何程序。当在Run()参数
中
指定了要启动应用程序的参数时,参数的意义、格式、个数等由具体的应用程序确定。如果在Run()
函数
的string参数
中
指定了文件名但没有给出扩展名时,PowerBuilder认为该文件的扩展名为.EXE。要运行扩展名不是.EXE的应用程序(比如.BAT, .COM, 或.PIF),必须在Run()
函数
的参数
中
指定文件的扩展名。 -------------------------------------------------------------------------------- Send() 功能向
窗口
发送指定的消息并立即执行相应的事件处理程序。 语法Send( handle, messageno, word, long ) 参数handle:long类型,指定
窗口
的系统句柄,将向该
窗口
发送消息messageno:UnsignedInteger类型,指定要发送的消息号word:long类型,指定与消息一起发送的word类参数值。如果messageno参数指定的消息不使用该参数,那么将这个参数的值设置为0long:long类型或string,指定与消息一起发送的long型参数值或字符串返回值Long。
函数
执行成功时返回Windows系统调用SendMessage()的返回值,发生错误时返回-1。如果任何参数的值为NULL,Send()
函数
返回NULL。 用法Send()
函数
用于向
窗口
发送非PowerBuilder预定义事件的消息,这个
窗口
可以是PowerBuilder应用的
窗口
,也可以是其它应用的
窗口
。Send()
函数
直接触发指定
窗口
相应的事件,执行事件处理程序后返回到调用应用
中
,这一点与Post()
函数
不同,Post()
函数
把发送的消息放置在指定
窗口
消息队列的尾部,然后返回到应用程序
中
,它并不等待相应事件事件处理程序的执行。因此,我们说Post()
函数
采用的是异步方式,Send()
函数
采用的是同步方式。Send()
函数
的参数handle指定接收消息的
窗口
句柄,对PowerBuilder
窗口
来说,使用Handle()
函数
可以得到该句柄。对其它应用程序的
窗口
来说,可以调用系统API
函数
查找
窗口
并得到相应
窗口
的句柄。实际上,Send()
函数
把它的各个参数直接传送给Windows的系统调用SendMessage()。在各种C++开发工具的WINDOWS.H文件
中
可以查到各消息编号。如果应用程序要发送PowerBuilder定义事件(包括预定义事件和用户定义事件),那么使用TriggerEvent()
函数
既简单有方便。当应用程序在long参数位置指定
一个
字符串时,Send()
函数
复制
一个
该字符串的副本,然后将副本的地址传送给指定
窗口
。 -------------------------------------------------------------------------------- SetProfileString() 功能设置初始化文件
中
指定项的值。 语法SetProfileString ( filename, section, key, value ) 参数filename:string类型,指定初始化文件的名称,可以包括路径,省略路径时,该
函数
按操作系统的标准路径搜索指定文件section:string类型,指定要设置的值所在的节(Section)key:string类型,指定要设置的值的名称,不用区分大小写default:string类型,指定要设置项的值返回值Integer。
函数
执行成功时返回1,指定的文件未找到或指定的文件不能访问时
函数
返回-1。如果任何参数的值为NULL,SetProfileString()
函数
返回NULL。 -------------------------------------------------------------------------------- ShowHelp() 功能显示应用程序帮助,该帮助使用Microsoft Windows帮助系统进行操作。 语法ShowHelp ( helpfile, helpcommand {, typeid } ) 参数helpfile:string类型,指定帮助文件的名称helpcommand:HelpCommand枚举类型,指定显示帮助的格式。有效取值为:Index! - 显示目录主题,使用该值时不要指定typeid参数;Keyword! - 转移到由指定关键字确定的主题;Topic! - 显示指定主题的帮助typeid:可选项,指定帮助主题返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,ShowHelp()
函数
返回NULL。 -------------------------------------------------------------------------------- SignalError() 功能触发应用对象的SystemError事件,通常用于代码调试。 语法SignalError ( { number }, { text } ) 参数number:integer类型,可选项,其值将保存到Error对象的number属性
中
text:string类型,可选项,其值将保存到Error对象的text属性
中
返回值Integer。
函数
执行成功时返回1,发生错误时返回-1。 -------------------------------------------------------------------------------- Yield() 功能将控制权转移给其它图形对象,包括非PowerBuilder对象。该
函数
检测消息队列,如果有消息,就把消息取出。利用该
函数
可以在执行耗时较长的操作时把控制权转让给其它应用。 语法Yield() 返回值Boolean。如果在消息队列
中
提取到了消息,那么
函数
返回TRUE,否则返回FALSE。用法正常情况下,PowerBuilder应用程序在执行一段代码(比如
函数
或事件处理程序)的过程
中
不响应用户的操作。对耗时短暂的代码段来说,这种处理方式没有什么不妥的地方,但是,如果某个代码段的执行耗时较长,应用程序又希望为用户提供更多的控制权,那么需要在这段代码
中
插入Yield()
函数
,让用户能够进行其它操作,特别在循环执行的代码
中
更应该如此。应用程序执行Fill() 功能建立
一个
由指定字符串填充的指定长度的字符串。 语法Fill ( chars, n ) 参数chars:string类型,指定用于重复填充的字符串n:long类型,指定由该
函数
返回的字符串的长度返回值String。
函数
执行成功时返回n个字符的字符串,该字符串以参数chars
中
的字符串重复填充而成。如果参数chars
中
的字符个数多于n个,那么使用chars字符串的前n个字符填充
函数
返回的字符串;如果参数chars
中
的字符个数少于n个,那么使用chars字符串反复填充,直到返回的字符串长度达到n为止。如果任何参数的值为NULL,Fill()
函数
返回NULL。 -------------------------------------------------------------------------------- Left() 功能得到字符串左部指定个数的字符。 语法Left ( string, n ) 参数string:string类型,指定要提取子串的字符串n:long类型,指定子串长度返回值String。
函数
执行成功时返回string字符串左边n个字符,发生错误时返回空字符串("")。如果任何参数的值为NULL,Left()
函数
返回NULL。如果n的值大于string字符串的长度,那么Left()
函数
返回整个string字符串,但并不增加其它字符。 -------------------------------------------------------------------------------- LeftTrim() 功能返回指定字符串删除了左部空格后的字符串。 语法LeftTrim ( string ) 参数string:string类型,指定要删除左部空格的字符串返回值String。
函数
执行成功时返回删除了string字符串左部空格的字符串,发生错误时返回空字符串("")。如果任何参数的值为NULL,LeftTrim()
函数
返回NULL。 -------------------------------------------------------------------------------- Len() 功能得到字符串的长度。 语法Len (string) 参数string:string类型变量返回值Long。
函数
执行成功时返回字符串的长度,发生错误时返回-1。如果任何参数的值为NULL,则Len()
函数
返回NULL。 -------------------------------------------------------------------------------- Lower() 功能将字符串
中
的大写字母转换为小写字母。 语法Lower ( string ) 参数string:要将其
中
的大写字母转换为小写字母的字符串返回值String。
函数
执行成功时返回将大写字母转换为小写字母后的字符串,发生错误时返回空字符串("")。如果string参数的值为NULL,Lower()
函数
返回NULL。 -------------------------------------------------------------------------------- Match() 功能确定字符串
中
是否包含指定模式的字符。 语法Match ( string, textpattern ) 参数string:string类型,指定要检查是否匹配指定模式的字符串textpattern:string类型,指定文本匹配模式返回值Boolean:如果字符串string与模式textpattern相匹配,则
函数
返回TRUE,否则返回FALSE。如果指定的匹配模式无效或上述两个参数
中
的任何
一个
未曾赋值,那么Match()
函数
返回FALSE。如果任何参数的值为NULL,Match()
函数
返回NULL。 用法textpattern参数的写法与正则表达式十分相似,它由元字符和普通字符组成。每个元字符都有不同的匹配含义,普通字符则与其自身相匹配。下面是匹配模式
中
使用的元字符及其意义: ^指示字符串的开始,例如,^asd表示以asd开头的字符串,字符串asdfgh与模式^asd匹配,而字符串basdfg与模式^asd不匹配。 $指示字符串的结束,例如,red$表示所有以red结束的字符串均与该模式匹配,而redo与模式red$不匹配。 .匹配任意单个字符,例如,^&&$匹配任何六个字符组成的字符串。 []匹配括号
中
列出的字符,例如,^[ABC]$匹配由
一个
字符组成的字符串,其值只能是A或B或C。 -与方括号一起,指定匹配字符的范围,例如,^[A-Z]$只匹配那些由
一个
大写字母组成的字符串。方括号里还可以使用^字符,表示匹配不在指定范围内的任何字符,例如,[^0-9]匹配除数字外的任何字符。 *,+,?这些符号跟在
一个
字符后面表示该字符可以出现的次数。星号(*)表示可以出现0次或任意次;加号(+)表示可以出现多次,但至少出现一次;问号(?)表示出现0次或一次。例如,A*匹配0个或
多个
A(没有A、A、AA、AAA、AAAA、**);A+匹配1个或
多个
A(A、AA、AAA、AAAA、**);A?匹配空串或1个A。 \斜杠(\)是转义字符,它去掉特殊字符的特殊含义,比如,模式\$匹配字符$,模式\\匹配字符\。 -------------------------------------------------------------------------------- Mid() 功能取字符串的子串。 语法Mid ( string, start {, length } ) 参数string:string类型,指定要从
中
提取子串的字符串start:long类型,指定子串第
一个
字符在string字符串
中
的位置,第
一个
位置为1length:long类型,可选项,指定子串的长度返回值String。
函数
执行成功时返回string字符串
中
从start位置开始、长度为length的子串。如果start参数的值大于string
中
字符个数,那么Mid()
函数
返回空字符串。如果省略了length参数或length参数的值大于从start开始、string字符串
中
余下字符的长度,那
PBhelper/PBCOMMENT 支持PB11.5,带源码,说明书等,版权归李群巍所有
注:本人只是在TRUEWAY的基础上升级到支付PB11.5上,所有版权归TRUEWAY(TM) 李群巍所有。 ------------------------ 关于PBHelper(PBCOMMENT)这个软件,最新版本 1.0.2 PBHelper的前身是 PBCOMMENT 7.0。 ================================================================ 版权所有 (c) 1999-2000 RC Sizer 保留所有版权。 版权所有 (c) 2003-2006 Welkin 保留所有版权。 版权所有 (c) 2002-2006 TRUEWAY(TM) 保留所有版权。 注册商标 TRUEWAY(TM) 为李群巍所写程序专用。 PBHelper以前的名字叫 PBCOMMENT。 PBHelper(PBCOMMENT)是
一个
专门为PB程序员设计的综合性编程 助手工具。她能帮助PB程序员自动生成PB脚本代码注释、自动缩进美化 代码、自动完成代码、大小写转换,实现不同数据库类型之间的SQL语句 转换等功能。 PBHelper支持PowerBuilder 6.x/7.0/8.0/9.0/10.0/10.5/11.0。 关于此软件的英文详细说明,请阅读《readme.txt》。 联系方法: E-Mail: truewaylee@163.com, wolcen@sohu.com MSN: truewaylee@hotmail.com 软件包下载地址: http://gforge.osdn.net.cn/projects/pbhelper/ PBHelper(PBCOMMENT)的来历 ================================================================ PBHelper起初的代码参考了国外
一个
著名的 PBCOMMENT 软件。国外 的这个 PBCOMMENT 对 PB 6.0/6.5 和 PB 7.0 分别做了实现。初期的 版本主要用于自动生成
函数
、对象、DW内部代码的注释。后来,本人 对该软件核心代码做了重写工作,且在
一个
版本的 PBCOMMENT 里面 提供了对不同版本PB的支持。 从 PBCOMMENT 3.0 开始,在后续的版本
中
,加入了代码自动整理 (Indent)、自动完成(插入DW编码模板)、自动删除(根据某个标记) 自动删除某个标记前面的或者后面的代码,从DW自动生成DW字段赋值语句、 从DW生成结构体等的辅助功能。从这些功能的增加来看,PBCOMMENT 已 不再是 COMMENT 的工具。有鉴于此,从 PBCOMMENT 7.0 以后软件名字 更改为 PBHelper。因为 PBHelper 不再仅仅关注于注释方面,而向功能 综合化、多样性方面发展。 PBHelper(PBCOMMENT)重要版本更新 ================================================================ 开始版本号 新增功能 ---------------------------------------------------------------- PBCOMMENT >>>>>>>>>> 5.2 可以处理 *.sr* 类型的文件的整理处理 将对象、
窗口
、
函数
等代码先 Export 成文本文件,在PB
中
用编辑文本文件的形式打开,然后象其他脚本一样 Indent 5.2 新增自动将工具集成到 PB 开发环境
中
的功能 目前支持的版本是 PB 6.0/6.5, PB 9.0 5.3 新增自动在某个代码段加每行代码的相同的前缀或者相同的后缀 这个在我们日常生活
中
经常要用到的 5.31 新增自动根据字段列表,变量列表,datawindow 赋值语句列表, 自动生成 datawindow 之间
复制
数据的代码 自动生成 结构体变量 和 datawindow 之间的赋值代码 自动生成 变量列表 和 datawindow 之间的赋值代码 具体可看 《pbcomment自动写代码.doc》的说明 5.31 新增双语言显示 pbcomment.ini 文件
中
, language = 0 表示简体
中
文 = 1 表示英文 自动集成PBCOMMENT到PB开发环境,现在支持所有的PB版本(6.0-9.0) 新增自动删除每行代码前面和后面以某个字符串为标记,在此 标记之前和之后的代码语句,类似于 Trim, LeftTrim, RightTrim 5.5 新增 PBDataWindow.exe,处理从
PBL
里选择 DataWindow 自动 生成和结构体、变量,别的 DataWindow 交换数据的脚本语句 修改了
函数
和事件的注释风格,在 PB 6.0/6.5 里面,区分
函数
和事件 5.5 Plus 新增在 PB 7.0/8.0/9.0 里面,区分
函数
和事件 新增用户自定义
函数
gf_Format_Comment 如果需要修改注释风格 只需要修改这个
函数
即可,减少复杂度 6.0 修正了一些在美化代码方面处理的错误 新增支持 PB 10.0(在 PB 10.0 beta 2 上测试通过) 新增支持自动判断当前 PB 开发环境的版本号,解决几个版本 的 PB 同时打开时自动处理当前 PB 开发环境的判断问题。 (以前的程序若同时打开几个 PB,自动处理最高版本的开发环境, 不能同时处理几个 PB 开发环境。) (注意:本次程序升级后,需要重新执行“美化”-“集成到PB”菜单, 然后重新启动 PB 开发环境。) 支持 XP 界面风格 6.1 修正了一些处理自动集成PBCOMMENT到PB里面的错误 修正在 PB 8.0 or later
中
处理 *.sr* 文件整个美化代码的错误 新增支持
函数
注释区别不同语言版本 7.0 新增支持 DataWindow SQL 语句画板
中
对 SQL 语句的大小写转换、 代码优化等。可以帮助大家校正在例如 SYBASE 等数据库对字段 名大小写敏感需要批量修改的 SQL 语句。 新增支持有关 DataWindow 与结构体、变量之间的赋值、获得数据等 操作的 PB 脚本自动生成。在字段特别多的情况下,比较实用。 PBHelper >>>>>>>>>> 0.8 软件名字从 PBCOMMENT 改名为 PBHelper 支持PB 10.5 beta 1 并通过测试 0.8.1 修正了不能保存自动美化选项的参数问题,参数改了后,第二次 进去的时候,自动恢复到默认值。这是错误的。 0.8.2 修正了在双引号、单引号
中
有 // 的处理错误 新增支持 "TRY...CATCH...FINALLY...END TRY" 句型的代码美化 新增
函数
注释模板支持,用于可定义模板 template0.txt 是选择 PBHelper 语言环境为
中
文时的模板 template1.txt 是选择 PBHelper 语言环境为英文时的模板 模板文件可直接用记事本打开修改 0.8.3 新增支持 PB 10.5 beta 2 修正了处理 “loops = flen/32765” 语句导致的一缩进不正确 修正在 PB7.0以上的版本上都存在的判断
函数
/事件不正确的错误 代码注释开始使用
中
文,以便 PBHelper 爱好者阅读 0.8.4 使用
中
文重写重要模块的注释,方便阅读 修正了一些词法分析上的错误 整理内部实现,废弃了部分内部
函数
,并重新在PB的各个版本上做测试 修正一些情况在提取
函数
信息上的错误 新增支持 PB 11.0 beta 1 0.8.5 解决含
中
文变量的脚本代码美化代码时会出现删除
中
文变量的问题 1.0.0 所有代码进行整理,应用也进行重新设计 原来配置文件pbcomment.ini和文本模板文件合并到pbhelper.ini 界面采用了新的风格,使用任务栏菜单形式,配置选项、DW自动化 处理等界面都作了重新设计,实现新的使用体验 1.0.1 修正在PB7.0以上的版本集成工具条出现两个“单步注释”结点 修正在未安装PB6.x的机器上运行程序
中
设置参数功能出现错误 1.0.2 修正各类注释模版不能保存的问题 在About
窗口
上增加单击可直接进入写邮件和URL地址 增加单步注释模版支持,取消设置注释分割线长度的做法 使用方法 ================================================================ 有两种使用方法: 1、任务栏程序方式运行 鼠标双击运行pbhelper.exe。PBHelper将以任务栏程序的形式运行。单击图标 弹出菜单,接着可进行相关操作。 2、集成到PB开发环境(推荐方式) 运行 pbhelper.exe 后,执行菜单“系统”-“智能集成”,可帮助你自动集成 PBHelper 到 PB 开发环境形成工具条,比操作 pbhelper.exe 菜单更方便。 3、注意点:在使用“部分注释”时候,正常情况是修改状态下注释,按住 Ctrl键时是增加状态下注释,按住Shift键时是删除状态下注释。 4、建议使用应用进行参数设置,不直接修改pbhelper.ini 5、PBHelper不需要卸载老的版本,但下载新的安装包后需重新做集成到PB的操作。
PowerBuilder
1,075
社区成员
66,437
社区内容
发帖
与我相关
我的任务
PowerBuilder
PowerBuilder 相关问题讨论
复制链接
扫一扫
分享
社区描述
PowerBuilder 相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章