PowerBuilder函数使用手册.docx
《PowerBuilder函数使用手册.docx》由会员分享,可在线阅读,更多相关《PowerBuilder函数使用手册.docx(51页珍藏版)》请在冰豆网上搜索。
PowerBuilder函数使用手册
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。
用法当系统中安装了多种打印机时,在Windows95中PrintSetup(函数打开如图2-1所示的对话框,单击“Setup”按钮设置打印机各种特性。
如果系统中只有一个打印机,则直接打开该打印机的打印设置对话框。
需要注意的是,在Windows95和WindowsNT3.51以后的版本中,使用PrintSetup(函数设置的打印机设置只对当前应用起作用,并不影响其它应用的打印机设置。
对Windows3.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开发环境中使用库管理画笔(LibraryPainter)来实现了。
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。
函数执行成功时返回指定对象的语法,该语法与使用库管理画笔(LibraryPainter)移出对象时的语法相同,区别在于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(